From 4922bb95659af7a9c645c37e6665119518189271 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sat, 7 Feb 2026 19:41:06 -0800 Subject: [PATCH 01/30] EVN: feat: beta APWorld for EVNova implementation of locations (missions) and items (ships) --- worlds/evn/__init__.py | 14 + worlds/evn/archipelago.json | 6 + worlds/evn/components.py | 51 + worlds/evn/docs/setup_en.md | 231 + worlds/evn/items.py | 322 + worlds/evn/locations.py | 213 + worlds/evn/options.py | 153 + worlds/evn/patchfile.py | 33 + worlds/evn/regions.py | 132 + worlds/evn/rezdata/chars.py | 122 + worlds/evn/rezdata/misns.py | 45214 ++++++++++++++++++++++++++++++++++ worlds/evn/rezdata/ships.py | 28142 +++++++++++++++++++++ worlds/evn/rules.py | 153 + worlds/evn/web_world.py | 50 + worlds/evn/world.py | 209 + 15 files changed, 75045 insertions(+) create mode 100644 worlds/evn/__init__.py create mode 100644 worlds/evn/archipelago.json create mode 100644 worlds/evn/components.py create mode 100644 worlds/evn/docs/setup_en.md create mode 100644 worlds/evn/items.py create mode 100644 worlds/evn/locations.py create mode 100644 worlds/evn/options.py create mode 100644 worlds/evn/patchfile.py create mode 100644 worlds/evn/regions.py create mode 100644 worlds/evn/rezdata/chars.py create mode 100644 worlds/evn/rezdata/misns.py create mode 100644 worlds/evn/rezdata/ships.py create mode 100644 worlds/evn/rules.py create mode 100644 worlds/evn/web_world.py create mode 100644 worlds/evn/world.py diff --git a/worlds/evn/__init__.py b/worlds/evn/__init__.py new file mode 100644 index 000000000000..82abbc29463d --- /dev/null +++ b/worlds/evn/__init__.py @@ -0,0 +1,14 @@ +# The first thing you should make for your world is an archipelago.json manifest file. +# You can reference APQuest's, but you should change the "game" field (obviously), +# and you should also change the "minimum_ap_version" - probably to the current value of Utils.__version__. + +# Apart from the regular apworld code that allows generating multiworld seeds with your game, +# your apworld might have other "components" that should be launchable from the Archipelago Launcher. +# You can ignore this for now. If you are specifically interested in components, you can read components.py. +# from . import components as components + +# The main thing we do in our __init__.py is importing our world class from our world.py to initialize it. +# Obviously, this world class needs to exist first. For this, read world.py. +from .world import EVNWorld as EVNWorld + +#GAME_NAME = "EV Nova" # honestly driving me nuts that I have to redefine this in multiple files. \ No newline at end of file diff --git a/worlds/evn/archipelago.json b/worlds/evn/archipelago.json new file mode 100644 index 000000000000..b542a8abe648 --- /dev/null +++ b/worlds/evn/archipelago.json @@ -0,0 +1,6 @@ +{ + "game": "EV Nova", + "minimum_ap_version": "0.6.4", + "world_version": "0.0.1", + "authors": ["Dorrulf"] +} diff --git a/worlds/evn/components.py b/worlds/evn/components.py new file mode 100644 index 000000000000..b42dd2874281 --- /dev/null +++ b/worlds/evn/components.py @@ -0,0 +1,51 @@ +# from worlds.LauncherComponents import Component, Type, components, launch + + +# # The most common type of component is a client, but there are other components, such as sprite/palette adjusters. +# # (Note: Some worlds distribute their clients as separate, standalone programs, +# # while others include them in the apworld itself. Standalone clients are not an apworld component, +# # although you could make a component that e.g. auto-installs and launches the standalone client for the user.) +# # APQuest has a Python client inside the apworld that contains the entire game. This is a component. +# # APQuest will not teach you how to make a client or any other type of component. +# # However, let's quickly talk about how you register a component to be launchable from the Archipelago Launcher. +# # First, you'll need a function that takes a list of args (e.g. from the command line) that launches your component. +# def run_client(*args: str) -> None: +# # Ideally, you should lazily import your component code so that it doesn't have to be loaded until necessary. +# from .client.launch import launch_ap_quest_client + +# # Also, if your component has its own lifecycle, like if it is its own window that can be interacted with, +# # you should use the LauncherComponents.launch helper (which itself calls launch_subprocess). +# # This will create a subprocess for your component, launching it in a separate window from the Archipelago Launcher. +# launch(launch_ap_quest_client, name="APQuest Client", args=args) + + +# # You then add this function as a component by appending a Component instance to LauncherComponents.components. +# # Now, it will show up in the Launcher with its display name, +# # and when the user clicks on the "Open" button, your function will be run. +# components.append( +# Component( +# "APQuest Client", +# func=run_client, +# game_name="APQuest", +# component_type=Type.CLIENT, +# supports_uri=True, +# ) +# ) + +# # There are two optional parameters that are worth drawing attention to here: "game_name" and "supports_uri". +# # As you might know, on a room page on WebHost, clicking a slot name opens your locally installed Launcher +# # and asks you if you want to open a Text Client. +# # If you have "game_name" set on your Component, your user also gets the option to open that instead. +# # Furthermore, if you have "supports_uri" set to True, your Component will be passed a uri as an arg. +# # This uri contains the room url + port, the slot name, and the password. +# # You can process this uri arg to automatically connect the user to their slot without having to type anything. + +# # As you can see above, the APQuest client has both of these parameters set. +# # This means a user can click on the slot name of an APQuest slot on WebHost, +# # then click "APQuest Client" instead of "Text Client" in the Launcher popup, and after a few seconds, +# # they will be connected and playing the game without having to touch their keyboard once. + +# # Since a Component is just Python code, this doesn't just work with CommonClient-derived clients. +# # You could forward this uri arg to your standalone C++/Java/.NET/whatever client as well, +# # meaning just about every client can support this "Click on slot name -> Everything happens automatically" action. +# # The author would like to see more clients be aware of this feature and try to support it. diff --git a/worlds/evn/docs/setup_en.md b/worlds/evn/docs/setup_en.md new file mode 100644 index 000000000000..cbe66d4c7631 --- /dev/null +++ b/worlds/evn/docs/setup_en.md @@ -0,0 +1,231 @@ +# Archipelago Setup Guide + +This guide is intended to provide an overview of how to: +- Install, set up, and run the Archipelago multiworld software +- Generate and host multiworlds +- Connect to the multiworld after hosting has begun + +This is a general overview. For more specific steps, reference the relevant game's [setup guide](/tutorial). + +Some steps also assume use of Windows, so may vary with your OS. + +## Installing the Archipelago software + +The most recent public release of Archipelago can be found on GitHub: +[Archipelago Latest Release](https://github.com/ArchipelagoMW/Archipelago/releases/latest). + +Run the exe file, and after accepting the license agreement you will be asked which components you would like to +install. + +Archipelago installations are automatically bundled with some programs. These include a launcher, a generator, a +server and some clients. + +- The launcher lets you quickly access Archipelago's different components and programs. It is found under the name + `ArchipelagoLauncher` and can be found in the main directory of your Archipelago installation. + +- The generator allows you to generate multiworld games on your computer. Please refer to the 'Generating a game' + section of this guide for more information about it. + +- The server will allow you to host the multiworld on your machine. Hosting on your machine requires forwarding the port +you are hosting on. The default port for Archipelago is `38281`. If you are unsure how to do this there are plenty of +other guides on the internet that will be more suited to your hardware. + +- The clients are what are used to connect your game to the multiworld. Some games use a client that is automatically +installed with an Archipelago installation. You can access those clients via the launcher or by navigating +to your Archipelago installation. + +## Generating a game + +### What is a YAML? + +YAML is the file format which Archipelago uses in order to configure a player's world. It allows you to dictate which +game you will be playing as well as the options you would like for that game. + +YAML is a format very similar to JSON however it is made to be more human-readable. If you are ever unsure of the +validity of your YAML file you may check the file by uploading it to the check page on the Archipelago website: +[YAML Validation Page](/check) + +### Creating a YAML + +YAML files may be generated on the Archipelago website by visiting the [games page](/games) and clicking the +"Options Page" link under the relevant game. Clicking "Export Options" in a game's options page will download the +YAML to your system. + +Alternatively, you can run `ArchipelagoLauncher.exe` and click on `Generate Template Options` to create a set of template +YAMLs for each game in your Archipelago install (including for APWorlds). These will be placed in your `Players/Templates` folder. + +In a multiworld there must be one YAML per world. Any number of players can play on each world using either the game's +native coop system or using Archipelago's coop support. Each world will hold one slot in the multiworld and will have a +slot name and, if the relevant game requires it, files to associate it with that multiworld. + +If multiple people plan to play in one world cooperatively then they will only need one YAML for their coop world. If +each player is planning on playing their own game then they will each need a YAML. + +### Generating a single player game + +#### On the website + +The easiest way to get started playing an Archipelago generated game, after following the base setup from the game's +setup guide, is to find the game on the [Archipelago Games List](/games), click on `Options Page`, set the options for +how you want to play, and click `Generate Game` at the bottom of the page. This will create a page for the seed, from +which you can create a room, and then [connect](#connecting-to-an-archipelago-server). + +If you have downloaded the options, or have created an options file manually, this file can be uploaded on the +[Generation Page](/generate) where you can also set any specific hosting settings. + +#### On your local installation + +To generate a game on your local machine, make sure to install the Archipelago software. Navigate to your Archipelago +installation (usually C:\ProgramData\Archipelago), and place the options file you have either created or downloaded +from the website in the `Players` folder. + +Run `ArchipelagoGenerate.exe`, or click on `Generate` in the launcher, and it will inform you whether the generation +was successful or not. If successful, there will be an output zip in the `output` folder +(usually named something like `AP_XXXXX.zip`). This will contain all relevant information to the session, including the +spoiler log, if one was generated. + +Please note that some games require you to own their ROM files to generate with them as they are needed to generate the +relevant patch files. When you generate with a ROM game for the first time, you will be asked to locate its base ROM file. +This step only needs to be done once. + +### Generating a multiplayer game + +Archipelago is a multi-game multiworld architecture, so any number of players and any number of games may be used to +generate. Of note, the website currently has a maximum generated player count of 30. If you would like to generate a game +larger than that, it must be done on a local installation. Generally, it is better to generate locally to free server +resources, and host the resulting multiworld on the website. + +#### Gather All Player YAMLs + +All players that wish to play in the generated multiworld must have a YAML file which contains the options that they +wish to play with. One person should gather all files from all participants in the generated multiworld. It is possible +for a single player to have multiple games, or even multiple slots of a single game, but each YAML must have a unique +player name. + +#### On the website + +Gather all player YAML files into a single place, then navigate to the [Generate Page](/generate). Select the host settings +you would like, click on `Upload File(s)`, and select all player YAML files. The site also accepts `zip` archives containing YAML +files. + +After some time, you will be redirected to a seed info page that will display the generated seed, the time it was +created, the number of players, the spoiler (if one was created) and all rooms created from this seed. + + +#### On your local installation + +It is possible to generate the multiworld locally, using a local Archipelago installation. This is done by entering the +Archipelago installation folder (usually C:\ProgramData\Archipelago) and placing each YAML file in the `Players` folder. +If the folder does not exist then it must be created manually. The files here should not be compressed. + +After filling the `Players` folder, run`ArchipelagoGenerate.exe` or click `Generate` in the launcher. The output of +the generation is placed in the `output` folder (usually named something like `AP_XXXXX.zip`). + +Please note that if any player in the game you want to generate plays a game that needs a ROM file to generate, you will +need the corresponding ROM files. + +##### Changing local host settings for generation + +Sometimes there are various settings that you may want to change before rolling a seed such as enabling race mode, +auto-release, plando support, or setting a password. + +All of these settings, plus more, can be changed by modifying the `host.yaml` file in the Archipelago +installation folder. You can quickly access this file by clicking on `Open host.yaml` in the launcher. The settings +chosen here are baked into the `.archipelago` file that gets output with the other files after generation, so if you +are rolling locally, ensure this file is edited to your liking **before** rolling the seed. This file is overwritten +when running the Archipelago Installation software. If you have changed settings in this file, and would like to retain +them, you may rename the file to `options.yaml`. + +### Playing with custom worlds + +If you are generating locally, you can play with worlds that are not included in the Archipelago installation. +These worlds are packaged as `.apworld` files. To add a world to your installation, click the "Install APWorld" button +in the launcher and select the `.apworld` file you wish to install. Alternatively, you can drag the `.apworld` file +onto the launcher or double-click the file itself (if on Windows). Once the world is installed, it will function like +the worlds that are already packaged with Archipelago. Also note that while generation with custom worlds must be done +locally, these games can then be uploaded to the website for hosting and played as normal. + +We strongly recommend that you ensure the source of the `.apworld` is safe and trustworthy before playing with a +custom world. Installed APWorlds are able to run custom code on your computer whenever you open Archipelago. + +#### Alternate versions of included worlds + +If you want to play with an alternate version of a game that is already included in Archipelago, you should also +remove the original APWorld after completing the above installation. To do so, go to your Archipelago installation +folder and navigate to the `lib/worlds` directory. Then move the `.apworld` or the folder corresponding to the game you +want to play an alternate version of to somewhere else as a backup. If you want to play this original again, then +restore the original version to `lib/worlds` and remove the alternate version, which is in the `custom_worlds` folder. + +Note: Currently, this cannot be done on the Linux AppImage release. + +## Hosting an Archipelago Server + +When a multiworld seed is generated, the multidata will be output as a `.archipelago`. If the game was generated locally, +a compressed folder will be in `/output` and will contain the `.archipelago`, the spoiler log, and any relevant files +for the generated games. + +### Hosting on the website + +After a seed page has been created on the website, clicking on `Create Room` will create a new server instance, and a +page that can be linked to the other players, so they can all see the connection info, obtain their data files, and +connect to the multiworld. Simply click on the url in the title bar, copy the link, and send it to your friends. Room +servers will shut down after 2 hours of inactivity, saving the multiworld progress. By returning to the room page, the +room server can be started back up, and the multiworld can continue to be played. If the link to the room is lost, the +creator of the room can find it on their [User Content Page](/user-content). The person who created the room becomes the +"owner" of the room, and as such has access to the server console. Clearing cookies will remove access to this console, +and there is no way to regain it. If a server password was set when generating the multiworld game, server admin +privileges may be gained by entering `!admin ` from the `ArchipelagoTextClient.exe`. + +#### The room page + +![Screenshot of Room Page](example_room.png) +1. Server/Host Name +2. Port +3. Slot Name +4. Download link for data files +5. Link to tracker page for this player + +#### From a website generated game + +After generating a game on the website, you will be redirected to the seed page. To begin playing click on `Create Room` +to create a new room page and server for your game. + +#### From a locally generated game + +After generating a game, a compressed folder will be output to the `/output` folder. Go to the +[Archipelago Host Game Page](/uploads), click on `Upload File`, navigate to your Archipelago installation, and select +the generated folder. This will create a new seed page using the information from this folder. + +### Hosting on a local machine + +The `.archipelago` file may be extracted from the compressed file. Double-clicking the file will then open +`ArchipelagoServer.exe` in order to host the multiworld on the local machine. Alternatively, running +`ArchipelagoServer.exe` and pointing the resulting file selection prompt to the `.archipelago` file or the generated +compressed folder will begin hosting. + +## Connecting to an Archipelago Server + +The actual method of connection will vary depending on the game, so follow that game's setup guide, but all games will +use the same general connection info noted here. + +### Connection Info + +For connecting from the game to the server, the connection info is needed for any of the game clients. Games that use +data files will usually contain the connection info within these files, when hosted on the Archipelago website. If the +information needs to be entered manually, it is usually comprised of four different sections. + +* `Server`, `Server Name` or `Host Name` are all used interchangeably as the domain or IP address of the server. If the +game is being hosted on the main Archipelago website this will be `archipelago.gg`. If the game is being hosted on your +own local machine `localhost` will work. If the game is being hosted on another person's computer then you enter that +person's public IP address. +* `Port` is which port on the domain or IP address the game is being hosted on. On the website room pages, this is +displayed as `archipelago.gg:`. Most clients will accept that information being entered directly as is. If the +information needs to be entered separately, then the port is the sequence of numbers after the `:`, and the `:` does +not need to be entered. If a game is being hosted from the `ArchipelagoServer.exe`, this will default to `38281` but may +be changed in the `host.yaml`. +* `Slot Name` is the name of your player slot that you are connecting to. This is the same as the name that was set +when creating your [YAML file](#creating-a-yaml). If the game is hosted on the website, this is also displayed on the +room page. The name is case-sensitive. +* `Password` is the password set by the host in order to join the multiworld. By default, this will be empty and is almost +never required, but one can be set when generating the game. Generally, leave this field blank when it exists, +unless you know that a password was set, and what that password is. diff --git a/worlds/evn/items.py b/worlds/evn/items.py new file mode 100644 index 000000000000..7c9317ae753e --- /dev/null +++ b/worlds/evn/items.py @@ -0,0 +1,322 @@ +from __future__ import annotations + +from typing import TYPE_CHECKING, Dict, TypedDict + +from flask_caching import logger + +from BaseClasses import Item, ItemClassification +from . import rules + +from .rezdata import ships + +if TYPE_CHECKING: + from .world import EVNWorld + +GAME_NAME = "EV Nova" + +STRING_COMPLETE_BIT = 9500 + +CREDIT_IDS = { + "Credits1": 9900, + "Credits5": 9901, + "Credits10": 9902, + "Credits50": 9903, + "Credits100": 9904, + "Credits500": 9905, +} + +# # Every item must have a unique integer ID associated with it. +# # We will have a lookup from item name to ID here that, in world.py, we will import and bind to the world class. +# # Even if an item doesn't exist on specific options, it must be present in this lookup. +# ITEM_NAME_TO_ID = { +# "Credits": 100, +# "Starbridge": 130, +# "Fed Patrol Boat": 142, +# } + +# # Items should have a defined default classification. +# # In our case, we will make a dictionary from item name to classification. +# DEFAULT_ITEM_CLASSIFICATIONS = { +# # "Key": ItemClassification.progression, +# # "Sword": ItemClassification.progression | ItemClassification.useful, # Items can have multiple classifications. +# # "Shield": ItemClassification.progression, +# # "Hammer": ItemClassification.progression, +# # "Health Upgrade": ItemClassification.useful, +# # "Confetti Cannon": ItemClassification.filler, +# # "Math Trap": ItemClassification.trap, +# "Credits": ItemClassification.filler, +# "Fed Patrol Boat": ItemClassification.useful, +# "Starbridge": ItemClassification.progression, +# } + +type_offset: Dict[str, int] = { + "Credits": 9900, # Special case! These won't actually be set - the client will check for these ids and make its own adjustment. + "ship": 1550, # 1550 - 1999 will be ships. We have 450 ships, so this should be safe. +} + +# the int key will be our control bit used by the client to identify the item +ev_item_bank: Dict[int, EVNItem] = {} + +item_name_to_id: Dict[str, int] = {} +#item_name_to_id: Dict[str, int] = {data.name: item_id for item_id, data in ev_item_bank.items()} + +# Each Item instance must correctly report the "game" it belongs to. +# To make this simple, it is common practice to subclass the basic Item class and override the "game" field. +class EVNItem(Item): + #game = EVNWorld.game + game = GAME_NAME + #bid = int # bit ID value. The control bit ID the client will use to unlock the item. + # game: str = "Generic" + # __slots__ = ("name", "classification", "code", "player", "location") + # name: str + # classification: ItemClassification + # code: Optional[int] + # """an item with code None is called an Event, and does not get written to multidata""" + # player: int + # location: Optional[Location] + + +def create_item_bank(world: EVNWorld) -> None: + # wild. For some reason this was updating ev_item_bank, but treating item_name_to_id as a local variable and not updating it, even though we declared it as global. So, explicity informing the function that both are globals. + global ev_item_bank, item_name_to_id + # Completion / Victory + ev_item_bank[STRING_COMPLETE_BIT] = EVNItem( + "Victory", + ItemClassification.progression, + STRING_COMPLETE_BIT, + world.player, + ) + + # Credits + # issues with fillers not being copies / new versions... can't reuse these. + # for credit_name in CREDIT_IDS.keys(): + # item_id = CREDIT_IDS[credit_name] + # ev_item_bank[item_id] = EVNItem( + # credit_name, + # ItemClassification.filler, + # item_id, + # world.player, + # ) + + # ships + # turns out, the ship names are not unique due to the various models. We could add the subname, but just cat ID. + for ship in ships.ship_table.keys(): + temp_ship = ships.ship_table[ship] + item_id = type_offset["ship"] + (int)(temp_ship["id"]) # Probably a safer way to test this? Fails if not int somehow probably. + ev_item_bank[item_id] = EVNItem( + temp_ship["name"].strip() + temp_ship["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. + ItemClassification.progression, + item_id, + world.player, + ) + + # misn + + logger.info(f"data bank size: {len(ev_item_bank)}") + + item_name_to_id = {data.name: item_id for item_id, data in ev_item_bank.items()} + +# Ontop of our regular itempool, our world must be able to create arbitrary amounts of filler as requested by core. +# To do this, it must define a function called world.get_filler_item_name(), which we will define in world.py later. +# For now, let's make a function that returns the name of a random filler item here in items.py. +def get_random_filler_item_name(world: EVNWorld) -> str: + # APQuest has an option called "trap_chance". + # This is the percentage chance that each filler item is a Math Trap instead of a Confetti Cannon. + # For this purpose, we need to use a random generator. + + # IMPORTANT: Whenever you need to use a random generator, you must use world.random. + # This ensures that generating with the same generator seed twice yields the same output. + # DO NOT use a bare random object from Python's built-in random module. + # if world.random.randint(0, 99) < world.options.trap_chance: + # return "Math Trap" + # return "Confetti Cannon" + + # TODO: rando between 9900 and 9905 for various amounts of credits. + # Credits1 = 10k + # Credits5 = 50k + # Creadits10 = 100k + # Credits50 = 500k + # Credits100 = 1mil + # Credits500 = 5mil # super rare, but can be used to make some really interesting item placements if it shows up early. + #return "Credits" + # return a weighted random selection + return world.random.choices( + #population=["Credits1", "Credits5", "Credits10", "Credits50", "Credits100", "Credits500"], + population=sorted(CREDIT_IDS.keys(), key=lambda x: CREDIT_IDS[x]), # we're assuming they pop in order I suppose... + weights=[0.1, 0.35, 0.25, 0.15, 0.1, 0.05], # 70% chance for Credits, 20% for Fed Patrol Boat, 10% for Starbridge + k=1 + )[0] + + +def create_item_with_correct_classification(world: EVNWorld, name: str) -> EVNItem: + # # Our world class must have a create_item() function that can create any of our items by name at any time. + # # So, we make this helper function that creates the item by name with the correct classification. + # # Note: This function's content could just be the contents of world.create_item in world.py directly, + # # but it seemed nicer to have it in its own function over here in items.py. + # classification = DEFAULT_ITEM_CLASSIFICATIONS[name] + + # # It is perfectly normal and valid for an item's classification to differ based on the player's options. + # # In our case, Health Upgrades are only relevant to logic (and thus labeled as "progression") in hard mode. + # # if name == "Health Upgrade" and world.options.hard_mode: + # # classification = ItemClassification.progression + + # return EVNItem(name, classification, ITEM_NAME_TO_ID[name], world.player) + #if (itempool.) + if name in CREDIT_IDS: + item_id = CREDIT_IDS[name] + return EVNItem( + name, + ItemClassification.filler, + item_id, + world.player, + ) + + # Instead of using a predefined lookup table like ITEM_NAME_TO_ID, we can also just look up the item in our ev_item_bank by name and return it. + if (not ev_item_bank or ev_item_bank == {}): + create_item_bank(world) + # Surely there is a simpler way? This seems inefficient. + #return ev_item_bank[[item_id for item_id in ev_item_bank if ev_item_bank[item_id].name == name][0]] + #return ev_item_bank[item_name_to_id[name]] + item_id = item_name_to_id[name] + return ev_item_bank[item_id] + + +# With those two helper functions defined, let's now get to actually creating and submitting our itempool. +def create_all_items(world: EVNWorld) -> None: + # This is the function in which we will create all the items that this world submits to the multiworld item pool. + # There must be exactly as many items as there are locations. + # In our case, there are either six or seven locations. + # We must make sure that when there are six locations, there are six items, + # and when there are seven locations, there are seven items. + + # Creating items should generally be done via the world's create_item method. + # First, we create a list containing all the items that always exist. + + # itempool: list[Item] = [ + # world.create_item("Fed Patrol Boat"), + # world.create_item("Starbridge"), + # # world.create_item("Key"), + # # world.create_item("Sword"), + # # world.create_item("Shield"), + # # world.create_item("Health Upgrade"), + # # world.create_item("Health Upgrade"), + # ] + + if (not ev_item_bank or ev_item_bank == {}): + create_item_bank(world) + + # copy might be expensive, but need to because we'll add duplicates due to filler later + #itempool = ev_item_bank.values().__copy__() + #itempool = [] + # for item_id in ev_item_bank: + # if (item_id < 9900 or item_id >= 9906): # don't add credits to regular itempool, since they're just filler. We'll add them as needed in the filler section later. + # itempool.append(ev_item_bank[item_id]) + + # TESTING: Just add a few to match with our testing locations for now, and then we can expand the itempool later. + # itempool = [ + # world.create_item("Fed Patrol Boat"), + # world.create_item("Starbridge"), + # world.create_item("Rebel Dragon"), + # world.create_item("Vell-os Javelin"), + # world.create_item("Unrelenting"), + # world.create_item("Abomination"), + # ] + + # logger.info(f"items in ev_item_bank: {[ev_item_bank[item_id].name for item_id in ev_item_bank]}") + # logger.info(f"item_name_to_id keys: {list(item_name_to_id.keys())}") + # for item in item_name_to_id.keys(): + # logger.info(f"item_name_to_id key: {item}, value: {item_name_to_id[item]}") + + itempool = [ + world.create_item("Fed Patrol Boat215"), + world.create_item("Pirate Starbridge148"), + world.create_item("Rebel Dragon180"), + world.create_item("Vell-os Arrow382"), + world.create_item("Unrelenting374"), + world.create_item("Abomination384"), + ] + + # Some items may only exist if the player enables certain options. + # In our case, If the hammer option is enabled, the sixth item is the Hammer. + # Otherwise, we add a filler Confetti Cannon. + # if world.options.hammer: + # # Once again, it is important to stress that even though the Hammer doesn't always exist, + # # it must be present in the worlds item_name_to_id. + # # Whether it is actually in the itempool is determined purely by whether we create and add the item here. + # itempool.append(world.create_item("Hammer")) + + # Archipelago requires that each world submits as many locations as it submits items. + # This is where we can use our filler and trap items. + # APQuest has two of these: The Confetti Cannon and the Math Trap. + # (Unfortunately, Archipelago is a bit ambiguous about its terminology here: + # "filler" is an ItemClassification separate from "trap", but in a lot of its functions, + # Archipelago will use "filler" to just mean "an additional item created to fill out the itempool". + # "Filler" in this sense can technically have any ItemClassification, + # but most commonly ItemClassification.filler or ItemClassification.trap. + # Starting here, the word "filler" will be used to collectively refer to APQuest's Confetti Cannon and Math Trap, + # which are ItemClassification.filler and ItemClassification.trap respectively.) + # Creating filler items works the same as any other item. But there is a question: + # How many filler items do we actually need to create? + # In regions.py, we created either six or seven locations depending on the "extra_starting_chest" option. + # In this function, we have created five or six items depending on whether the "hammer" option is enabled. + # We *could* have a really complicated if-else tree checking the options again, but there is a better way. + # We can compare the size of our itempool so far to the number of locations in our world. + + # The length of our itempool is easy to determine, since we have it as a list. + number_of_items = len(itempool) + logger.info(f"number of items before filler: {number_of_items}") + #number_of_items = len(ev_item_bank) + + # The number of locations is also easy to determine, but we have to be careful. + # Just calling len(world.get_locations()) would report an incorrect number, because of our *event locations*. + # What we actually want is the number of *unfilled* locations. Luckily, there is a helper method for this: + number_of_unfilled_locations = len(world.multiworld.get_unfilled_locations(world.player)) + logger.info(f"number of unfilled locations: {number_of_unfilled_locations}") + + # Now, we just subtract the number of items from the number of locations to get the number of empty item slots. + #needed_number_of_filler_items = number_of_unfilled_locations - number_of_items + # There's probably a more elegant way to do this, but we also need to subtract the number of completion locations, since those will be filled with event items instead of regular items. + # basically, they aren't created *until* we start filling locations over in rules... so we have to account for them here. + needed_number_of_filler_items = number_of_unfilled_locations - number_of_items - len(rules.COMPLETION_LOCATIONS) # also need to subtract the number of completion locations, since those will be filled with event items instead of regular items. + logger.info(f"number of filler items needed: {needed_number_of_filler_items}") + logger.info(f"number of completion locations: {len(rules.COMPLETION_LOCATIONS)}") + + # Finally, we create that many filler items and add them to the itempool. + # To create our filler, we could just use world.create_item("Confetti Cannon"). + # But there is an alternative that works even better for most worlds, including APQuest. + # As discussed above, our world must have a get_filler_item_name() function defined, + # which must return the name of an infinitely repeatable filler item. + # Defining this function enables the use of a helper function called world.create_filler(). + # You can just use this function directly to create as many filler items as you need to complete your itempool. + if (needed_number_of_filler_items > 0): + itempool += [world.create_filler() for _ in range(needed_number_of_filler_items)] + + # But... is that the right option for your game? Let's explore that. + # For some games, the concepts of "regular itempool filler" and "additionally created filler" are different. + # These games might want / require specific amounts of specific filler items in their regular pool. + # To achieve this, they will have to intentionally create the correct quantities using world.create_item(). + # They may still use world.create_filler() to fill up the rest of their itempool with "repeatable filler", + # after creating their "specific quantity" filler and still having room left over. + + # But there are many other games which *only* have infinitely repeatable filler items. + # They don't care about specific amounts of specific filler items, instead only caring about the proportions. + # In this case, world.create_filler() can just be used for the entire filler itempool. + # APQuest is one of these games: + # Regardless of whether it's filler for the regular itempool or additional filler for item links / etc., + # we always just want a Confetti Cannon or a Math Trap depending on the "trap_chance" option. + # We defined this behavior in our get_random_filler_item_name() function, which in world.py, + # we'll bind to world.get_filler_item_name(). So, we can just use world.create_filler() for all of our filler. + + # Anyway. With our world's itempool finalized, we now need to submit it to the multiworld itempool. + # This is how the generator actually knows about the existence of our items. + world.multiworld.itempool += itempool + + # Sometimes, you might want the player to start with certain items already in their inventory. + # These items are called "precollected items". + # They will be sent as soon as they connect for the first time (depending on your client's item handling flag). + # Players can add precollected items themselves via the generic "start_inventory" option. + # If you want to add your own precollected items, you can do so via world.push_precollected(). + # if world.options.start_with_one_confetti_cannon: + # # We're adding a filler item, but you can also add progression items to the player's precollected inventory. + # starting_confetti_cannon = world.create_item("Confetti Cannon") + # world.push_precollected(starting_confetti_cannon) diff --git a/worlds/evn/locations.py b/worlds/evn/locations.py new file mode 100644 index 000000000000..204b829b7da6 --- /dev/null +++ b/worlds/evn/locations.py @@ -0,0 +1,213 @@ +from __future__ import annotations + +from typing import TYPE_CHECKING, Dict +from venv import logger + +from BaseClasses import ItemClassification, Location +from worlds.evn.regions import can_accept_location # Is this an improper import? + +from .rezdata import misns + +# import re + +if TYPE_CHECKING: + from .world import EVNWorld + + +GAME_NAME = "EV Nova" + +# Every location must have a unique integer ID associated with it. +# We will have a lookup from location name to ID here that, in world.py, we will import and bind to the world class. +# Even if a location doesn't exist on specific options, it must be present in this lookup. +# I feel like "location" is a misnomer for a "check" +# Possible types: +# mission completes +# purchase items +# first explore of a sys +# _ +LOCATION_NAME_TO_ID = { + # Location IDs don't need to be sequential, as long as they're unique and greater than 0. + # "Example_Mission": 10, + # "Fed Mission 1": 11, + # "Fed Mission Final": 12, + "Delivery to Earth; Vellos1-128": 128, + "Visit Vell-os Homeworld; Vellos2-129": 129, + "Head to Sol;Tutorial 001-251": 251, + "Trade between Earth and Port Kane;Tutorial 002-630": 630, # Do *not* lock progression behind this mission + "United Shipping Intro;United Shipping1-504": 504, + "Un. Shipping Delivery;United Shipping1a-505": 505, + "Take Polaris Home;Rebel I22 LAST-354": 354, + "Take Llyrell to Korell; Vellos31 LAST-417": 417, + "Take Krane to Earth;Fed43 LAST-474": 474, + "A Parting Gift;Fed26 (forced) LAST-596": 596, + "Return to Heraan;Auroran 029 LAST-686": 686, + "Destroy McGowan;Pirate 011 LAST-712": 712, + "Return to Ar'Za Iusia;Polaris 46-887": 887, +} + +# to add other checks, such as outfits, give them their own offset and range. +loc_type_offset: Dict[str, int] = { + "misn": 2000, # 2000 - 2999 will be missions. We have 1000 misns, so this should be safe. +} + +# the int key will be our control bit used by the client to identify the item +ev_location_bank: Dict[int, EVNLocation] = {} + +loc_name_to_id: Dict[str, int] = {} + + +# Each Location instance must correctly report the "game" it belongs to. +# To make this simple, it is common practice to subclass the basic Location class and override the "game" field. +class EVNLocation(Location): + #game = EVNWorld.game + game = GAME_NAME + # player: int + # name: str + # address: Optional[int] # I think this is the location ID + # parent_region: Optional[Region] + # locked: bool = False + # show_in_spoiler: bool = True + # progress_type: LocationProgressType = LocationProgressType.DEFAULT + # always_allow: Callable[[CollectionState, Item], bool] = staticmethod(lambda state, item: False) + # access_rule: Callable[[CollectionState], bool] = staticmethod(lambda state: True) + # item_rule: Callable[[Item], bool] = staticmethod(lambda item: True) + # item: Optional[Item] = None + +def create_loc_bank(world: EVNWorld) -> None: + # wild. For some reason this was updating ev_item_bank, but treating item_name_to_id as a local variable and not updating it, even though we declared it as global. So, explicity informing the function that both are globals. + global ev_location_bank, loc_name_to_id + + # Missions + for mission in misns.misn_table.keys(): + temp_mission = misns.misn_table[mission] + loc_id = loc_type_offset["misn"] + (int)(temp_mission["id"]) # Probably a safer way to test this? Fails if not int somehow probably. + #logger.info(f"creating location for mission {temp_mission['name']} with id {loc_id}. final name: {temp_mission['name'].strip() + '-' + temp_mission['id']}") + ev_location_bank[loc_id] = EVNLocation( + world.player, + temp_mission["name"].strip() + "-" + temp_mission["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. + loc_id, + world.player, + ) + + loc_name_to_id = {data.name: loc_id for loc_id, data in ev_location_bank.items()} + # logger.info(f"example location name: {ev_location_bank[2630].name}") + # logger.info(f"mission table keys: {ev_location_bank.keys()}") + # logger.info(f"location name to id: {loc_name_to_id.keys()}") + # logger.info(f"example lookup: {loc_name_to_id['Trade between Earth and Port Kane;Tutorial 002-630']}") + +# Let's make one more helper method before we begin actually creating locations. +# Later on in the code, we'll want specific subsections of LOCATION_NAME_TO_ID. +# To reduce the chance of copy-paste errors writing something like {"Chest": LOCATION_NAME_TO_ID["Chest"]}, +# let's make a helper method that takes a list of location names and returns them as a dict with their IDs. +# Note: There is a minor typing quirk here. Some functions want location addresses to be an "int | None", +# so while our function here only ever returns dict[str, int], we annotate it as dict[str, int | None]. +#def get_location_names_with_ids(location_names: list[str]) -> dict[str, int | None]: + #return {location_name: LOCATION_NAME_TO_ID[location_name] for location_name in location_names} +def get_location_names_with_ids(world: EVNWorld, location_names: list[str]) -> dict[str, int | None]: + if (not ev_location_bank or ev_location_bank == {}): + create_loc_bank(world) + # Surely there is a simpler way? This seems inefficient. + #return ev_location_bank[[loc_id for loc_id in ev_location_bank if ev_location_bank[loc_id].name == name][0]] + #return ev_location_bank[loc_name_to_id[name]] + return {name: loc_name_to_id[name] for name in location_names if name in loc_name_to_id} + + +def create_all_locations(world: EVNWorld) -> None: + create_regular_locations(world) + #create_events(world) + + +def create_regular_locations(world: EVNWorld) -> None: + + if (not ev_location_bank or ev_location_bank == {}): + create_loc_bank(world) + + # Finally, we need to put the Locations ("checks") into their regions. + # Once again, before we do anything, we can grab our regions we created by using world.get_region() + universe = world.get_region("Universe") + + # One way to create locations is by just creating them directly via their constructor. + # example_mission = EVNLocation( + # world.player, "Example Mission", world.location_name_to_id["Example_Mission"], universe + # ) + + # # You can then add them to the region. + # universe.locations.append(example_mission) + # A simpler way to do this is by using the region.add_locations helper. + # For this, you need to have a dict of location names to their IDs (i.e. a subset of location_name_to_id) + # Aha! So that's why we made that "get_location_names_with_ids" helper method earlier. + # You also need to pass your overridden Location class. + # bottom_right_room_locations = get_location_names_with_ids( + # ["Bottom Right Room Left Chest", "Bottom Right Room Right Chest"] + # ) + # bottom_right_room.add_locations(bottom_right_room_locations, EVNLocation) + + # universe.add_locations( + # get_location_names_with_ids(["Example_Mission"]) + # , EVNLocation + # ) + + # top_left_room_locations = get_location_names_with_ids(["Top Left Room Chest"]) + # top_left_room.add_locations(top_left_room_locations, EVNLocation) + + # right_room_locations = get_location_names_with_ids(["Right Room Enemy Drop"]) + # right_room.add_locations(right_room_locations, EVNLocation) + + # # Locations may be in different regions depending on the player's options. + # # In our case, the hammer option puts the Top Middle Chest into its own room called Top Middle Room. + # top_middle_room_locations = get_location_names_with_ids(["Top Middle Chest"]) + # if world.options.hammer: + # top_middle_room = world.get_region("Top Middle Room") + # top_middle_room.add_locations(top_middle_room_locations, EVNLocation) + # else: + # overworld.add_locations(top_middle_room_locations, EVNLocation) + + # # Locations may exist only if the player enables certain options. + # # In our case, the extra_starting_chest option adds the Bottom Left Extra Chest location. + # if world.options.extra_starting_chest: + # # Once again, it is important to stress that even though the Bottom Left Extra Chest location doesn't always + # # exist, it must still always be present in the world's location_name_to_id. + # # Whether the location actually exists in the seed is purely determined by whether we create and add it here. + # bottom_left_extra_chest = get_location_names_with_ids(["Bottom Left Extra Chest"]) + # overworld.add_locations(bottom_left_extra_chest, EVNLocation) + + # fed_string = world.get_region("Fed String") + # fed_string.add_locations( + # get_location_names_with_ids(["Fed Mission 1", "Fed Mission Final"]) + # , EVNLocation + # ) + + # for evnloc in LOCATION_NAME_TO_ID.keys(): + # if string_has_value(evnloc, "Fed Mission"): + # fed_string.add_locations( + # get_location_names_with_ids([evnloc]) + # , EVNLocation + # ) + + # TODO: replace with looping through out mission bank + for loc_name in LOCATION_NAME_TO_ID.keys(): + for evregion in world.get_regions(): + if can_accept_location(evregion, loc_name): + evregion.add_locations( + get_location_names_with_ids(world, [loc_name]) + , EVNLocation + ) + break + # If found above, then it should break out back to the top of this loop right? + # So if we are here, we can assume that it is not a universe specific location and we can add it to universe. + universe.add_locations( + get_location_names_with_ids(world, [loc_name]) + , EVNLocation + ) + + # I don't know how I want to handle the victory conditions yet. + # fed_string.add_event( + # "Fed Final Mission Complete", "Victory", location_type=EVNLocation, item_type=items.EVNItem + # ) + + # universe.add_event( + # "String Complete", STRING_COMPLETE_BIT, location_type=EVNLocation, item_type=items.EVNItem + # ) + + +# NOTE: I think that event locations and items have null ID because they exist purely for AP logic, and don't actually trade to/from the game. \ No newline at end of file diff --git a/worlds/evn/options.py b/worlds/evn/options.py new file mode 100644 index 000000000000..cec47f340a3d --- /dev/null +++ b/worlds/evn/options.py @@ -0,0 +1,153 @@ +from dataclasses import dataclass + +from Options import Choice, OptionGroup, PerGameCommonOptions, Range, Toggle + +# In this file, we define the options the player can pick. +# The most common types of options are Toggle, Range and Choice. + +# Options will be in the game's template yaml. +# They will be represented by checkboxes, sliders etc. on the game's options page on the website. +# (Note: Options can also be made invisible from either of these places by overriding Option.visibility. +# APQuest doesn't have an example of this, but this can be used for secret / hidden / advanced options.) + +# For further reading on options, you can also read the Options API Document: +# https://github.com/ArchipelagoMW/Archipelago/blob/main/docs/options%20api.md + + +# The first type of Option we'll discuss is the Toggle. +# A toggle is an option that can either be on or off. This will be represented by a checkbox on the website. +# The default for a toggle is "off". +# If you want a toggle to be on by default, you can use the "DefaultOnToggle" class instead of the "Toggle" class. +# class HardMode(Toggle): +# """ +# In hard mode, the basic enemy and the final boss will have more health. +# The Health Upgrades become progression, as they are now required to beat the final boss. +# """ + +# # The docstring of an option is used as the description on the website and in the template yaml. + +# # You'll also want to set a display name, which will determine what the option is called on the website. +# display_name = "Hard Mode" + +class ShuffleSystems(Toggle): + """ + Shuffle the locations of all explorable systems in the universe. + """ + + display_name = "Shuffle Systems" + + +# class Hammer(Toggle): +# """ +# Adds another item to the itempool: The Hammer. +# The top middle chest will now be locked behind a breakable wall, requiring the Hammer. +# """ + +# display_name = "Hammer" + + +# class ExtraStartingChest(Toggle): +# """ +# Adds an extra chest in the bottom left, making room for an extra Confetti Cannon. +# """ + +# display_name = "Extra Starting Chest" + + +# class TrapChance(Range): +# """ +# Percentage chance that any given Confetti Cannon will be replaced by a Math Trap. +# """ + +# display_name = "Trap Chance" + +# range_start = 0 +# range_end = 100 +# default = 0 + + +# class StartWithOneConfettiCannon(Toggle): +# """ +# Start with a confetti cannon already in your inventory. +# Why? Because you deserve it. You get to celebrate yourself without doing any work first. +# """ + +# display_name = "Start With One Confetti Cannon" + + +# # A Range is a numeric option with a min and max value. This will be represented by a slider on the website. +# class ConfettiExplosiveness(Range): +# """ +# How much confetti each use of a confetti cannon will fire. +# """ + +# display_name = "Confetti Explosiveness" + +# range_start = 0 +# range_end = 10 + +# # Range options must define an explicit default value. +# default = 3 + + +# # A Choice is an option with multiple discrete choices. This will be represented by a dropdown on the website. +# class PlayerSprite(Choice): +# """ +# The sprite that the player will have. +# """ + +# display_name = "Player Sprite" + +# option_human = 0 +# option_duck = 1 +# option_horse = 2 +# option_cat = 3 + +# # Choice options must define an explicit default value. +# default = option_human + +# # For choices, you can also define aliases. +# # For example, we could make it so "player_sprite: kitty" resolves to "player_sprite: cat" like this: +# alias_kitty = option_cat + + +# We must now define a dataclass inheriting from PerGameCommonOptions that we put all our options in. +# This is in the format "option_name_in_snake_case: OptionClassName". +@dataclass +class EVNOptions(PerGameCommonOptions): + shuffle_systems: ShuffleSystems + + +# # If we want to group our options by similar type, we can do so as well. This looks nice on the website. +# option_groups = [ +# OptionGroup( +# "Gameplay Options", +# [HardMode, Hammer, ExtraStartingChest, StartWithOneConfettiCannon, TrapChance], +# ), +# OptionGroup( +# "Aesthetic Options", +# [ConfettiExplosiveness, PlayerSprite], +# ), +# ] + +# # Finally, we can define some option presets if we want the player to be able to quickly choose a specific "mode". +# option_presets = { +# "boring": { +# "hard_mode": False, +# "hammer": False, +# "extra_starting_chest": False, +# "start_with_one_confetti_cannon": False, +# "trap_chance": 0, +# "confetti_explosiveness": ConfettiExplosiveness.range_start, +# "player_sprite": PlayerSprite.option_human, +# }, +# "the true way to play": { +# "hard_mode": True, +# "hammer": True, +# "extra_starting_chest": True, +# "start_with_one_confetti_cannon": True, +# "trap_chance": 50, +# "confetti_explosiveness": ConfettiExplosiveness.range_end, +# "player_sprite": PlayerSprite.option_duck, +# }, +# } diff --git a/worlds/evn/patchfile.py b/worlds/evn/patchfile.py new file mode 100644 index 000000000000..f4fc4f08ddcc --- /dev/null +++ b/worlds/evn/patchfile.py @@ -0,0 +1,33 @@ +import logging + +import yaml +import os +import Utils +import zipfile + +from datetime import datetime, UTC + +from worlds.Files import APPlayerContainer + +# This is used to create the data file that will be downloaded for the player. Check out \world\file.py for more information on APPlayerContainer. +class EVNContainer(APPlayerContainer): + game: str = 'EV Nova' + patch_file_ending = ".zip" + + def __init__(self, patch_data: dict, base_path: str, output_directory: str, player=None, player_name: str = "", server: str = ""): + self.patch_data = patch_data + self.file_path = base_path + container_path = os.path.join(output_directory, base_path + ".zip") + super().__init__(container_path, player, player_name, server) + + def write_contents(self, opened_zipfile: zipfile.ZipFile) -> None: + for filename, yml in self.patch_data.items(): + opened_zipfile.writestr(filename, yml) + #opened_zipfile.writestr("hello world.txt", "This is a test file.") + super().write_contents(opened_zipfile) + + +# def patch_evn(self, output_directory): + +# curr_timestamp = datetime.strftime(datetime.now(UTC), "%d%b%Y-%H%M%S") +# mod_name = f"AP-{self.multiworld.seed_name}-P{self.player}-{self.multiworld.get_file_safe_player_name(self.player)}-{curr_timestamp}" \ No newline at end of file diff --git a/worlds/evn/regions.py b/worlds/evn/regions.py new file mode 100644 index 000000000000..d837d83013af --- /dev/null +++ b/worlds/evn/regions.py @@ -0,0 +1,132 @@ +from __future__ import annotations + +from typing import TYPE_CHECKING + +from BaseClasses import Entrance, Region + +import re + +if TYPE_CHECKING: + from .world import EVNWorld + +# A region is a container for locations ("checks"), which connects to other regions via "Entrance" objects. +# Many games will model their Regions after physical in-game places, but you can also have more abstract regions. +# For a location to be in logic, its containing region must be reachable. +# The Entrances connecting regions can have rules - more on that in rules.py. +# This makes regions especially useful for traversal logic ("Can the player reach this part of the map?") + +# Every location must be inside a region, and you must have at least one region. +# This is why we create regions first, and then later we create the locations (in locations.py). + +# Should probably create a subclass that inherits from Region for EVN-specific behavior, similar to how we did for Location. +# TODO: Add the other regions +REGION_KEYS = { + "Universe" : [], + "Fed String" : ["Fed"], # Fed story mission string + "Vellos" : ["Vellos", "Vell-os"], +} + +### Region subclass helper functions ### + +# Let's make one more helper method before we begin actually creating locations. +# Here's a function that extracts the value following a specific character in a given text. +# Google AI +def get_value_after_char(text, char): + # Pattern explanation: + # (?<={char}\s*) - Positive lookbehind: asserts the position is immediately + # after the specified character and zero or more whitespaces. + # (.*?) - Capturing group 1: lazily matches any character (except newline) + # until the end of the line. + #pattern = re.compile(rf'(?<={re.escape(char)}\s*)(.*?)') + pattern = re.compile(rf'^(.*?)(?=\s+{re.escape(char)})(.*)$') + match = pattern.search(text) + if match: + # returns the captured group, with leading/trailing whitespace removed + #return match.group(1).strip() + return match.group(3).strip() + return None + +def string_has_value(text, substring): + return get_value_after_char(text.lower(), substring.lower()) is not None + +def string_has_value_after_char(text, char, substring): + value = get_value_after_char(text, char) + if value is None: + return False + return substring.lower() in value.lower() + +def can_accept_location(evnregion: Region, location_name: str) -> bool: + """Helper function to determine if a region can accept a location based on keywords.""" + keywords = REGION_KEYS.get(evnregion.name, []) + for keyword in keywords: + #if keyword in location_name: + if string_has_value_after_char(location_name, ";", keyword): + return True + return False + +### End Region subclass helper functions ### + + +def create_and_connect_regions(world: EVNWorld) -> None: + create_all_regions(world) + connect_regions(world) + + +def create_all_regions(world: EVNWorld) -> None: + # Creating a region is as simple as calling the constructor of the Region class. + #universe = Region("Universe", world.player, world.multiworld) + #fed_string = Region("Fed String", world.player, world.multiworld) # Fed story mission string + + # Let's put all these regions in a list. + #regions = [universe, fed_string] + regions = [] + + for evregion in REGION_KEYS.keys(): + regions.append(Region(evregion, world.player, world.multiworld)) + + # Some regions may only exist if the player enables certain options. + # In our case, the Hammer locks the top middle chest in its own room if the hammer option is enabled. + # if world.options.hammer: + # top_middle_room = Region("Top Middle Room", world.player, world.multiworld) + # regions.append(top_middle_room) + + # We now need to add these regions to multiworld.regions so that AP knows about their existence. + world.multiworld.regions += regions + + +def connect_regions(world: EVNWorld) -> None: + # We have regions now, but still need to connect them to each other. + # But wait, we no longer have access to the region variables we created in create_all_regions()! + # Luckily, once you've submitted your regions to multiworld.regions, + # you can get them at any time using world.get_region(...). + universe = world.get_region("Universe") + # fed_string = world.get_region("Fed String") + + # universe.connect(fed_string, "Universe to Fed String") + for evregion in REGION_KEYS.keys(): + if evregion != "Universe": + universe.connect(world.get_region(evregion), f"Universe to {evregion}") + + # Okay, now we can get connecting. For this, we need to create Entrances. + # Entrances are inherently one-way, but crucially, AP assumes you can always return to the origin region. + # One way to create an Entrance is by calling the Entrance constructor. + # overworld_to_bottom_right_room = Entrance(world.player, "Overworld to Bottom Right Room", parent=overworld) + # overworld.exits.append(overworld_to_bottom_right_room) + + # # You can then connect the Entrance to the target region. + # overworld_to_bottom_right_room.connect(bottom_right_room) + + # # An even easier way is to use the region.connect helper. + # overworld.connect(right_room, "Overworld to Right Room") + # right_room.connect(final_boss_room, "Right Room to Final Boss Room") + + # # The region.connect helper even allows adding a rule immediately. + # # We'll talk more about rule creation in the set_all_rules() function in rules.py. + # overworld.connect(top_left_room, "Overworld to Top Left Room", lambda state: state.has("Key", world.player)) + + # # Some Entrances may only exist if the player enables certain options. + # # In our case, the Hammer locks the top middle chest in its own room if the hammer option is enabled. + # # In this case, we previously created an extra "Top Middle Room" region that we now need to connect to Overworld. + # if world.options.hammer: + # top_middle_room = world.get_region("Top Middle Room") + # overworld.connect(top_middle_room, "Overworld to Top Middle Room") diff --git a/worlds/evn/rezdata/chars.py b/worlds/evn/rezdata/chars.py new file mode 100644 index 000000000000..669cf013ea10 --- /dev/null +++ b/worlds/evn/rezdata/chars.py @@ -0,0 +1,122 @@ +# This file is auto generated by a custom script. +# With how EVN plugins work, we essentially have to reconstruct any objects we want to modify. +# This file contains a table of character data used in EV Nova. + +from typing import Dict, TypedDict, List, Set + +char_columns = { + "resource_type": "Resource Type", + "id": "ID", + "name": "Name", + "cash": "Cash", + "ship_type": "Ship Type", + "system_1": "System 1", + "system_2": "System 2", + "system_3": "System 3", + "system_4": "System 4", + "government_1": "Government 1", + "status_1": "Status 1", + "government_2": "Government 2", + "status_2": "Status 2", + "government_3": "Government 3", + "status_3": "Status 3", + "government_4": "Government 4", + "status_4": "Status 4", + "combat_rating": "Combat Rating", + "intro_pict_1": "Intro Pict 1", + "intro_pict_2": "Intro Pict 2", + "intro_pict_3": "Intro Pict 3", + "intro_pict_4": "Intro Pict 4", + "pict_delay_1": "Pict Delay 1", + "pict_delay_2": "Pict Delay 2", + "pict_delay_3": "Pict Delay 3", + "pict_delay_4": "Pict Delay 4", + "intro_text": "Intro Text", + "on_start": "On Start", + "start_day": "Start Day", + "start_month": "Start Month", + "start_year": "Start Year", + "date_prefix": "Date Prefix", + "date_suffix": "Date Suffix", + "flags": "Flags", + "end_of_resource": "End-of-resource" +} + + +class CharDict(TypedDict, total=False): + resource_type: str + id: str + name: str + cash: str + ship_type: str + system_1: str + system_2: str + system_3: str + system_4: str + government_1: str + status_1: str + government_2: str + status_2: str + government_3: str + status_3: str + government_4: str + status_4: str + combat_rating: str + intro_pict_1: str + intro_pict_2: str + intro_pict_3: str + intro_pict_4: str + pict_delay_1: str + pict_delay_2: str + pict_delay_3: str + pict_delay_4: str + intro_text: str + on_start: str + start_day: str + start_month: str + start_year: str + date_prefix: str + date_suffix: str + flags: str + end_of_resource: str + + +char_table: Dict[int, CharDict] = { + 128: { + "Resource Type": "char", + "ID": "128", + "Name": ".Trader", + "Cash": "25000", + "Ship Type": "128", + "System 1": "128", + "System 2": "136", + "System 3": "170", + "System 4": "184", + "Government 1": "-1", + "Status 1": "-1", + "Government 2": "-1", + "Status 2": "-1", + "Government 3": "-1", + "Status 3": "-1", + "Government 4": "-1", + "Status 4": "-1", + "Combat Rating": "0", + "Intro Pict 1": "8200", + "Intro Pict 2": "8201", + "Intro Pict 3": "8202", + "Intro Pict 4": "-1", + "Pict Delay 1": "45", + "Pict Delay 2": "45", + "Pict Delay 3": "45", + "Pict Delay 4": "-1", + "Intro Text": "-1", + "On Start": "", + "Start Day": "23", + "Start Month": "6", + "Start Year": "1177", + "Date Prefix": "", + "Date Suffix": " NC", + "Flags": "0x0001", + "End-of-resource": "EOR", + } +} \ No newline at end of file diff --git a/worlds/evn/rezdata/misns.py b/worlds/evn/rezdata/misns.py new file mode 100644 index 000000000000..6714b4059160 --- /dev/null +++ b/worlds/evn/rezdata/misns.py @@ -0,0 +1,45214 @@ +# This file is auto generated by a custom script, mostly. Some manual editting (particularly with the types) +# With how EVN plugins work, we essentially have to reconstruct any objects we want to modify. +# This file contains a table of mission data used in EV Nova. +# Search and replace regex: (\})\r?\n?\},\r?\n?\{(\r?\n?\s+)"([\d]*)"(:) -> $1,$2$3$4 + +from typing import Dict, TypedDict, List, Set + +misn_columns = { + "resource_type": "Resource Type", + "id": "ID", + "name": "Name", + "available_stellar": "Available Stellar", + "available_location": "Available Location", + "available_record": "Available Record", + "available_rating": "Available Rating", + "available_random": "Available Random", + "travel_stellar": "Travel Stellar", + "return_stellar": "Return Stellar", + "cargo_type": "Cargo Type", + "cargo_amount": "Cargo Amount", + "cargo_pickup_mode": "Cargo Pickup Mode", + "cargo_dropoff_mode": "Cargo Dropoff Mode", + "scan_mask": "Scan Mask", + "pay_value": "Pay Value", + "ship_count": "Ship Count", + "ship_system": "Ship System", + "ship_dude": "Ship Dude", + "ship_goal": "Ship Goal", + "ship_behavior": "Ship Behavior", + "ship_name": "Ship Name", + "ship_start": "Ship Start", + "completion_government": "Completion Government", + "completion_reward": "Completion Reward", + "ship_subtitle": "Ship Subtitle", + "briefing_desc": "Briefing Desc", + "quick_briefing_desc": "Quick Briefing Desc", + "load_cargo_desc": "Load Cargo Desc", + "dropoff_cargo_desc": "Dropoff Cargo Desc", + "completion_desc": "Completion Desc", + "failing_desc": "Failing Desc", + "ship_done_desc": "Ship Done Desc", + "refusing_desc": "Refusing Desc", + "time_limit": "Time Limit", + "aux_ship_count": "Aux. Ship Count", + "aux_ship_dude": "Aux. Ship Dude", + "aux_ship_syst": "Aux. Ship Syst", + "available_ship_type": "Available Ship Type", + "available_bits": "Available Bits", + "on_accept": "On Accept", + "on_refuse": "On Refuse", + "on_success": "On Success", + "on_failure": "On Failure", + "on_abort": "On Abort", + "on_ship_done": "On Ship Done", + "require_bits": "Require Bits", + "date_increment": "Date Increment", + "accept_button": "Accept Button", + "refuse_button": "Refuse Button", + "display_weight": "Display Weight", + "can_abort": "Can Abort", + "flags_1": "Flags 1", + "flags_2": "Flags 2", + "end_of_resource": "End-of-resource" +} + +# Manual adjustment until I figure out how to get the script to generate this correctly with the right types. +class MisnDict(TypedDict, total=False): + resource_type: str + id: int + name: str + available_stellar: int + available_location: int + available_record: int + available_rating: int + available_random: int + travel_stellar: int + return_stellar: int + cargo_type: int + cargo_amount: int + cargo_pickup_mode: int + cargo_dropoff_mode: int + scan_mask: int # Problem: This is actually a hex string in the data, but it isn't wrapped like a string... We don't use it, so this is fine for now. + pay_value: int + ship_count: int + ship_system: int + ship_dude: int + ship_goal: int + ship_behavior: int + ship_name: int + ship_start: int + completion_government: int + completion_reward: int + ship_subtitle: int + briefing_desc: int + quick_briefing_desc: int + load_cargo_desc: int + dropoff_cargo_desc: int + completion_desc: int + failing_desc: int + ship_done_desc: int + refusing_desc: int + time_limit: int + aux_ship_count: int + aux_ship_dude: int + aux_ship_syst: int + available_ship_type: int + available_bits: str + on_accept: str + on_refuse: str + on_success: str + on_failure: str + on_abort: str + on_ship_done: str + require_bits: int # 16 byte hex code in the data, but it isn't wrapped like a string... We don't use it, so this is fine for now. + date_increment: int + accept_button: str + refuse_button: str + display_weight: int + can_abort: int + flags_1: int + flags_2: int + end_of_resource: str + +# I haven't figured out how to get the generator to not add quotes around int values without redefining the entire structure of the data, so for now it is all strings? +# I manually adjusted the index/keys though. +misn_table: Dict[int, MisnDict] = { + 128: { + "resource_type": "misn", + "id": "128", + "name": "Delivery to Earth; Vellos1", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "8", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "1000", + "cargo_amount": "-5", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "1", + "ship_system": "130", + "ship_dude": "145", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "136", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6350", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9350", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b511 | b515) & !b350", + "on_accept": "", + "on_refuse": "", + "on_success": "b350 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 129: { + "resource_type": "misn", + "id": "129", + "name": "Visit Vell-os Homeworld; Vellos2", + "available_stellar": "128", + "available_location": "3", + "available_record": "0", + "available_rating": "-1", + "available_random": "40", + "travel_stellar": "408", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "136", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5351", + "quick_briefing_desc": "6351", + "load_cargo_desc": "7351", + "dropoff_cargo_desc": "-1", + "completion_desc": "9351", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "20351", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b511 | b515) & ((b350 & !b6666) & !(b351 | b4444))", + "on_accept": "b511", + "on_refuse": "S781 b4444", + "on_success": "b351 S797 b512 b515 b518", + "on_failure": "!b511", + "on_abort": "!b511 b4444 S781", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 130: { + "resource_type": "misn", + "id": "130", + "name": "Return to Earth for Training; Vellos3", + "available_stellar": "138", + "available_location": "3", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5352", + "quick_briefing_desc": "6352", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8352", + "completion_desc": "9352", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b351 & !(b352 | b4444)", + "on_accept": "b424 b450", + "on_refuse": "", + "on_success": "b352 K131 b44 G251 G205 S818", + "on_failure": "", + "on_abort": "!b424", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 131: { + "resource_type": "misn", + "id": "131", + "name": "Infiltrate the Rebels; Vellos4", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-10141", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "141", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "5353", + "quick_briefing_desc": "6050", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9353", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b352 & !b353", + "on_accept": "k148 A818", + "on_refuse": "", + "on_success": "b353 S783", + "on_failure": "", + "on_abort": "S818", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 132: { + "resource_type": "misn", + "id": "132", + "name": "Escort Merchant to ", + "available_stellar": "-1", + "available_location": "2", + "available_record": "0", + "available_rating": "10", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "259", + "ship_goal": "3", + "ship_behavior": "1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6600", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9600", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "133", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0900", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 133: { + "resource_type": "misn", + "id": "133", + "name": "Derelict Decoy", + "available_stellar": "-1", + "available_location": "2", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-1", + "ship_dude": "133", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0407", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 134: { + "resource_type": "misn", + "id": "134", + "name": "Passengers for ", + "available_stellar": "-1", + "available_location": "2", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "6", + "cargo_amount": "-2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "75000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6601", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "8601", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 135: { + "resource_type": "misn", + "id": "135", + "name": "Rush Delivery to ", + "available_stellar": "-1", + "available_location": "2", + "available_record": "0", + "available_rating": "-1", + "available_random": "30", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "30000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6602", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8602", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "18", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 136: { + "resource_type": "misn", + "id": "136", + "name": "Delivery to ", + "available_stellar": "-1", + "available_location": "2", + "available_record": "0", + "available_rating": "-1", + "available_random": "40", + "travel_stellar": "15001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "75000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6603", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8603", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 137: { + "resource_type": "misn", + "id": "137", + "name": "Rush Delivery to ", + "available_stellar": "-1", + "available_location": "2", + "available_record": "0", + "available_rating": "-1", + "available_random": "30", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "30000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6602", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8602", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "18", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 138: { + "resource_type": "misn", + "id": "138", + "name": "Delivery to ", + "available_stellar": "-1", + "available_location": "2", + "available_record": "0", + "available_rating": "-1", + "available_random": "40", + "travel_stellar": "10002", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "75000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6603", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8603", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b278", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 139: { + "resource_type": "misn", + "id": "139", + "name": "Delivery to ", + "available_stellar": "-1", + "available_location": "2", + "available_record": "0", + "available_rating": "-1", + "available_random": "40", + "travel_stellar": "421", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "75000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "0", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6603", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8603", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b127", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 140: { + "resource_type": "misn", + "id": "140", + "name": "25000 Credit Bounty", + "available_stellar": "-1", + "available_location": "2", + "available_record": "0", + "available_rating": "-1", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "22500", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "154", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25000", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "16000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "19001", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "-1", + "available_bits": "b0 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0002", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 141: { + "resource_type": "misn", + "id": "141", + "name": "Refuel Trader", + "available_stellar": "-1", + "available_location": "2", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "2000", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "212", + "ship_goal": "5", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "157", + "completion_reward": "2", + "ship_subtitle": "25034", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "Q25057", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0409", + "flags_2": "0x0002", + "end_of_resource": "EOR" + }, + 142: { + "resource_type": "misn", + "id": "142", + "name": "Rebel Food Drop; Vellos5", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "140", + "return_stellar": "171", + "cargo_type": "0", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "1", + "ship_system": "137", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5354", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7354", + "dropoff_cargo_desc": "8354", + "completion_desc": "9354", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "128", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b353 & !b354", + "on_accept": "!b9333 !b9334", + "on_refuse": "", + "on_success": "b354 S819", + "on_failure": "", + "on_abort": "b9333 b9334", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1054", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 143: { + "resource_type": "misn", + "id": "143", + "name": "Regular Food Run; Vellos5a", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "85", + "travel_stellar": "140", + "return_stellar": "171", + "cargo_type": "0", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "1", + "ship_system": "137", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7126", + "dropoff_cargo_desc": "8126", + "completion_desc": "9126", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "128", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b354 & !b361", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0050", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 144: { + "resource_type": "misn", + "id": "144", + "name": "Rebel Equipment Drop; Vellos6", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "149", + "return_stellar": "171", + "cargo_type": "5", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "2", + "ship_system": "167", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5126", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7355", + "dropoff_cargo_desc": "8355", + "completion_desc": "9355", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b354 & !b355", + "on_accept": "A819", + "on_refuse": "", + "on_success": "b355 S819", + "on_failure": "", + "on_abort": "S819", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 145: { + "resource_type": "misn", + "id": "145", + "name": "Regular Equipment Run; Vellos6a", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "70", + "travel_stellar": "149", + "return_stellar": "171", + "cargo_type": "5", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "2", + "ship_system": "167", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7353", + "dropoff_cargo_desc": "8126", + "completion_desc": "9128", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b355 & !b361", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0150", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 146: { + "resource_type": "misn", + "id": "146", + "name": "Rescue Agent; Vellos7", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "171", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "35000", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "175", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25006", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "4", + "ship_subtitle": "-1", + "briefing_desc": "5356", + "quick_briefing_desc": "6126", + "load_cargo_desc": "7129", + "dropoff_cargo_desc": "8128", + "completion_desc": "9129", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b355 & !b356", + "on_accept": "A819", + "on_refuse": "", + "on_success": "b356 S798 S819", + "on_failure": "", + "on_abort": "S819", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1874", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 147: { + "resource_type": "misn", + "id": "147", + "name": "Receive Instructions from Krane; Vellos8", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "138", + "return_stellar": "128", + "cargo_type": "18", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-10128", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6051", + "load_cargo_desc": "7357", + "dropoff_cargo_desc": "8050", + "completion_desc": "9052", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b356 & !b510", + "on_accept": "", + "on_refuse": "", + "on_success": "b357 b510", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 148: { + "resource_type": "misn", + "id": "148", + "name": "Rescue Rebel; Vellos8a", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "40", + "travel_stellar": "10000", + "return_stellar": "138", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "141", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "5128", + "quick_briefing_desc": "6126", + "load_cargo_desc": "7358", + "dropoff_cargo_desc": "-1", + "completion_desc": "9358", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "(b357 & b510) & !(b358 | b361)", + "on_accept": "", + "on_refuse": "", + "on_success": "b358", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0054", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 149: { + "resource_type": "misn", + "id": "149", + "name": "Insert Bureau Agent; Vellos9", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "171", + "cargo_type": "19", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "35000", + "ship_count": "2", + "ship_system": "-4", + "ship_dude": "170", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6052", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8359", + "completion_desc": "9359", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b358", + "on_accept": "A819", + "on_refuse": "", + "on_success": "b359 !b358", + "on_failure": "", + "on_abort": "S819", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 150: { + "resource_type": "misn", + "id": "150", + "name": "Transport Mu'Randa;Polaris1", + "available_stellar": "10001", + "available_location": "1", + "available_record": "0", + "available_rating": "200", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "139", + "cargo_type": "29", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5275", + "quick_briefing_desc": "6275", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9275", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b275 | b512) & !((b511 | b515) | b6666)", + "on_accept": "b511", + "on_refuse": "b6666", + "on_success": "b275 b515 b518", + "on_failure": "!b511", + "on_abort": "!b511", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 151: { + "resource_type": "misn", + "id": "151", + "name": "Take Mu'Randa to Sol;Polaris2", + "available_stellar": "139", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "75", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "29", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "2", + "completion_government": "130", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5276", + "quick_briefing_desc": "6276", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9276", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b275 & !b276", + "on_accept": "", + "on_refuse": "", + "on_success": "b276", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 152: { + "resource_type": "misn", + "id": "152", + "name": "See Vell-os Remains;Polaris3", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "217", + "cargo_type": "29", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "2", + "completion_government": "130", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5277", + "quick_briefing_desc": "6277", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9277", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "1", + "aux_ship_dude": "146", + "aux_ship_syst": "198", + "available_ship_type": "127", + "available_bits": "b276 & !b277", + "on_accept": "", + "on_refuse": "", + "on_success": "b277", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 153: { + "resource_type": "misn", + "id": "153", + "name": "Pick up Bis Andreya;Polaris4 CONTINUE", + "available_stellar": "217", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "137", + "cargo_type": "29", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "-10147", + "ship_count": "3", + "ship_system": "128", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "15", + "ship_subtitle": "25006", + "briefing_desc": "5278", + "quick_briefing_desc": "6278", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "1", + "aux_ship_dude": "145", + "aux_ship_syst": "198", + "available_ship_type": "127", + "available_bits": "b277 & !(b512 | b5757)", + "on_accept": "", + "on_refuse": "", + "on_success": "b5757", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 154: { + "resource_type": "misn", + "id": "154", + "name": "Go to P'ar Aed;Polaris5", + "available_stellar": "267", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "286", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-10138", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "130", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "5279", + "quick_briefing_desc": "6279", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9279", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b278 & !b315) & !(b279 | b316)", + "on_accept": "", + "on_refuse": "", + "on_success": "R(b279 b316)", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 155: { + "resource_type": "misn", + "id": "155", + "name": "Take Sample;Polaris6a", + "available_stellar": "286", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "286", + "cargo_type": "31", + "cargo_amount": "1", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "1", + "ship_system": "521", + "ship_dude": "186", + "ship_goal": "2", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "-1", + "ship_subtitle": "25038", + "briefing_desc": "5280", + "quick_briefing_desc": "6280", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9280", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b279 & !b280", + "on_accept": "", + "on_refuse": "", + "on_success": "b280", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1200", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 156: { + "resource_type": "misn", + "id": "156", + "name": "Explore Wraith Space;Polaris7a", + "available_stellar": "286", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "286", + "cargo_type": "21", + "cargo_amount": "5", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "3", + "ship_system": "510", + "ship_dude": "144", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5281", + "quick_briefing_desc": "6281", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8281", + "completion_desc": "9281", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b280 & !b281", + "on_accept": "", + "on_refuse": "", + "on_success": "b281 S837", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25059", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 157: { + "resource_type": "misn", + "id": "157", + "name": "Broadcast Message;Polaris8a", + "available_stellar": "286", + "available_location": "1", + "available_record": "0", + "available_rating": "10", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "286", + "cargo_type": "21", + "cargo_amount": "5", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "3", + "ship_system": "521", + "ship_dude": "144", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "139", + "completion_reward": "20", + "ship_subtitle": "-1", + "briefing_desc": "5282", + "quick_briefing_desc": "6282", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9282", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b281 & b5759) & !b282", + "on_accept": "A837", + "on_refuse": "", + "on_success": "b282 S838", + "on_failure": "", + "on_abort": "S837", + "on_ship_done": "Q25060", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1200", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 158: { + "resource_type": "misn", + "id": "158", + "name": "Watch Wraith Talks;Polaris9a", + "available_stellar": "290", + "available_location": "3", + "available_record": "0", + "available_rating": "10", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "254", + "cargo_type": "29", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "60000", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "187", + "ship_goal": "3", + "ship_behavior": "-1", + "ship_name": "25007", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5283", + "quick_briefing_desc": "6283", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8283", + "completion_desc": "9283", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "138", + "aux_ship_syst": "237", + "available_ship_type": "127", + "available_bits": "b282 & !b283", + "on_accept": "A838", + "on_refuse": "", + "on_success": "b283", + "on_failure": "", + "on_abort": "S838", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 159: { + "resource_type": "misn", + "id": "159", + "name": "Return From Talks;Polaris10a", + "available_stellar": "254", + "available_location": "1", + "available_record": "0", + "available_rating": "10", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "290", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "60000", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "187", + "ship_goal": "3", + "ship_behavior": "-1", + "ship_name": "25007", + "ship_start": "1", + "completion_government": "139", + "completion_reward": "20", + "ship_subtitle": "-1", + "briefing_desc": "5284", + "quick_briefing_desc": "6284", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9284", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "138", + "aux_ship_syst": "237", + "available_ship_type": "127", + "available_bits": "b283 & !b284", + "on_accept": "", + "on_refuse": "", + "on_success": "b284 b1300 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 160: { + "resource_type": "misn", + "id": "160", + "name": "Scout Wraith Space;Polaris11a", + "available_stellar": "10002", + "available_location": "3", + "available_record": "10", + "available_rating": "20", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-4", + "ship_dude": "171", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25005", + "ship_start": "-1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "5285", + "quick_briefing_desc": "6285", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "7285", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b284 & !b6137) & !(b285 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b6137 S600 Q25076", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1002", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 161: { + "resource_type": "misn", + "id": "161", + "name": "Meet With Rebels;Polaris12", + "available_stellar": "10002", + "available_location": "3", + "available_record": "0", + "available_rating": "30", + "available_random": "45", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "29", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-4", + "ship_dude": "171", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25005", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5286", + "quick_briefing_desc": "6286", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8286", + "completion_desc": "9286", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b285 & !(b286 | b6666)", + "on_accept": "k148", + "on_refuse": "", + "on_success": "b286", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 162: { + "resource_type": "misn", + "id": "162", + "name": "Return to Kel'ar Iy;Polaris13", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "254", + "cargo_type": "29", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "200000", + "ship_count": "1", + "ship_system": "-1", + "ship_dude": "171", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25005", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5287", + "quick_briefing_desc": "6287", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8287", + "completion_desc": "9287", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b286 & !b287", + "on_accept": "", + "on_refuse": "", + "on_success": "b287 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 163: { + "resource_type": "misn", + "id": "163", + "name": "Take Mu'Hari to Port Kane;Polaris14", + "available_stellar": "10002", + "available_location": "3", + "available_record": "30", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "-1", + "return_stellar": "137", + "cargo_type": "32", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-10128", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5288", + "quick_briefing_desc": "6288", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8288", + "completion_desc": "9288", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b287 & !(b288 | b6666)", + "on_accept": "K130", + "on_refuse": "", + "on_success": "b288", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 164: { + "resource_type": "misn", + "id": "164", + "name": "Return With Message;Polaris15", + "available_stellar": "137", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "267", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "60000", + "ship_count": "8", + "ship_system": "-1", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5289", + "quick_briefing_desc": "6289", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9289", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b288 & !b289", + "on_accept": "", + "on_refuse": "", + "on_success": "b289", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 165: { + "resource_type": "misn", + "id": "165", + "name": "ATTN: Ory'hara;Polaris16", + "available_stellar": "10002", + "available_location": "0", + "available_record": "0", + "available_rating": "50", + "available_random": "40", + "travel_stellar": "10002", + "return_stellar": "128", + "cargo_type": "32", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "75000", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5290", + "quick_briefing_desc": "6290", + "load_cargo_desc": "7290", + "dropoff_cargo_desc": "8290", + "completion_desc": "9290", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b289 & !b290", + "on_accept": "", + "on_refuse": "", + "on_success": "b290", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 166: { + "resource_type": "misn", + "id": "166", + "name": "ATTN: Ory'hara;Polaris17", + "available_stellar": "10002", + "available_location": "0", + "available_record": "0", + "available_rating": "50", + "available_random": "40", + "travel_stellar": "10002", + "return_stellar": "134", + "cargo_type": "32", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "80000", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5291", + "quick_briefing_desc": "6291", + "load_cargo_desc": "7291", + "dropoff_cargo_desc": "8291", + "completion_desc": "9291", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b290 & !b291", + "on_accept": "", + "on_refuse": "", + "on_success": "b291", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 167: { + "resource_type": "misn", + "id": "167", + "name": "ATTN: Ory'hara;Polaris18", + "available_stellar": "10002", + "available_location": "0", + "available_record": "0", + "available_rating": "50", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "139", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "133", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5292", + "quick_briefing_desc": "6292", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8292", + "completion_desc": "9292", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "1", + "aux_ship_dude": "151", + "aux_ship_syst": "185", + "available_ship_type": "127", + "available_bits": "b291 & !b292", + "on_accept": "", + "on_refuse": "", + "on_success": "b292", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 168: { + "resource_type": "misn", + "id": "168", + "name": "Eamon's Answer;Polaris19", + "available_stellar": "139", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "267", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "200000", + "ship_count": "1", + "ship_system": "185", + "ship_dude": "151", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5293", + "quick_briefing_desc": "6293", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8293", + "completion_desc": "9293", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b292 & !b293", + "on_accept": "", + "on_refuse": "", + "on_success": "b293 b44", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 169: { + "resource_type": "misn", + "id": "169", + "name": "ATTN:Ory'hara;Polaris20", + "available_stellar": "10002", + "available_location": "0", + "available_record": "0", + "available_rating": "75", + "available_random": "35", + "travel_stellar": "10002", + "return_stellar": "138", + "cargo_type": "32", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "95000", + "ship_count": "6", + "ship_system": "162", + "ship_dude": "188", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "10", + "ship_subtitle": "25006", + "briefing_desc": "5294", + "quick_briefing_desc": "6294", + "load_cargo_desc": "7294", + "dropoff_cargo_desc": "8294", + "completion_desc": "9294", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b5761 & !b294", + "on_accept": "", + "on_refuse": "", + "on_success": "b294 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 170: { + "resource_type": "misn", + "id": "170", + "name": "Open Rebel Talks;Polaris21", + "available_stellar": "10002", + "available_location": "3", + "available_record": "0", + "available_rating": "100", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-4", + "ship_dude": "146", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5295", + "quick_briefing_desc": "6295", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8295", + "completion_desc": "9295", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b294 & !(b295 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b295", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 171: { + "resource_type": "misn", + "id": "171", + "name": "Return With Rebel Ambassador;Polaris22", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "100", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "254", + "cargo_type": "33", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "100000", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "262", + "ship_goal": "3", + "ship_behavior": "1", + "ship_name": "25005", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5296", + "quick_briefing_desc": "6296", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9296", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b295 & !b296", + "on_accept": "", + "on_refuse": "", + "on_success": "b296 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 172: { + "resource_type": "misn", + "id": "172", + "name": "Head to Nil'ar Kemorya;Polaris23", + "available_stellar": "10002", + "available_location": "3", + "available_record": "0", + "available_rating": "200", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "232", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-4", + "ship_dude": "182", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25003", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5297", + "quick_briefing_desc": "6297", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8297", + "completion_desc": "9297", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b296 & !(b297 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b297 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "180", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 173: { + "resource_type": "misn", + "id": "173", + "name": "Defend Polaris Space;Polaris24", + "available_stellar": "10002", + "available_location": "3", + "available_record": "0", + "available_rating": "250", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "-4", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "60000", + "ship_count": "7", + "ship_system": "265", + "ship_dude": "155", + "ship_goal": "6", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "147", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5298", + "quick_briefing_desc": "6298", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9298", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b348 & b297) & !(b298 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b298 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25061", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1200", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 174: { + "resource_type": "misn", + "id": "174", + "name": "Defend Polaris Space;Polaris25", + "available_stellar": "10002", + "available_location": "3", + "available_record": "0", + "available_rating": "300", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "-4", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "60000", + "ship_count": "11", + "ship_system": "218", + "ship_dude": "155", + "ship_goal": "6", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "147", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5299", + "quick_briefing_desc": "6299", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8299", + "completion_desc": "9299", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b298 & !(b299 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b299 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25061", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1200", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 175: { + "resource_type": "misn", + "id": "175", + "name": "Scout Auroran Space;Polaris26", + "available_stellar": "10002", + "available_location": "1", + "available_record": "0", + "available_rating": "300", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "297", + "cargo_type": "34", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-4", + "ship_dude": "267", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "147", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "5300", + "quick_briefing_desc": "6300", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8300", + "completion_desc": "9300", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b299 & !(b300 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b300", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 176: { + "resource_type": "misn", + "id": "176", + "name": "Meet With Rimertans;Polaris27", + "available_stellar": "297", + "available_location": "1", + "available_record": "0", + "available_rating": "300", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "335", + "cargo_type": "34", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-30129", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "267", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "142", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5301", + "quick_briefing_desc": "6301", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8301", + "completion_desc": "9301", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b300 & !b301", + "on_accept": "", + "on_refuse": "", + "on_success": "b301", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 177: { + "resource_type": "misn", + "id": "177", + "name": "Meet With Heraan House;Polaris28 - Unregistered cutoff", + "available_stellar": "335", + "available_location": "1", + "available_record": "0", + "available_rating": "300", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "34", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-4", + "ship_dude": "267", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5302", + "quick_briefing_desc": "6302", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8302", + "completion_desc": "9302", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b301) & !b302", + "on_accept": "", + "on_refuse": "", + "on_success": "b302", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 178: { + "resource_type": "misn", + "id": "178", + "name": "Return To Mu'ar Haro;Polaris29", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "300", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "267", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "350000", + "ship_count": "2", + "ship_system": "312", + "ship_dude": "156", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "147", + "completion_reward": "15", + "ship_subtitle": "-1", + "briefing_desc": "5303", + "quick_briefing_desc": "6303", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8303", + "completion_desc": "9303", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b302) & !b303", + "on_accept": "", + "on_refuse": "", + "on_success": "b303 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 179: { + "resource_type": "misn", + "id": "179", + "name": "Consult Vell-os;Polaris30", + "available_stellar": "10002", + "available_location": "3", + "available_record": "0", + "available_rating": "300", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-10140", + "ship_count": "6", + "ship_system": "-4", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "5349", + "quick_briefing_desc": "6349", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8349", + "completion_desc": "9349", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b296 & !b4444) & !(b349 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b349", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 180: { + "resource_type": "misn", + "id": "180", + "name": "Return to P'ar Aed;Polaris31", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "300", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "286", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "140000", + "ship_count": "8", + "ship_system": "-6", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "5348", + "quick_briefing_desc": "6348", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9348", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "128", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b349 & !b348", + "on_accept": "", + "on_refuse": "", + "on_success": "b348", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 181: { + "resource_type": "misn", + "id": "181", + "name": "Find Vellos;Polaris32", + "available_stellar": "286", + "available_location": "1", + "available_record": "0", + "available_rating": "300", + "available_random": "100", + "travel_stellar": "408", + "return_stellar": "286", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "140000", + "ship_count": "2", + "ship_system": "424", + "ship_dude": "146", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "140", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5347", + "quick_briefing_desc": "6347", + "load_cargo_desc": "7347", + "dropoff_cargo_desc": "8347", + "completion_desc": "9347", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b303) & !b347", + "on_accept": "S862 S863 S864 S865 S866", + "on_refuse": "", + "on_success": "b347 b6666 D339 A862 A863 A864 A865 A866 A867 A868 A869 A870 A871", + "on_failure": "", + "on_abort": "A862 A863 A864 A865 A866", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 182: { + "resource_type": "misn", + "id": "182", + "name": "Observe Experiment;Polaris33", + "available_stellar": "10002", + "available_location": "3", + "available_record": "0", + "available_rating": "400", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "270", + "cargo_type": "29", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "60000", + "ship_count": "2", + "ship_system": "246", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "140", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5304", + "quick_briefing_desc": "6304", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8304", + "completion_desc": "9304", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b347) & !(b304 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b304 b8906", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 183: { + "resource_type": "misn", + "id": "183", + "name": "Capture Vell-os;Polaris34", + "available_stellar": "10002", + "available_location": "1", + "available_record": "0", + "available_rating": "500", + "available_random": "60", + "travel_stellar": "128", + "return_stellar": "270", + "cargo_type": "28", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "750000", + "ship_count": "6", + "ship_system": "-3", + "ship_dude": "130", + "ship_goal": "4", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "130", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5305", + "quick_briefing_desc": "6305", + "load_cargo_desc": "7305", + "dropoff_cargo_desc": "8305", + "completion_desc": "9305", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "8", + "aux_ship_dude": "128", + "aux_ship_syst": "-2", + "available_ship_type": "127", + "available_bits": "(P0 & b304) & !b305", + "on_accept": "", + "on_refuse": "", + "on_success": "b305 b332 b1100 b6666 b8908", + "on_failure": "", + "on_abort": "", + "on_ship_done": "S854", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 184: { + "resource_type": "misn", + "id": "184", + "name": "Pass on Info;Polaris35", + "available_stellar": "10002", + "available_location": "3", + "available_record": "0", + "available_rating": "600", + "available_random": "60", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-4", + "ship_dude": "267", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5306", + "quick_briefing_desc": "6306", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8306", + "completion_desc": "9306", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b305) & !(b306 | b6666)", + "on_accept": "b1100", + "on_refuse": "", + "on_success": "b306", + "on_failure": "", + "on_abort": "!b1100", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 185: { + "resource_type": "misn", + "id": "185", + "name": "Alert Rimertans;Polaris36", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "600", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "335", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "8", + "ship_system": "-4", + "ship_dude": "267", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "142", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5307", + "quick_briefing_desc": "6307", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9307", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b306) & !b307", + "on_accept": "", + "on_refuse": "", + "on_success": "b307", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 186: { + "resource_type": "misn", + "id": "186", + "name": "Observe Bureau;Polaris37", + "available_stellar": "335", + "available_location": "1", + "available_record": "0", + "available_rating": "600", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "35", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "8", + "ship_system": "366", + "ship_dude": "197", + "ship_goal": "4", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "143", + "completion_reward": "10", + "ship_subtitle": "25006", + "briefing_desc": "-1", + "quick_briefing_desc": "6308", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8308", + "completion_desc": "9308", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "161", + "aux_ship_syst": "366", + "available_ship_type": "127", + "available_bits": "(P0 & b307) & !b308", + "on_accept": "", + "on_refuse": "", + "on_success": "b308", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1214", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 187: { + "resource_type": "misn", + "id": "187", + "name": "Meet the Ruling Council;Polaris38", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "600", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "338", + "cargo_type": "6", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "143", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5309", + "quick_briefing_desc": "6309", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8309", + "completion_desc": "9309", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b308) & !b309", + "on_accept": "", + "on_refuse": "", + "on_success": "b309 b6031", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 188: { + "resource_type": "misn", + "id": "188", + "name": "Return to Kel'ar Iy;Polaris39", + "available_stellar": "338", + "available_location": "1", + "available_record": "0", + "available_rating": "600", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "254", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "1500000", + "ship_count": "2", + "ship_system": "-6", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5310", + "quick_briefing_desc": "6310", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8310", + "completion_desc": "9310", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "161", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b309) & !b310", + "on_accept": "", + "on_refuse": "", + "on_success": "b310 b6666 b323", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1014", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 189: { + "resource_type": "misn", + "id": "189", + "name": "Find Krypt-tokh;Polaris40", + "available_stellar": "10002", + "available_location": "3", + "available_record": "0", + "available_rating": "600", + "available_random": "50", + "travel_stellar": "408", + "return_stellar": "407", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "130", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5311", + "quick_briefing_desc": "6311", + "load_cargo_desc": "7311", + "dropoff_cargo_desc": "8311", + "completion_desc": "9311", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b310) & !(b311 | b6666)", + "on_accept": "S872", + "on_refuse": "", + "on_success": "b311 b330 S839 A872", + "on_failure": "", + "on_abort": "A872", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 190: { + "resource_type": "misn", + "id": "190", + "name": "Ferry Mu'Randa;Polaris41", + "available_stellar": "267", + "available_location": "3", + "available_record": "0", + "available_rating": "600", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "254", + "cargo_type": "29", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "750000", + "ship_count": "1", + "ship_system": "237", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "20", + "ship_subtitle": "-1", + "briefing_desc": "5312", + "quick_briefing_desc": "6312", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8312", + "completion_desc": "9312", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b311) & !b312", + "on_accept": "", + "on_refuse": "", + "on_success": "b312", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 191: { + "resource_type": "misn", + "id": "191", + "name": "Travel to Ar'Za Iusia;Polaris42", + "available_stellar": "254", + "available_location": "1", + "available_record": "0", + "available_rating": "600", + "available_random": "100", + "travel_stellar": "249", + "return_stellar": "254", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "237", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6313", + "load_cargo_desc": "7313", + "dropoff_cargo_desc": "-1", + "completion_desc": "9313", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b312) & !b313", + "on_accept": "S872", + "on_refuse": "", + "on_success": "b313 A872", + "on_failure": "", + "on_abort": "A872", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 192: { + "resource_type": "misn", + "id": "192", + "name": "Head to Port Kane;Polaris43a", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "600", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "137", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-4", + "ship_dude": "197", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5314", + "quick_briefing_desc": "6314", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9314", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "20314", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "130", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "(P0 & b313) & !b314", + "on_accept": "b315 S880 S881 G209", + "on_refuse": "b314 S880 S881 S888 G209", + "on_success": "b314 S882 S883", + "on_failure": "", + "on_abort": "!b315 A880 A881", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "Federation", + "refuse_button": "Auroran", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1810", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 193: { + "resource_type": "misn", + "id": "193", + "name": "Rebel Insertion; Vellos10", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "175", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25006", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5360", + "quick_briefing_desc": "6053", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9360", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b359 & !b360", + "on_accept": "", + "on_refuse": "", + "on_success": "b360 S798", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1854", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 194: { + "resource_type": "misn", + "id": "194", + "name": "Learn the Rules...; Vellos11", + "available_stellar": "128", + "available_location": "3", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-10128", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "136", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5423", + "quick_briefing_desc": "6423", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8423", + "completion_desc": "9423", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b360 & !b423", + "on_accept": "L131 K132 G206 D205 G338", + "on_refuse": "", + "on_success": "b423 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 195: { + "resource_type": "misn", + "id": "195", + "name": "Scout Moash Space; Vellos12", + "available_stellar": "138", + "available_location": "3", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "380", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5361", + "quick_briefing_desc": "6054", + "load_cargo_desc": "7053", + "dropoff_cargo_desc": "-1", + "completion_desc": "9361", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "161", + "aux_ship_syst": "366", + "available_ship_type": "127", + "available_bits": "b423 & !(b361 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b361", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1054", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 196: { + "resource_type": "misn", + "id": "196", + "name": "Distract Moash House; Vellos13", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "379", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-20131", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "179", + "ship_goal": "3", + "ship_behavior": "1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "153", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5362", + "quick_briefing_desc": "6055", + "load_cargo_desc": "7362", + "dropoff_cargo_desc": "-1", + "completion_desc": "9362", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "1", + "aux_ship_dude": "169", + "aux_ship_syst": "365", + "available_ship_type": "127", + "available_bits": "b361 & !b362", + "on_accept": "S905 S606", + "on_refuse": "", + "on_success": "b362 A905 A606", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1054", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 197: { + "resource_type": "misn", + "id": "197", + "name": "Learn About Vell-os; Vellos14", + "available_stellar": "128", + "available_location": "3", + "available_record": "0", + "available_rating": "-1", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "136", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5422", + "quick_briefing_desc": "6422", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8422", + "completion_desc": "9422", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b423 & !b422", + "on_accept": "b422 L132 K133 H381 G221 G249 g252 g253 T25040 b9812 L148 G207 D206", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "!b422 !b9812", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 198: { + "resource_type": "misn", + "id": "198", + "name": "Talk to Moash Elders; Vellos15", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "380", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "131", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5363", + "quick_briefing_desc": "6056", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8363", + "completion_desc": "9363", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "130", + "aux_ship_syst": "366", + "available_ship_type": "381", + "available_bits": "b362 & !b363", + "on_accept": "", + "on_refuse": "", + "on_success": "b363", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1054", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 199: { + "resource_type": "misn", + "id": "199", + "name": "Return With Response; Vellos16", + "available_stellar": "380", + "available_location": "3", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "131", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6057", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9364", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "130", + "aux_ship_syst": "366", + "available_ship_type": "381", + "available_bits": "b363 & !b364", + "on_accept": "", + "on_refuse": "", + "on_success": "b364 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1054", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 200: { + "resource_type": "misn", + "id": "200", + "name": "Ferry Passengers to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 201: { + "resource_type": "misn", + "id": "201", + "name": "Ferry Passengers to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 202: { + "resource_type": "misn", + "id": "202", + "name": "Ferry Passengers to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 203: { + "resource_type": "misn", + "id": "203", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 204: { + "resource_type": "misn", + "id": "204", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 205: { + "resource_type": "misn", + "id": "205", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 206: { + "resource_type": "misn", + "id": "206", + "name": "Ferry a P'aedt to ", + "available_stellar": "10002", + "available_location": "0", + "available_record": "1", + "available_rating": "-1", + "available_random": "66", + "travel_stellar": "10002", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25001", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30001", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b278 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 207: { + "resource_type": "misn", + "id": "207", + "name": "Ferry a Ver'ash to ", + "available_stellar": "10002", + "available_location": "0", + "available_record": "1", + "available_rating": "-1", + "available_random": "94", + "travel_stellar": "10002", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "12500", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25002", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30002", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b278 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 208: { + "resource_type": "misn", + "id": "208", + "name": "Ferry a Tre'pira to ", + "available_stellar": "10002", + "available_location": "0", + "available_record": "1", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "10002", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25003", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30003", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b278 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 209: { + "resource_type": "misn", + "id": "209", + "name": "Ferry a Kel'ariy to ", + "available_stellar": "10002", + "available_location": "0", + "available_record": "4", + "available_rating": "-1", + "available_random": "42", + "travel_stellar": "10002", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25004", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30004", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b278 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 210: { + "resource_type": "misn", + "id": "210", + "name": "Ferry a Mu'hari to ", + "available_stellar": "10002", + "available_location": "0", + "available_record": "2", + "available_rating": "-1", + "available_random": "18", + "travel_stellar": "10002", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25005", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30005", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b278 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 211: { + "resource_type": "misn", + "id": "211", + "name": "Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 212: { + "resource_type": "misn", + "id": "212", + "name": "Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 213: { + "resource_type": "misn", + "id": "213", + "name": "Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-12", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "18000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 214: { + "resource_type": "misn", + "id": "214", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 215: { + "resource_type": "misn", + "id": "215", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 216: { + "resource_type": "misn", + "id": "216", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-12", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "18000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 217: { + "resource_type": "misn", + "id": "217", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-12", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "18000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 218: { + "resource_type": "misn", + "id": "218", + "name": "Rush Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-20", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25007", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28007", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "30", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0140", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 219: { + "resource_type": "misn", + "id": "219", + "name": "Rush Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-24", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "30000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25007", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28007", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "32", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0140", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 220: { + "resource_type": "misn", + "id": "220", + "name": "Rush Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-20", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25007", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28007", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "35", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0140", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 221: { + "resource_type": "misn", + "id": "221", + "name": "Rush Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-24", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "30000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25007", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28007", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "40", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0140", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 222: { + "resource_type": "misn", + "id": "222", + "name": "Urgent Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "4", + "available_rating": "2", + "available_random": "60", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-40", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "60000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25008", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28008", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "18", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0140", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 223: { + "resource_type": "misn", + "id": "223", + "name": "Urgent Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "4", + "available_rating": "2", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-40", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "60000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25008", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28008", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "20", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0140", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 224: { + "resource_type": "misn", + "id": "224", + "name": "Ferry Passengers to ", + "available_stellar": "10003", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 225: { + "resource_type": "misn", + "id": "225", + "name": "Ferry Passengers to ", + "available_stellar": "10003", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 226: { + "resource_type": "misn", + "id": "226", + "name": "Ferry Passengers to ", + "available_stellar": "10003", + "available_location": "0", + "available_record": "2", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10003", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 227: { + "resource_type": "misn", + "id": "227", + "name": "Ferry Passengers to ", + "available_stellar": "10004", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 228: { + "resource_type": "misn", + "id": "228", + "name": "Ferry Passengers to ", + "available_stellar": "10004", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 229: { + "resource_type": "misn", + "id": "229", + "name": "Ferry Passengers to ", + "available_stellar": "10004", + "available_location": "0", + "available_record": "2", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10004", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 230: { + "resource_type": "misn", + "id": "230", + "name": "Ferry Passengers to ", + "available_stellar": "10005", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 231: { + "resource_type": "misn", + "id": "231", + "name": "Ferry Passengers to ", + "available_stellar": "10005", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 232: { + "resource_type": "misn", + "id": "232", + "name": "Ferry Passengers to ", + "available_stellar": "10005", + "available_location": "0", + "available_record": "2", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10005", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 233: { + "resource_type": "misn", + "id": "233", + "name": "Ferry Passengers to ", + "available_stellar": "10006", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 234: { + "resource_type": "misn", + "id": "234", + "name": "Ferry Passengers to ", + "available_stellar": "10006", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 235: { + "resource_type": "misn", + "id": "235", + "name": "Ferry Passengers to ", + "available_stellar": "10006", + "available_location": "0", + "available_record": "2", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10006", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 236: { + "resource_type": "misn", + "id": "236", + "name": "Ferry Passengers to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 237: { + "resource_type": "misn", + "id": "237", + "name": "Ferry Passengers to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "2", + "available_rating": "-1", + "available_random": "35", + "travel_stellar": "10014", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 238: { + "resource_type": "misn", + "id": "238", + "name": "Ferry Passengers to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "2", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 239: { + "resource_type": "misn", + "id": "239", + "name": "Ferry Rebels to ", + "available_stellar": "419", + "available_location": "0", + "available_record": "2", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "421", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x8000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30007", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b127 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 240: { + "resource_type": "misn", + "id": "240", + "name": "Ferry Rebels to ", + "available_stellar": "421", + "available_location": "0", + "available_record": "2", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "419", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x8000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30007", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b127 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 241: { + "resource_type": "misn", + "id": "241", + "name": "Ferry Rebels to ", + "available_stellar": "421", + "available_location": "0", + "available_record": "4", + "available_rating": "2", + "available_random": "45", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x8000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25012", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30006", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b127 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 242: { + "resource_type": "misn", + "id": "242", + "name": "Ferry Rebels to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "2", + "available_random": "45", + "travel_stellar": "419", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x8000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25012", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30007", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b127 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 243: { + "resource_type": "misn", + "id": "243", + "name": "Ferry Rimertans to ", + "available_stellar": "10014", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "45", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30008", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 244: { + "resource_type": "misn", + "id": "244", + "name": "Ferry Rimertans to ", + "available_stellar": "10014", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "45", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30008", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 245: { + "resource_type": "misn", + "id": "245", + "name": "Ferry Rimertans to ", + "available_stellar": "10014", + "available_location": "0", + "available_record": "2", + "available_rating": "-1", + "available_random": "45", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 246: { + "resource_type": "misn", + "id": "246", + "name": "Ferry WG Rep to ", + "available_stellar": "10016", + "available_location": "0", + "available_record": "0", + "available_rating": "2", + "available_random": "70", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0800", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "144", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25011", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30022", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 247: { + "resource_type": "misn", + "id": "247", + "name": "Ferry WG Rep to ", + "available_stellar": "10016", + "available_location": "0", + "available_record": "0", + "available_rating": "2", + "available_random": "70", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0800", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "144", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25011", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30022", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 248: { + "resource_type": "misn", + "id": "248", + "name": "Ferry WG Rep to ", + "available_stellar": "10016", + "available_location": "0", + "available_record": "0", + "available_rating": "2", + "available_random": "70", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0800", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "144", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25011", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30022", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 249: { + "resource_type": "misn", + "id": "249", + "name": "Ferry WG Rep to ", + "available_stellar": "10016", + "available_location": "0", + "available_record": "0", + "available_rating": "2", + "available_random": "70", + "travel_stellar": "421", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0800", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "144", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25011", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30022", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 250: { + "resource_type": "misn", + "id": "250", + "name": "Ferry WG Rep to ", + "available_stellar": "10016", + "available_location": "0", + "available_record": "0", + "available_rating": "2", + "available_random": "45", + "travel_stellar": "10014", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0800", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "144", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25011", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30022", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 251: { + "resource_type": "misn", + "id": "251", + "name": "Head to Sol;Tutorial 001", + "available_stellar": "10000", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "73", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5200", + "quick_briefing_desc": "6200", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9200", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20200", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b9200 | b9215)", + "on_accept": "b8339 X130", + "on_refuse": "b9215", + "on_success": "b9200", + "on_failure": "", + "on_abort": "!b8339", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "100", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 252: { + "resource_type": "misn", + "id": "252", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "2", + "available_rating": "2", + "available_random": "20", + "travel_stellar": "10003", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 253: { + "resource_type": "misn", + "id": "253", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "2", + "available_rating": "2", + "available_random": "20", + "travel_stellar": "10004", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 254: { + "resource_type": "misn", + "id": "254", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "2", + "available_rating": "2", + "available_random": "20", + "travel_stellar": "10005", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 255: { + "resource_type": "misn", + "id": "255", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "2", + "available_rating": "2", + "available_random": "20", + "travel_stellar": "10006", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 256: { + "resource_type": "misn", + "id": "256", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "2", + "available_rating": "2", + "available_random": "20", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "5000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 257: { + "resource_type": "misn", + "id": "257", + "name": "Intro to Bounty Hunters Guild;Bounty Hunter1", + "available_stellar": "10000", + "available_location": "1", + "available_record": "1", + "available_rating": "150", + "available_random": "35", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "10000", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "251", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25000", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "15000", + "quick_briefing_desc": "16000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "19000", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b0 | b96) & !(b424 | b6666)", + "on_accept": "", + "on_refuse": "b6666", + "on_success": "b0 K146", + "on_failure": "", + "on_abort": "", + "on_ship_done": "b96", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0802", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 258: { + "resource_type": "misn", + "id": "258", + "name": "25000 Credit Bounty;Bounty Hunter1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "1", + "available_rating": "5", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "22500", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "251", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25000", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "15001", + "quick_briefing_desc": "16000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "19001", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b0 & !(b424 | b125)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0802", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 259: { + "resource_type": "misn", + "id": "259", + "name": "25000 Credit Bounty;Bounty Hunter1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "1", + "available_rating": "5", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "22500", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "251", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25000", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "15001", + "quick_briefing_desc": "16000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "19001", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b0 & !(b424 | b125)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0802", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 260: { + "resource_type": "misn", + "id": "260", + "name": "25000 Credit Bounty;Bounty Hunter1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "1", + "available_rating": "5", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "22500", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "252", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25001", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "15002", + "quick_briefing_desc": "16000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "19001", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b0 & !(b424 | b125)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0802", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 261: { + "resource_type": "misn", + "id": "261", + "name": "25000 Credit Bounty;Bounty Hunter1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "1", + "available_rating": "5", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "22500", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "252", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25001", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "15002", + "quick_briefing_desc": "16000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "19001", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b0 & !(b424 | b125)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0802", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 262: { + "resource_type": "misn", + "id": "262", + "name": "Auroran Negotiations;Bounty Hunter2", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "100", + "available_random": "45", + "travel_stellar": "10000", + "return_stellar": "338", + "cargo_type": "6", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-10129", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "235", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "142", + "completion_reward": "2", + "ship_subtitle": "25000", + "briefing_desc": "15003", + "quick_briefing_desc": "16001", + "load_cargo_desc": "17000", + "dropoff_cargo_desc": "-1", + "completion_desc": "19002", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "154", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b0 & !b424) & !(b1 | b511)", + "on_accept": "", + "on_refuse": "", + "on_success": "b1", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0910", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 263: { + "resource_type": "misn", + "id": "263", + "name": "Return from Aurora;Bounty Hunter3", + "available_stellar": "338", + "available_location": "1", + "available_record": "0", + "available_rating": "100", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "6", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "142", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "15004", + "quick_briefing_desc": "16002", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "19003", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "154", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1 & !(b2 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b2", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1110", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 264: { + "resource_type": "misn", + "id": "264", + "name": "50000 Credit Bounty;Bounty Hunter3a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "1", + "available_rating": "100", + "available_random": "20", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "12", + "cargo_amount": "2", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "45000", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "253", + "ship_goal": "2", + "ship_behavior": "0", + "ship_name": "25001", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "15005", + "quick_briefing_desc": "16003", + "load_cargo_desc": "17001", + "dropoff_cargo_desc": "18000", + "completion_desc": "19004", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1 & !(b424 | b125)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0802", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 265: { + "resource_type": "misn", + "id": "265", + "name": "50000 Credit Bounty;Bounty Hunter3a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "1", + "available_rating": "100", + "available_random": "20", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "12", + "cargo_amount": "2", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "45000", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "254", + "ship_goal": "2", + "ship_behavior": "0", + "ship_name": "25000", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "15006", + "quick_briefing_desc": "16003", + "load_cargo_desc": "17002", + "dropoff_cargo_desc": "18000", + "completion_desc": "19004", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1 & !(b424 | b125)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0802", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 266: { + "resource_type": "misn", + "id": "266", + "name": "Heraan Warrior Initiation;Bounty Hunter Auroran link", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "100", + "available_random": "100", + "travel_stellar": "388", + "return_stellar": "360", + "cargo_type": "13", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "15", + "ship_subtitle": "25000", + "briefing_desc": "15007", + "quick_briefing_desc": "16004", + "load_cargo_desc": "17003", + "dropoff_cargo_desc": "18001", + "completion_desc": "19005", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b2 & !b511) & !(b9111 | b424)", + "on_accept": "b511", + "on_refuse": "b9111", + "on_success": "b200 b44 k139 K151", + "on_failure": "!b511 b9111", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1050", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 267: { + "resource_type": "misn", + "id": "267", + "name": "Open Auroran Chapter House;Bounty Hunter4", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "300", + "available_random": "35", + "travel_stellar": "10000", + "return_stellar": "338", + "cargo_type": "6", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "142", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "15008", + "quick_briefing_desc": "16005", + "load_cargo_desc": "17004", + "dropoff_cargo_desc": "18002", + "completion_desc": "19006", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b2 & !(b3 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b3", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 268: { + "resource_type": "misn", + "id": "268", + "name": "First Auroran Bounty;Bounty Hunter5", + "available_stellar": "338", + "available_location": "0", + "available_record": "0", + "available_rating": "300", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "318", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "288", + "ship_dude": "172", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "129", + "completion_reward": "4", + "ship_subtitle": "25001", + "briefing_desc": "15009", + "quick_briefing_desc": "16006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "19007", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3 & !(b4 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b4", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x008C", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 269: { + "resource_type": "misn", + "id": "269", + "name": "First Auroran Bounty;Bounty Hunter6", + "available_stellar": "318", + "available_location": "1", + "available_record": "0", + "available_rating": "300", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "338", + "cargo_type": "14", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "90000", + "ship_count": "2", + "ship_system": "-6", + "ship_dude": "172", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "10", + "ship_subtitle": "25001", + "briefing_desc": "15010", + "quick_briefing_desc": "16006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "18003", + "completion_desc": "19008", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b4 & !(b5 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b5", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1144", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 270: { + "resource_type": "misn", + "id": "270", + "name": "25000 Credit Bounty;Bounty Hunter6a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "1", + "available_rating": "5", + "available_random": "25", + "travel_stellar": "-1", + "return_stellar": "338", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "22500", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "252", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25001", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "15011", + "quick_briefing_desc": "16007", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "19009", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b5 & !(b424 | b125)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0802", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 271: { + "resource_type": "misn", + "id": "271", + "name": "25000 Credit Bounty;Bounty Hunter6a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "1", + "available_rating": "5", + "available_random": "25", + "travel_stellar": "-1", + "return_stellar": "338", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "22500", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "252", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25001", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "15011", + "quick_briefing_desc": "16007", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "19009", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b5 & !(b424 | b125)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0802", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 272: { + "resource_type": "misn", + "id": "272", + "name": "25000 Credit Bounty;Bounty Hunter6a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "1", + "available_rating": "5", + "available_random": "25", + "travel_stellar": "-1", + "return_stellar": "338", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "22500", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "256", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25002", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "15012", + "quick_briefing_desc": "16007", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "19009", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b5 & !(b424 | b125)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0802", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 273: { + "resource_type": "misn", + "id": "273", + "name": "25000 Credit Bounty;Bounty Hunter6a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "1", + "available_rating": "5", + "available_random": "25", + "travel_stellar": "-1", + "return_stellar": "338", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "22500", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "256", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25002", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "15012", + "quick_briefing_desc": "16007", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "19009", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b5 & !(b424 | b125)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0802", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 274: { + "resource_type": "misn", + "id": "274", + "name": "50000 Credit Bounty;Bounty Hunter6b", + "available_stellar": "10001", + "available_location": "0", + "available_record": "1", + "available_rating": "200", + "available_random": "20", + "travel_stellar": "-1", + "return_stellar": "338", + "cargo_type": "12", + "cargo_amount": "2", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "45000", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "253", + "ship_goal": "2", + "ship_behavior": "0", + "ship_name": "25001", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "15013", + "quick_briefing_desc": "16003", + "load_cargo_desc": "17005", + "dropoff_cargo_desc": "18004", + "completion_desc": "19009", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b5 & !(b424 | b125)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0802", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 275: { + "resource_type": "misn", + "id": "275", + "name": "50000 Credit Bounty;Bounty Hunter6b", + "available_stellar": "10001", + "available_location": "0", + "available_record": "1", + "available_rating": "200", + "available_random": "20", + "travel_stellar": "-1", + "return_stellar": "338", + "cargo_type": "12", + "cargo_amount": "2", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "45000", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "255", + "ship_goal": "2", + "ship_behavior": "0", + "ship_name": "25002", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "15014", + "quick_briefing_desc": "16003", + "load_cargo_desc": "17005", + "dropoff_cargo_desc": "18005", + "completion_desc": "19009", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b5 & !(b424 | b125)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0802", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 276: { + "resource_type": "misn", + "id": "276", + "name": "Meet the Polaris;Bounty Hunter7", + "available_stellar": "-1", + "available_location": "1", + "available_record": "0", + "available_rating": "500", + "available_random": "35", + "travel_stellar": "254", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "1", + "ship_system": "-3", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25003", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "4", + "ship_subtitle": "-1", + "briefing_desc": "15015", + "quick_briefing_desc": "16008", + "load_cargo_desc": "17006", + "dropoff_cargo_desc": "18006", + "completion_desc": "19010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b5 & !b6) & !(b503 | b424)", + "on_accept": "K150", + "on_refuse": "", + "on_success": "b6", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0140", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 277: { + "resource_type": "misn", + "id": "277", + "name": "Remember the 2nd Rule;Bounty Hunter8", + "available_stellar": "-1", + "available_location": "1", + "available_record": "0", + "available_rating": "700", + "available_random": "45", + "travel_stellar": "422", + "return_stellar": "128", + "cargo_type": "14", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "250000", + "ship_count": "3", + "ship_system": "-3", + "ship_dude": "172", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "25004", + "briefing_desc": "15016", + "quick_briefing_desc": "16009", + "load_cargo_desc": "17007", + "dropoff_cargo_desc": "18007", + "completion_desc": "19011", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "172", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "b6 & !(b7 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b7", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0110", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 278: { + "resource_type": "misn", + "id": "278", + "name": "150000 Renegade Bounty;Bounty Hunter8a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "15", + "travel_stellar": "20002", + "return_stellar": "128", + "cargo_type": "15", + "cargo_amount": "5", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "135000", + "ship_count": "1", + "ship_system": "-3", + "ship_dude": "257", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25004", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "15017", + "quick_briefing_desc": "16010", + "load_cargo_desc": "17008", + "dropoff_cargo_desc": "-1", + "completion_desc": "19012", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b7 & !(b424 | b125)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0900", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 279: { + "resource_type": "misn", + "id": "279", + "name": "Rebel Information;Bounty Hunter9", + "available_stellar": "-1", + "available_location": "1", + "available_record": "0", + "available_rating": "1000", + "available_random": "40", + "travel_stellar": "421", + "return_stellar": "128", + "cargo_type": "16", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8008", + "pay_value": "250000", + "ship_count": "1", + "ship_system": "132", + "ship_dude": "173", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25002", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "61", + "briefing_desc": "15018", + "quick_briefing_desc": "16011", + "load_cargo_desc": "17009", + "dropoff_cargo_desc": "18008", + "completion_desc": "19013", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b7 & !b424) & !(b8 | b511)", + "on_accept": "b511", + "on_refuse": "", + "on_success": "b8", + "on_failure": "b8 b61", + "on_abort": "!b511", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1160", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 280: { + "resource_type": "misn", + "id": "280", + "name": "Join the Rebels;Bounty Hunter Rebel link", + "available_stellar": "-1", + "available_location": "1", + "available_record": "0", + "available_rating": "1000", + "available_random": "60", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "15019", + "quick_briefing_desc": "16012", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "19014", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b8 & !b424) & !(b61 | b125)", + "on_accept": "", + "on_refuse": "", + "on_success": "b125 S783", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1064", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 281: { + "resource_type": "misn", + "id": "281", + "name": "Ferry Passengers to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 282: { + "resource_type": "misn", + "id": "282", + "name": "Ferry Passengers to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 283: { + "resource_type": "misn", + "id": "283", + "name": "Ferry Passengers to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 284: { + "resource_type": "misn", + "id": "284", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 285: { + "resource_type": "misn", + "id": "285", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 286: { + "resource_type": "misn", + "id": "286", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 287: { + "resource_type": "misn", + "id": "287", + "name": "Ferry Passengers to ", + "available_stellar": "10003", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10003", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 288: { + "resource_type": "misn", + "id": "288", + "name": "Ferry Passengers to ", + "available_stellar": "10004", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10004", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 289: { + "resource_type": "misn", + "id": "289", + "name": "Ferry Passengers to ", + "available_stellar": "10005", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10005", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 290: { + "resource_type": "misn", + "id": "290", + "name": "Ferry Passengers to ", + "available_stellar": "10006", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10006", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 291: { + "resource_type": "misn", + "id": "291", + "name": "Ferry Passengers to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 292: { + "resource_type": "misn", + "id": "292", + "name": "Ferry Passengers to ", + "available_stellar": "419", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "421", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 293: { + "resource_type": "misn", + "id": "293", + "name": "Ferry Passengers to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 294: { + "resource_type": "misn", + "id": "294", + "name": "Ferry Passengers to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 295: { + "resource_type": "misn", + "id": "295", + "name": "Ferry Passengers to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 296: { + "resource_type": "misn", + "id": "296", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 297: { + "resource_type": "misn", + "id": "297", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 298: { + "resource_type": "misn", + "id": "298", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 299: { + "resource_type": "misn", + "id": "299", + "name": "Ferry Passengers to ", + "available_stellar": "10003", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10003", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 300: { + "resource_type": "misn", + "id": "300", + "name": "Rescue Tomak;Pirate Offshoot 001", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "191", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5425", + "quick_briefing_desc": "6428", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b651 & !b425", + "on_accept": "b425 b426", + "on_refuse": "b425", + "on_success": "", + "on_failure": "", + "on_abort": "!b425 !b426", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 301: { + "resource_type": "misn", + "id": "301", + "name": "Ferry Passengers to ", + "available_stellar": "10004", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10004", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 302: { + "resource_type": "misn", + "id": "302", + "name": "Ferry Passengers to ", + "available_stellar": "10005", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10005", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 303: { + "resource_type": "misn", + "id": "303", + "name": "Ferry Passengers to ", + "available_stellar": "10006", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10006", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 304: { + "resource_type": "misn", + "id": "304", + "name": "Ferry Passengers to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 305: { + "resource_type": "misn", + "id": "305", + "name": "Ferry Passengers to ", + "available_stellar": "421", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "419", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 306: { + "resource_type": "misn", + "id": "306", + "name": "Ferry Passengers to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 307: { + "resource_type": "misn", + "id": "307", + "name": "Ferry Passengers to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 308: { + "resource_type": "misn", + "id": "308", + "name": "Ferry Passengers to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 309: { + "resource_type": "misn", + "id": "309", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 310: { + "resource_type": "misn", + "id": "310", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 311: { + "resource_type": "misn", + "id": "311", + "name": "Ferry Passengers to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 312: { + "resource_type": "misn", + "id": "312", + "name": "Ferry Passengers to ", + "available_stellar": "10003", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10003", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 313: { + "resource_type": "misn", + "id": "313", + "name": "Ferry Passengers to ", + "available_stellar": "10004", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10004", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 314: { + "resource_type": "misn", + "id": "314", + "name": "Ferry Passengers to ", + "available_stellar": "10005", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10005", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 315: { + "resource_type": "misn", + "id": "315", + "name": "Ferry Passengers to ", + "available_stellar": "10006", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10006", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 316: { + "resource_type": "misn", + "id": "316", + "name": "Ferry Passengers to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 317: { + "resource_type": "misn", + "id": "317", + "name": "Ferry Passengers to ", + "available_stellar": "421", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "419", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25010", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "30010", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0180", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 318: { + "resource_type": "misn", + "id": "318", + "name": "Deliver Instructions; Vellos17", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "380", + "return_stellar": "138", + "cargo_type": "18", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x2580", + "pay_value": "0", + "ship_count": "3", + "ship_system": "-3", + "ship_dude": "160", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "131", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5365", + "quick_briefing_desc": "6058", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8365", + "completion_desc": "9365", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "b364 & !(b365 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b365 G222 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 319: { + "resource_type": "misn", + "id": "319", + "name": "Deliver Further Instructions; Vellos18", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "380", + "return_stellar": "138", + "cargo_type": "18", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x2580", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-3", + "ship_dude": "160", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "131", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5366", + "quick_briefing_desc": "6058", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8366", + "completion_desc": "9366", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "b365 & !(b366 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b366 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 320: { + "resource_type": "misn", + "id": "320", + "name": "Meet With Krane; Vellos19", + "available_stellar": "10000", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-30130", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "136", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5367", + "quick_briefing_desc": "6367", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "381", + "available_bits": "b366 & !(b367 | b6666)", + "on_accept": "L133 K134 H382 T25041 G209 D207", + "on_refuse": "", + "on_success": "b367", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 321: { + "resource_type": "misn", + "id": "321", + "name": "Find Mu'hari HQ; Vellos20", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "267", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "153", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5368", + "quick_briefing_desc": "6366", + "load_cargo_desc": "7368", + "dropoff_cargo_desc": "-1", + "completion_desc": "9368", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b367 & !b368", + "on_accept": "", + "on_refuse": "", + "on_success": "b368 b90", + "on_failure": "", + "on_abort": "", + "on_ship_done": "S809", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1006", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 322: { + "resource_type": "misn", + "id": "322", + "name": "Confirm Mu'hari; Vellos21", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "128", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6369", + "load_cargo_desc": "7369", + "dropoff_cargo_desc": "8369", + "completion_desc": "9369", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b368 & !b369", + "on_accept": "", + "on_refuse": "", + "on_success": "b369", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 323: { + "resource_type": "misn", + "id": "323", + "name": "Confirm Mu'hari; Vellos21a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "10000", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "153", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "5369", + "quick_briefing_desc": "6369", + "load_cargo_desc": "7367", + "dropoff_cargo_desc": "-1", + "completion_desc": "9370", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b369 & !b370", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 324: { + "resource_type": "misn", + "id": "324", + "name": "Confirm Mu'hari; Vellos21a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "10000", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "153", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "5369", + "quick_briefing_desc": "6369", + "load_cargo_desc": "7366", + "dropoff_cargo_desc": "-1", + "completion_desc": "9370", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b369 & !b370", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 325: { + "resource_type": "misn", + "id": "325", + "name": "Confirm Mu'hari; Vellos21a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "30", + "travel_stellar": "128", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5369", + "quick_briefing_desc": "6369", + "load_cargo_desc": "7365", + "dropoff_cargo_desc": "-1", + "completion_desc": "9367", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b369 & !b370", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 326: { + "resource_type": "misn", + "id": "326", + "name": "Confirm Mu'hari; Vellos21a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "30", + "travel_stellar": "133", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5369", + "quick_briefing_desc": "6369", + "load_cargo_desc": "7365", + "dropoff_cargo_desc": "-1", + "completion_desc": "9367", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b369 & !b370", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 327: { + "resource_type": "misn", + "id": "327", + "name": "Confirm Mu'hari; Vellos21a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "30", + "travel_stellar": "134", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5369", + "quick_briefing_desc": "6369", + "load_cargo_desc": "7365", + "dropoff_cargo_desc": "-1", + "completion_desc": "9367", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b369 & !b370", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 328: { + "resource_type": "misn", + "id": "328", + "name": "Rebel Food Drop;Rebel1 from Bounty Hunter", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "140", + "return_stellar": "171", + "cargo_type": "0", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "1", + "ship_system": "137", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5125", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7125", + "dropoff_cargo_desc": "8125", + "completion_desc": "9125", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "128", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "(b125 & !b61) & !(b516 | b124)", + "on_accept": "", + "on_refuse": "", + "on_success": "b126 b124 b512 b515 k148 S819", + "on_failure": "b516 !b511", + "on_abort": "b516 !b511", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1050", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 329: { + "resource_type": "misn", + "id": "329", + "name": "Regular Food Run;Rebel1a", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "75", + "travel_stellar": "140", + "return_stellar": "171", + "cargo_type": "0", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "1", + "ship_system": "137", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7126", + "dropoff_cargo_desc": "8126", + "completion_desc": "9126", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "128", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b126 & !b147", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0050", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 330: { + "resource_type": "misn", + "id": "330", + "name": "Rebel Food Drop;Rebel1 from Fed", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "140", + "return_stellar": "171", + "cargo_type": "0", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "1", + "ship_system": "137", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5125", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7125", + "dropoff_cargo_desc": "8125", + "completion_desc": "9125", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "128", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b124 & !(b126 | b61)", + "on_accept": "b518", + "on_refuse": "", + "on_success": "b126 b510 b512 k148 S819", + "on_failure": "", + "on_abort": "!b518", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1050", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 331: { + "resource_type": "misn", + "id": "331", + "name": "Rebel Equipment Drop;Rebel2", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "149", + "return_stellar": "171", + "cargo_type": "5", + "cargo_amount": "15", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "2", + "ship_system": "167", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5126", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7127", + "dropoff_cargo_desc": "8127", + "completion_desc": "9127", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b126 & !(b127 | b500)", + "on_accept": "A819 b127", + "on_refuse": "", + "on_success": "b667 S819", + "on_failure": "", + "on_abort": "S819", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1050", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 332: { + "resource_type": "misn", + "id": "332", + "name": "Regular Equipment Run;Rebel2a", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "149", + "return_stellar": "171", + "cargo_type": "5", + "cargo_amount": "15", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "2", + "ship_system": "167", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7128", + "dropoff_cargo_desc": "8126", + "completion_desc": "9128", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b667 & !(b147 | b500)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0150", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 333: { + "resource_type": "misn", + "id": "333", + "name": "Rescue Agent;Rebel3", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "171", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "35000", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5127", + "quick_briefing_desc": "6126", + "load_cargo_desc": "7129", + "dropoff_cargo_desc": "8128", + "completion_desc": "9129", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "(b127 & b667) & !(b128 | b500)", + "on_accept": "A819", + "on_refuse": "", + "on_success": "b128 S819", + "on_failure": "", + "on_abort": "S819", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "I'm in", + "refuse_button": "I need more time", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1050", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 334: { + "resource_type": "misn", + "id": "334", + "name": "Rescue Rebel;Rebel3a", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "171", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "35000", + "ship_count": "2", + "ship_system": "167", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "4", + "ship_subtitle": "-1", + "briefing_desc": "5128", + "quick_briefing_desc": "6126", + "load_cargo_desc": "7130", + "dropoff_cargo_desc": "8129", + "completion_desc": "9130", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b128 & !b147", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0050", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 335: { + "resource_type": "misn", + "id": "335", + "name": "Rebel Insertion;Rebel4", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "171", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "35000", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "8", + "ship_subtitle": "-1", + "briefing_desc": "5130", + "quick_briefing_desc": "6128", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8131", + "completion_desc": "9132", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b128 & !b129", + "on_accept": "A819", + "on_refuse": "", + "on_success": "b129 S819", + "on_failure": "", + "on_abort": "S819", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "I'm in", + "refuse_button": "I need more time", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1070", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 336: { + "resource_type": "misn", + "id": "336", + "name": "Rebel Insertion;Rebel4a", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "40", + "travel_stellar": "10000", + "return_stellar": "171", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "35000", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "6", + "ship_subtitle": "-1", + "briefing_desc": "5131", + "quick_briefing_desc": "6128", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8132", + "completion_desc": "9133", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b129 & !b147", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0070", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 337: { + "resource_type": "misn", + "id": "337", + "name": "Intel Re-assignment;Rebel5", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "50", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "141", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "5132", + "quick_briefing_desc": "6129", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9134", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b129 & !b130", + "on_accept": "A819", + "on_refuse": "", + "on_success": "b130", + "on_failure": "", + "on_abort": "S819", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "I'm interested", + "refuse_button": "I'm not ready", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1030", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 338: { + "resource_type": "misn", + "id": "338", + "name": "Answer Polaris Summons;Rebel6", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "254", + "return_stellar": "421", + "cargo_type": "20", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "2", + "ship_system": "237", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "25003", + "briefing_desc": "5133", + "quick_briefing_desc": "6130", + "load_cargo_desc": "7132", + "dropoff_cargo_desc": "8133", + "completion_desc": "9135", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b130 & !b131", + "on_accept": "K137", + "on_refuse": "", + "on_success": "b131", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "I'll be okay", + "refuse_button": "Not yet", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1040", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 339: { + "resource_type": "misn", + "id": "339", + "name": "Take Mu'Randa Home;Rebel7 - split mission", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "254", + "cargo_type": "20", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "50000", + "ship_count": "8", + "ship_system": "128", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "2", + "ship_subtitle": "0", + "briefing_desc": "5134", + "quick_briefing_desc": "6131", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9136", + "failing_desc": "9502", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "138", + "aux_ship_syst": "237", + "available_ship_type": "127", + "available_bits": "b131 & !b132", + "on_accept": "", + "on_refuse": "", + "on_success": "b132", + "on_failure": "b199 b132", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1024", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 340: { + "resource_type": "misn", + "id": "340", + "name": "Get Polaris Tech;Rebel I8", + "available_stellar": "254", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "242", + "return_stellar": "421", + "cargo_type": "21", + "cargo_amount": "5", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "75000", + "ship_count": "2", + "ship_system": "237", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5135", + "quick_briefing_desc": "6132", + "load_cargo_desc": "7133", + "dropoff_cargo_desc": "8134", + "completion_desc": "9137", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "10", + "aux_ship_dude": "128", + "aux_ship_syst": "128", + "available_ship_type": "127", + "available_bits": "b132 & !b199", + "on_accept": "", + "on_refuse": "", + "on_success": "b133 b199 b502 b8898", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1044", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 341: { + "resource_type": "misn", + "id": "341", + "name": "Test Polaris Tech;Rebel I9", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "138", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8008", + "pay_value": "25000", + "ship_count": "3", + "ship_system": "-3", + "ship_dude": "175", + "ship_goal": "4", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "25006", + "briefing_desc": "5136", + "quick_briefing_desc": "6133", + "load_cargo_desc": "7134", + "dropoff_cargo_desc": "8135", + "completion_desc": "9138", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b133 & !b134", + "on_accept": "S791 b5770", + "on_refuse": "", + "on_success": "b134 A791", + "on_failure": "A791", + "on_abort": "!b5770 A791", + "on_ship_done": "!b5770", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1002", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 342: { + "resource_type": "misn", + "id": "342", + "name": "Check Out Roughnecks;Rebel I10", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "75", + "travel_stellar": "150", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "10", + "ship_system": "-3", + "ship_dude": "152", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5137", + "quick_briefing_desc": "6134", + "load_cargo_desc": "7135", + "dropoff_cargo_desc": "-1", + "completion_desc": "9139", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "-2", + "available_ship_type": "127", + "available_bits": "b134 & !b135", + "on_accept": "", + "on_refuse": "", + "on_success": "b135", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 343: { + "resource_type": "misn", + "id": "343", + "name": "Contact Wild Geese;Rebel I11 - Unregistered cutoff", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "75", + "travel_stellar": "139", + "return_stellar": "421", + "cargo_type": "6", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "35000", + "ship_count": "10", + "ship_system": "133", + "ship_dude": "152", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25010", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5138", + "quick_briefing_desc": "6135", + "load_cargo_desc": "7136", + "dropoff_cargo_desc": "8136", + "completion_desc": "9140", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "151", + "aux_ship_syst": "-2", + "available_ship_type": "127", + "available_bits": "(P0 & b135) & !b136", + "on_accept": "", + "on_refuse": "", + "on_success": "b136", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 344: { + "resource_type": "misn", + "id": "344", + "name": "Scout Aurora;Rebel I12", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "75", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "21", + "cargo_amount": "5", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "75000", + "ship_count": "2", + "ship_system": "315", + "ship_dude": "131", + "ship_goal": "4", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5139", + "quick_briefing_desc": "6136", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9141", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "151", + "aux_ship_syst": "133", + "available_ship_type": "127", + "available_bits": "(P0 & b136) & !(b137 | b2)", + "on_accept": "", + "on_refuse": "", + "on_success": "b137", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25058", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1200", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 345: { + "resource_type": "misn", + "id": "345", + "name": "Scout Moash;Rebel I13", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "90", + "travel_stellar": "380", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "100000", + "ship_count": "5", + "ship_system": "366", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5140", + "quick_briefing_desc": "6137", + "load_cargo_desc": "7137", + "dropoff_cargo_desc": "8137", + "completion_desc": "9142", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "133", + "available_ship_type": "127", + "available_bits": "(P0 & b137) & !b138", + "on_accept": "", + "on_refuse": "", + "on_success": "b138 b6031", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 346: { + "resource_type": "misn", + "id": "346", + "name": "Warn Wild Geese;Rebel I14", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "139", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "150", + "ship_dude": "152", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "144", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5141", + "quick_briefing_desc": "6138", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8138", + "completion_desc": "9143", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b138) & !b139", + "on_accept": "", + "on_refuse": "", + "on_success": "b139", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 347: { + "resource_type": "misn", + "id": "347", + "name": "Warn Heraan House;Rebel I15", + "available_stellar": "139", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "22", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0200", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5142", + "quick_briefing_desc": "6139", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8139", + "completion_desc": "9144", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b139) & !b140", + "on_accept": "b175", + "on_refuse": "", + "on_success": "b140", + "on_failure": "", + "on_abort": "!b175", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 348: { + "resource_type": "misn", + "id": "348", + "name": "Warn Dechtakars;Rebel I16", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "335", + "cargo_type": "22", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0200", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-4", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "142", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5143", + "quick_briefing_desc": "6140", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8140", + "completion_desc": "9145", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b140) & !b141", + "on_accept": "", + "on_refuse": "", + "on_success": "b141", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 349: { + "resource_type": "misn", + "id": "349", + "name": "Return to Rebel II;Rebel I17", + "available_stellar": "335", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "139", + "return_stellar": "421", + "cargo_type": "22", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0200", + "pay_value": "100000", + "ship_count": "5", + "ship_system": "150", + "ship_dude": "152", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5144", + "quick_briefing_desc": "6141", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8141", + "completion_desc": "9146", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b141) & !b142", + "on_accept": "", + "on_refuse": "", + "on_success": "b142 !b175", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 350: { + "resource_type": "misn", + "id": "350", + "name": "Capture Commander Krane;Rebel I18", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "23", + "cargo_amount": "1", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8A00", + "pay_value": "100000", + "ship_count": "1", + "ship_system": "162", + "ship_dude": "212", + "ship_goal": "2", + "ship_behavior": "-1", + "ship_name": "25006", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5145", + "quick_briefing_desc": "6142", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8193", + "completion_desc": "9147", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "178", + "aux_ship_syst": "162", + "available_ship_type": "127", + "available_bits": "(P0 & b142) & !b143", + "on_accept": "", + "on_refuse": "", + "on_success": "b143", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1A00", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 351: { + "resource_type": "misn", + "id": "351", + "name": "Collect Polaris Telepaths;Rebel I19", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "267", + "return_stellar": "421", + "cargo_type": "24", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8A00", + "pay_value": "100000", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "171", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5146", + "quick_briefing_desc": "6143", + "load_cargo_desc": "7138", + "dropoff_cargo_desc": "-1", + "completion_desc": "9148", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "1", + "aux_ship_dude": "171", + "aux_ship_syst": "130", + "available_ship_type": "127", + "available_bits": "(P0 & b143) & !b144", + "on_accept": "", + "on_refuse": "", + "on_success": "b144", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1810", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 352: { + "resource_type": "misn", + "id": "352", + "name": "Bring Krane to Trial;Rebel I20", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "23", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8A08", + "pay_value": "-10128", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "176", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "25005", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5187", + "quick_briefing_desc": "6144", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8143", + "completion_desc": "9181", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "171", + "aux_ship_syst": "130", + "available_ship_type": "127", + "available_bits": "(P0 & b144) & !b145", + "on_accept": "", + "on_refuse": "", + "on_success": "b145 b330", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1810", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 353: { + "resource_type": "misn", + "id": "353", + "name": "Fetch Rebel Leaders;Rebel I21", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "419", + "return_stellar": "128", + "cargo_type": "25", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8A00", + "pay_value": "-10130", + "ship_count": "5", + "ship_system": "132", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "10", + "ship_subtitle": "25006", + "briefing_desc": "5148", + "quick_briefing_desc": "6145", + "load_cargo_desc": "7139", + "dropoff_cargo_desc": "8144", + "completion_desc": "9150", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "171", + "aux_ship_syst": "162", + "available_ship_type": "127", + "available_bits": "(P0 & b145) & !b146", + "on_accept": "", + "on_refuse": "", + "on_success": "b146 b331 b8908", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1810", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 354: { + "resource_type": "misn", + "id": "354", + "name": "Take Polaris Home;Rebel I22 LAST", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "267", + "cargo_type": "24", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-10129", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5149", + "quick_briefing_desc": "6146", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8145", + "completion_desc": "9151", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b146) & !b147", + "on_accept": "", + "on_refuse": "", + "on_success": "b147 b148 b332 b333 b334 b613 b9995 b9500 M472 Q25048", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 355: { + "resource_type": "misn", + "id": "355", + "name": "Confirm Mu'hari; Vellos21a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "30", + "travel_stellar": "136", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5369", + "quick_briefing_desc": "6369", + "load_cargo_desc": "7365", + "dropoff_cargo_desc": "-1", + "completion_desc": "9367", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b369 & !b370", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 356: { + "resource_type": "misn", + "id": "356", + "name": "Confirm Mu'hari; Vellos21a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "30", + "travel_stellar": "137", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5369", + "quick_briefing_desc": "6369", + "load_cargo_desc": "7365", + "dropoff_cargo_desc": "-1", + "completion_desc": "9367", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b369 & !b370", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 357: { + "resource_type": "misn", + "id": "357", + "name": "Confirm Mu'hari; Vellos21a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "30", + "travel_stellar": "140", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5369", + "quick_briefing_desc": "6369", + "load_cargo_desc": "7365", + "dropoff_cargo_desc": "-1", + "completion_desc": "9367", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b369 & !b370", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 358: { + "resource_type": "misn", + "id": "358", + "name": "Confirm Mu'hari; Vellos21a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "30", + "travel_stellar": "142", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5369", + "quick_briefing_desc": "6369", + "load_cargo_desc": "7365", + "dropoff_cargo_desc": "-1", + "completion_desc": "9367", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b369 & !b370", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 359: { + "resource_type": "misn", + "id": "359", + "name": "Confirm Mu'hari; Vellos21a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "30", + "travel_stellar": "150", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5369", + "quick_briefing_desc": "6369", + "load_cargo_desc": "7365", + "dropoff_cargo_desc": "-1", + "completion_desc": "9367", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b369 & !b370", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 360: { + "resource_type": "misn", + "id": "360", + "name": "Confirm Mu'hari; Vellos22", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "30", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5370", + "quick_briefing_desc": "6370", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9357", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b369 & !b370", + "on_accept": "", + "on_refuse": "", + "on_success": "b370 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 361: { + "resource_type": "misn", + "id": "361", + "name": "Report to Krane; Vellos23 - Unregistered cutoff", + "available_stellar": "10000", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "127", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "136", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5371", + "quick_briefing_desc": "6371", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9371", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b370) & !(b371 | b6666)", + "on_accept": "H383 G223 T25042 G225 G226 G226 G226", + "on_refuse": "", + "on_success": "b371", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 362: { + "resource_type": "misn", + "id": "362", + "name": "Report Mu'hari; Vellos24", + "available_stellar": "146", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !b417", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 363: { + "resource_type": "misn", + "id": "363", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "147", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 364: { + "resource_type": "misn", + "id": "364", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "149", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 365: { + "resource_type": "misn", + "id": "365", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "157", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 366: { + "resource_type": "misn", + "id": "366", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "158", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 367: { + "resource_type": "misn", + "id": "367", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "161", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 368: { + "resource_type": "misn", + "id": "368", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "163", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 369: { + "resource_type": "misn", + "id": "369", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "164", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 370: { + "resource_type": "misn", + "id": "370", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "167", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 371: { + "resource_type": "misn", + "id": "371", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "170", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 372: { + "resource_type": "misn", + "id": "372", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "175", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 373: { + "resource_type": "misn", + "id": "373", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "177", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 374: { + "resource_type": "misn", + "id": "374", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "182", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 375: { + "resource_type": "misn", + "id": "375", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "184", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 376: { + "resource_type": "misn", + "id": "376", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "185", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 377: { + "resource_type": "misn", + "id": "377", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "188", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 378: { + "resource_type": "misn", + "id": "378", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "194", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 379: { + "resource_type": "misn", + "id": "379", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "195", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 380: { + "resource_type": "misn", + "id": "380", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "204", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 381: { + "resource_type": "misn", + "id": "381", + "name": "Take Mu'Randa Home;Rebel II27", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "267", + "cargo_type": "29", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-10129", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5186", + "quick_briefing_desc": "6186", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8192", + "completion_desc": "9151", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b180) & !b147", + "on_accept": "", + "on_refuse": "", + "on_success": "b147 b148 b332 b333 b334 b613 b9995 b9500 M472 Q25048", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 382: { + "resource_type": "misn", + "id": "382", + "name": "Fetch Rebel Leaders;Rebel II26", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "419", + "return_stellar": "128", + "cargo_type": "25", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8A00", + "pay_value": "-10130", + "ship_count": "5", + "ship_system": "132", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "10", + "ship_subtitle": "25006", + "briefing_desc": "5148", + "quick_briefing_desc": "6145", + "load_cargo_desc": "7139", + "dropoff_cargo_desc": "8144", + "completion_desc": "9150", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "171", + "aux_ship_syst": "162", + "available_ship_type": "127", + "available_bits": "(P0 & b181) & !b180", + "on_accept": "", + "on_refuse": "", + "on_success": "b180 b331 b8908", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1810", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 383: { + "resource_type": "misn", + "id": "383", + "name": "Bring Krane to trial;Rebel II25", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "23", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8A08", + "pay_value": "-10128", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "171", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "25005", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5187", + "quick_briefing_desc": "6144", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8143", + "completion_desc": "9181", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "171", + "aux_ship_syst": "130", + "available_ship_type": "127", + "available_bits": "(P0 & b182) & !b181", + "on_accept": "", + "on_refuse": "", + "on_success": "b181 b330", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1010", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 384: { + "resource_type": "misn", + "id": "384", + "name": "Capture Commander Krane;Rebel II24", + "available_stellar": "270", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "23", + "cargo_amount": "1", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8A08", + "pay_value": "250000", + "ship_count": "1", + "ship_system": "162", + "ship_dude": "213", + "ship_goal": "2", + "ship_behavior": "-1", + "ship_name": "25006", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5188", + "quick_briefing_desc": "6142", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8193", + "completion_desc": "9182", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "178", + "aux_ship_syst": "162", + "available_ship_type": "127", + "available_bits": "(P0 & b183) & !b182", + "on_accept": "", + "on_refuse": "", + "on_success": "b182", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1200", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 385: { + "resource_type": "misn", + "id": "385", + "name": "Capture Vell-os;Rebel II23", + "available_stellar": "270", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "128", + "return_stellar": "270", + "cargo_type": "28", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8A00", + "pay_value": "0", + "ship_count": "2", + "ship_system": "246", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5189", + "quick_briefing_desc": "6187", + "load_cargo_desc": "7197", + "dropoff_cargo_desc": "-1", + "completion_desc": "9183", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "180", + "aux_ship_syst": "128", + "available_ship_type": "127", + "available_bits": "(P0 & b184) & !b183", + "on_accept": "", + "on_refuse": "", + "on_success": "b183", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 386: { + "resource_type": "misn", + "id": "386", + "name": "Observe Polaris Experiment;Rebel II22", + "available_stellar": "254", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "270", + "cargo_type": "6", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "246", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5190", + "quick_briefing_desc": "6188", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8194", + "completion_desc": "9184", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b185) & !b184", + "on_accept": "", + "on_refuse": "", + "on_success": "b184", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 387: { + "resource_type": "misn", + "id": "387", + "name": "Talk to Polaris;Rebel II21", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "254", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "237", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5191", + "quick_briefing_desc": "6189", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8195", + "completion_desc": "9185", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b186) & !b185", + "on_accept": "", + "on_refuse": "", + "on_success": "b185", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1010", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 388: { + "resource_type": "misn", + "id": "388", + "name": "Talk With Vell-os;Rebel II20", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "2", + "ship_system": "-6", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5192", + "quick_briefing_desc": "6190", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9186", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b187) & !b186", + "on_accept": "", + "on_refuse": "", + "on_success": "b186", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 389: { + "resource_type": "misn", + "id": "389", + "name": "Talk to Vell-os;Rebel II19", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-4", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "141", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5193", + "quick_briefing_desc": "6191", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9187", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b188) & !b187", + "on_accept": "", + "on_refuse": "", + "on_success": "b187", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 390: { + "resource_type": "misn", + "id": "390", + "name": "Defend Rebel II;Rebel II18a", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "25", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "100000", + "ship_count": "6", + "ship_system": "483", + "ship_dude": "130", + "ship_goal": "6", + "ship_behavior": "0", + "ship_name": "25010", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6192", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9188", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "171", + "aux_ship_syst": "483", + "available_ship_type": "127", + "available_bits": "(P0 & b188)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1014", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 391: { + "resource_type": "misn", + "id": "391", + "name": "Defend Rebel II;Rebel II18", + "available_stellar": "421", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "100000", + "ship_count": "6", + "ship_system": "483", + "ship_dude": "130", + "ship_goal": "6", + "ship_behavior": "0", + "ship_name": "25010", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "20", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6192", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9189", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "171", + "aux_ship_syst": "483", + "available_ship_type": "127", + "available_bits": "(P0 & b189) & !(b188 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b188", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1014", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 392: { + "resource_type": "misn", + "id": "392", + "name": "Return to Rebel II;Rebel II17", + "available_stellar": "139", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "250000", + "ship_count": "2", + "ship_system": "-6", + "ship_dude": "176", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "20", + "ship_subtitle": "-1", + "briefing_desc": "5194", + "quick_briefing_desc": "6193", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9190", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b190) & !b189", + "on_accept": "!b175", + "on_refuse": "", + "on_success": "b189 b6666", + "on_failure": "", + "on_abort": "b175", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 393: { + "resource_type": "misn", + "id": "393", + "name": "Take People Home;Rebel II16", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "150", + "return_stellar": "139", + "cargo_type": "27", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0200", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-6", + "ship_dude": "176", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "152", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5195", + "quick_briefing_desc": "6194", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8196", + "completion_desc": "9191", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b191) & !b190", + "on_accept": "", + "on_refuse": "", + "on_success": "b190", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 394: { + "resource_type": "misn", + "id": "394", + "name": "Rescue Raczak;Rebel II15", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "27", + "cargo_amount": "1", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0208", + "pay_value": "0", + "ship_count": "1", + "ship_system": "346", + "ship_dude": "258", + "ship_goal": "5", + "ship_behavior": "-1", + "ship_name": "25002", + "ship_start": "2", + "completion_government": "144", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5196", + "quick_briefing_desc": "6195", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8197", + "completion_desc": "9192", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "10", + "aux_ship_dude": "161", + "aux_ship_syst": "346", + "available_ship_type": "127", + "available_bits": "(P0 & b192) & !b191", + "on_accept": "", + "on_refuse": "", + "on_success": "b191", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1214", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 395: { + "resource_type": "misn", + "id": "395", + "name": "Drop by Heraan House;Rebel II14 - Unregistered cutoff", + "available_stellar": "380", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "26", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0208", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-6", + "ship_dude": "176", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5197", + "quick_briefing_desc": "6196", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8198", + "completion_desc": "9193", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "161", + "aux_ship_syst": "346", + "available_ship_type": "127", + "available_bits": "(P0 & b193) & !b192", + "on_accept": "", + "on_refuse": "", + "on_success": "b192 b44", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1014", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 396: { + "resource_type": "misn", + "id": "396", + "name": "Attack Moash House;Rebel II13", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "139", + "return_stellar": "380", + "cargo_type": "26", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0208", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-6", + "ship_dude": "176", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "15", + "ship_subtitle": "-1", + "briefing_desc": "5198", + "quick_briefing_desc": "6197", + "load_cargo_desc": "7198", + "dropoff_cargo_desc": "8199", + "completion_desc": "9194", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "151", + "aux_ship_syst": "366", + "available_ship_type": "127", + "available_bits": "b194 & !b193", + "on_accept": "b175", + "on_refuse": "", + "on_success": "b193", + "on_failure": "", + "on_abort": "!b175", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 397: { + "resource_type": "misn", + "id": "397", + "name": "Warn Heraan House;Rebel II12", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "360", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "5", + "ship_system": "346", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5199", + "quick_briefing_desc": "6198", + "load_cargo_desc": "7199", + "dropoff_cargo_desc": "-1", + "completion_desc": "9195", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "152", + "aux_ship_syst": "336", + "available_ship_type": "127", + "available_bits": "b195 & !b194", + "on_accept": "", + "on_refuse": "", + "on_success": "b194", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 398: { + "resource_type": "misn", + "id": "398", + "name": "Check Out Roughnecks;Rebel II11", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "150", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "5", + "ship_system": "-3", + "ship_dude": "152", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25010", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5137", + "quick_briefing_desc": "6134", + "load_cargo_desc": "7135", + "dropoff_cargo_desc": "-1", + "completion_desc": "9196", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "-2", + "available_ship_type": "127", + "available_bits": "b196 & !b195", + "on_accept": "", + "on_refuse": "", + "on_success": "b195 b6031", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 399: { + "resource_type": "misn", + "id": "399", + "name": "Scout Moash;Rebel II10", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "90", + "travel_stellar": "380", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "60000", + "ship_count": "5", + "ship_system": "366", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5140", + "quick_briefing_desc": "6137", + "load_cargo_desc": "7137", + "dropoff_cargo_desc": "-1", + "completion_desc": "9197", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "133", + "available_ship_type": "127", + "available_bits": "b197 & !b196", + "on_accept": "", + "on_refuse": "", + "on_success": "b196", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 400: { + "resource_type": "misn", + "id": "400", + "name": "Scout Aurora;Rebel II9", + "available_stellar": "421", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "2", + "ship_system": "315", + "ship_dude": "131", + "ship_goal": "4", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5139", + "quick_briefing_desc": "6136", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9198", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "151", + "aux_ship_syst": "133", + "available_ship_type": "127", + "available_bits": "(b198 & !b2) & !(b197 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b197", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25058", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1200", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 401: { + "resource_type": "misn", + "id": "401", + "name": "Return Empty Handed;Rebel II8", + "available_stellar": "254", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6199", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9199", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b199 & !b502", + "on_accept": "", + "on_refuse": "", + "on_success": "b198 b502 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 402: { + "resource_type": "misn", + "id": "402", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "207", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 403: { + "resource_type": "misn", + "id": "403", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "208", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 404: { + "resource_type": "misn", + "id": "404", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "211", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 405: { + "resource_type": "misn", + "id": "405", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "213", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 406: { + "resource_type": "misn", + "id": "406", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "214", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 407: { + "resource_type": "misn", + "id": "407", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "215", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 408: { + "resource_type": "misn", + "id": "408", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "216", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 409: { + "resource_type": "misn", + "id": "409", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "217", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 410: { + "resource_type": "misn", + "id": "410", + "name": "Report Mu'hari; Vellos24a", + "available_stellar": "218", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9356", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !(b417 | b372)", + "on_accept": "b417", + "on_refuse": "", + "on_success": "!b417", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 411: { + "resource_type": "misn", + "id": "411", + "name": "Report Mu'hari; Vellos25", + "available_stellar": "10000", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6368", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9372", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b371) & !b372", + "on_accept": "b417", + "on_refuse": "", + "on_success": "b372", + "on_failure": "", + "on_abort": "!b417", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 412: { + "resource_type": "misn", + "id": "412", + "name": "Liaise With Aurorans; Vellos26", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "297", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "131", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5373", + "quick_briefing_desc": "6373", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9373", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "155", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "(P0 & b372) & !b373", + "on_accept": "", + "on_refuse": "", + "on_success": "b373 b6031", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 413: { + "resource_type": "misn", + "id": "413", + "name": "Invade Polaris Space; Vellos27", + "available_stellar": "297", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "254", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-20130", + "ship_count": "8", + "ship_system": "-6", + "ship_dude": "155", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "147", + "completion_reward": "30", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6374", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8374", + "completion_desc": "9374", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "138", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "(P0 & b373) & !b374", + "on_accept": "", + "on_refuse": "", + "on_success": "b374 !b424 L134 K135 G224 G336 D209", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 414: { + "resource_type": "misn", + "id": "414", + "name": "Speak With Llyrell; Vellos28", + "available_stellar": "254", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-10140", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "140", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5375", + "quick_briefing_desc": "6375", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b374) & !b375", + "on_accept": "", + "on_refuse": "", + "on_success": "b375", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 415: { + "resource_type": "misn", + "id": "415", + "name": "Speak With Krypt; Vellos29", + "available_stellar": "128", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "408", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "140", + "completion_reward": "30", + "ship_subtitle": "-1", + "briefing_desc": "5376", + "quick_briefing_desc": "6376", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8376", + "completion_desc": "9376", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b375) & !b376", + "on_accept": "", + "on_refuse": "", + "on_success": "b376 S800", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 416: { + "resource_type": "misn", + "id": "416", + "name": "Attack Bureau HQ; Vellos30", + "available_stellar": "217", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-20129", + "ship_count": "10", + "ship_system": "-6", + "ship_dude": "188", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "50", + "ship_subtitle": "25006", + "briefing_desc": "-1", + "quick_briefing_desc": "6377", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8377", + "completion_desc": "9377", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b376) & !b377", + "on_accept": "", + "on_refuse": "", + "on_success": "b377 L135 K136 G337 D336", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 417: { + "resource_type": "misn", + "id": "417", + "name": "Take Llyrell to Korell; Vellos31 LAST", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "407", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-10128", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "196", + "ship_goal": "3", + "ship_behavior": "1", + "ship_name": "25008", + "ship_start": "1", + "completion_government": "140", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6378", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8378", + "completion_desc": "9378", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b377) & !b330", + "on_accept": "b148 S718", + "on_refuse": "", + "on_success": "b330 !b90 b331 b332 b333 b334 b613 b9995 A718 b9500 M472 Q25048", + "on_failure": "A718", + "on_abort": "A718 !b148", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1024", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 418: { + "resource_type": "misn", + "id": "418", + "name": "Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 419: { + "resource_type": "misn", + "id": "419", + "name": "Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 420: { + "resource_type": "misn", + "id": "420", + "name": "Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 421: { + "resource_type": "misn", + "id": "421", + "name": "Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 422: { + "resource_type": "misn", + "id": "422", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 423: { + "resource_type": "misn", + "id": "423", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 424: { + "resource_type": "misn", + "id": "424", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 425: { + "resource_type": "misn", + "id": "425", + "name": "Delivery to ", + "available_stellar": "10003", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10003", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 426: { + "resource_type": "misn", + "id": "426", + "name": "Delivery to ", + "available_stellar": "10004", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10004", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 427: { + "resource_type": "misn", + "id": "427", + "name": "Delivery to ", + "available_stellar": "10005", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10005", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 428: { + "resource_type": "misn", + "id": "428", + "name": "Federation Resupply;Fed1", + "available_stellar": "10000", + "available_location": "6", + "available_record": "2", + "available_rating": "150", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "136", + "cargo_type": "7", + "cargo_amount": "20", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x4000", + "pay_value": "30000", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "139", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5000", + "quick_briefing_desc": "6000", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8000", + "completion_desc": "9000", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b511 | b515) & !((b50 | 467) | b6666)", + "on_accept": "b511", + "on_refuse": "b6666", + "on_success": "b50 b512 b515 b518", + "on_failure": "b467 !b511", + "on_abort": "b467 !b511", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1800", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 429: { + "resource_type": "misn", + "id": "429", + "name": "Federation Resupply;Fed2", + "available_stellar": "136", + "available_location": "6", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "128", + "return_stellar": "133", + "cargo_type": "7", + "cargo_amount": "20", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x4000", + "pay_value": "30000", + "ship_count": "3", + "ship_system": "-6", + "ship_dude": "139", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5001", + "quick_briefing_desc": "6001", + "load_cargo_desc": "7001", + "dropoff_cargo_desc": "8000", + "completion_desc": "9001", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "1", + "aux_ship_dude": "139", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b50 & !b51", + "on_accept": "", + "on_refuse": "", + "on_success": "b51", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1820", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 430: { + "resource_type": "misn", + "id": "430", + "name": "Federation Resupply;Fed3", + "available_stellar": "133", + "available_location": "6", + "available_record": "0", + "available_rating": "0", + "available_random": "55", + "travel_stellar": "128", + "return_stellar": "133", + "cargo_type": "7", + "cargo_amount": "20", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x4000", + "pay_value": "30000", + "ship_count": "3", + "ship_system": "-6", + "ship_dude": "139", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5002", + "quick_briefing_desc": "6002", + "load_cargo_desc": "7001", + "dropoff_cargo_desc": "8000", + "completion_desc": "9002", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "139", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b51 & !b52", + "on_accept": "", + "on_refuse": "", + "on_success": "b52", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1800", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 431: { + "resource_type": "misn", + "id": "431", + "name": "Federation Resupply;Fed4", + "available_stellar": "133", + "available_location": "6", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "128", + "return_stellar": "136", + "cargo_type": "7", + "cargo_amount": "20", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x4000", + "pay_value": "30000", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "139", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5003", + "quick_briefing_desc": "6003", + "load_cargo_desc": "7001", + "dropoff_cargo_desc": "8000", + "completion_desc": "9003", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "139", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b52 & !b53", + "on_accept": "", + "on_refuse": "", + "on_success": "b53", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1800", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 432: { + "resource_type": "misn", + "id": "432", + "name": "Federation Resupply;Fed5", + "available_stellar": "136", + "available_location": "6", + "available_record": "0", + "available_rating": "0", + "available_random": "55", + "travel_stellar": "128", + "return_stellar": "150", + "cargo_type": "7", + "cargo_amount": "20", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x4000", + "pay_value": "30000", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "139", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5004", + "quick_briefing_desc": "6004", + "load_cargo_desc": "7001", + "dropoff_cargo_desc": "8000", + "completion_desc": "9004", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "139", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b53 & !b54", + "on_accept": "", + "on_refuse": "", + "on_success": "b54", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1800", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 433: { + "resource_type": "misn", + "id": "433", + "name": "Federation Resupply;Fed6", + "available_stellar": "150", + "available_location": "6", + "available_record": "0", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "128", + "return_stellar": "133", + "cargo_type": "7", + "cargo_amount": "20", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x4000", + "pay_value": "30000", + "ship_count": "6", + "ship_system": "-6", + "ship_dude": "139", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5005", + "quick_briefing_desc": "6001", + "load_cargo_desc": "7001", + "dropoff_cargo_desc": "8000", + "completion_desc": "9005", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "139", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b54 & !b55", + "on_accept": "", + "on_refuse": "", + "on_success": "b55", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1810", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 434: { + "resource_type": "misn", + "id": "434", + "name": "Bring in Terrorist;Fed7", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "10000", + "return_stellar": "128", + "cargo_type": "8", + "cargo_amount": "4", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0400", + "pay_value": "35000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "7", + "completion_government": "153", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5006", + "quick_briefing_desc": "6005", + "load_cargo_desc": "7000", + "dropoff_cargo_desc": "8001", + "completion_desc": "9006", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b55 & !b56", + "on_accept": "", + "on_refuse": "", + "on_success": "b56", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 435: { + "resource_type": "misn", + "id": "435", + "name": "Bring in Spy;Fed8", + "available_stellar": "128", + "available_location": "1", + "available_record": "3", + "available_rating": "-1", + "available_random": "45", + "travel_stellar": "10000", + "return_stellar": "128", + "cargo_type": "9", + "cargo_amount": "4", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0400", + "pay_value": "35000", + "ship_count": "1", + "ship_system": "-3", + "ship_dude": "170", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25005", + "ship_start": "1", + "completion_government": "153", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5007", + "quick_briefing_desc": "6006", + "load_cargo_desc": "7002", + "dropoff_cargo_desc": "8002", + "completion_desc": "9007", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b56 & !b57", + "on_accept": "", + "on_refuse": "", + "on_success": "b57", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1800", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 436: { + "resource_type": "misn", + "id": "436", + "name": "Bring in Dissident;Fed9", + "available_stellar": "128", + "available_location": "1", + "available_record": "4", + "available_rating": "-1", + "available_random": "45", + "travel_stellar": "10000", + "return_stellar": "128", + "cargo_type": "9", + "cargo_amount": "4", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0400", + "pay_value": "35000", + "ship_count": "1", + "ship_system": "-3", + "ship_dude": "170", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "25005", + "ship_start": "1", + "completion_government": "153", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5008", + "quick_briefing_desc": "6006", + "load_cargo_desc": "7003", + "dropoff_cargo_desc": "8003", + "completion_desc": "9008", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b57 & !b58", + "on_accept": "", + "on_refuse": "", + "on_success": "b58", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1800", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 437: { + "resource_type": "misn", + "id": "437", + "name": "Bring in Political Dissident;Fed10", + "available_stellar": "128", + "available_location": "1", + "available_record": "5", + "available_rating": "-1", + "available_random": "45", + "travel_stellar": "10000", + "return_stellar": "128", + "cargo_type": "9", + "cargo_amount": "4", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0400", + "pay_value": "45000", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "170", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "153", + "completion_reward": "4", + "ship_subtitle": "-1", + "briefing_desc": "5009", + "quick_briefing_desc": "6006", + "load_cargo_desc": "7004", + "dropoff_cargo_desc": "8004", + "completion_desc": "9009", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b58 & !b59", + "on_accept": "", + "on_refuse": "", + "on_success": "b59", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1800", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 438: { + "resource_type": "misn", + "id": "438", + "name": "Bring in Political Dissident;Fed11 (Rebel link)", + "available_stellar": "128", + "available_location": "1", + "available_record": "10", + "available_rating": "-1", + "available_random": "35", + "travel_stellar": "137", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "170", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "25005", + "ship_start": "1", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5010", + "quick_briefing_desc": "6009", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9010", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b59 & !b60", + "on_accept": "", + "on_refuse": "G348", + "on_success": "b60", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1800", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 439: { + "resource_type": "misn", + "id": "439", + "name": "Bring in Fed Councilor;Fed12", + "available_stellar": "137", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "9", + "cargo_amount": "4", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0400", + "pay_value": "150000", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "171", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "153", + "completion_reward": "6", + "ship_subtitle": "-1", + "briefing_desc": "5011", + "quick_briefing_desc": "6007", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8005", + "completion_desc": "9011", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "9500", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b60 & !b124", + "on_accept": "", + "on_refuse": "b124 S787", + "on_success": "b61 b510 b124 K128", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1800", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 440: { + "resource_type": "misn", + "id": "440", + "name": "Infiltrate the Rebels;Fed13 from Bounty Hunter", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-10141", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5050", + "quick_briefing_desc": "6050", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9050", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b61 & (b8 | b500)) & !b62", + "on_accept": "k148", + "on_refuse": "", + "on_success": "b62 S783", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1124", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 441: { + "resource_type": "misn", + "id": "441", + "name": "Rebel Food Drop;Fed14", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "140", + "return_stellar": "171", + "cargo_type": "0", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "1", + "ship_system": "137", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "5125", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7125", + "dropoff_cargo_desc": "8125", + "completion_desc": "9125", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "128", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b62 & !b63", + "on_accept": "", + "on_refuse": "", + "on_success": "b63 S819", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 442: { + "resource_type": "misn", + "id": "442", + "name": "Regular Food Run;Fed14a", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "85", + "travel_stellar": "140", + "return_stellar": "171", + "cargo_type": "0", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "1", + "ship_system": "137", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7126", + "dropoff_cargo_desc": "8126", + "completion_desc": "9126", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "128", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b63 & !b148", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0070", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 443: { + "resource_type": "misn", + "id": "443", + "name": "Infiltrate the Rebels;Fed13 from Fed", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "45", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-10141", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "141", + "completion_reward": "4", + "ship_subtitle": "-1", + "briefing_desc": "5012", + "quick_briefing_desc": "6050", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9050", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b61 & !(b8 | b62)", + "on_accept": "k148", + "on_refuse": "D188 G348", + "on_success": "b62 b510 S783", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 444: { + "resource_type": "misn", + "id": "444", + "name": "Rebel Equipment Drop;Fed15", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "149", + "return_stellar": "171", + "cargo_type": "5", + "cargo_amount": "15", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "2", + "ship_system": "167", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5126", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7127", + "dropoff_cargo_desc": "8127", + "completion_desc": "9127", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b63 & !b64", + "on_accept": "A819", + "on_refuse": "", + "on_success": "b64 S819", + "on_failure": "", + "on_abort": "S819", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 445: { + "resource_type": "misn", + "id": "445", + "name": "Regular Equipment Run;Fed15a", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "70", + "travel_stellar": "149", + "return_stellar": "171", + "cargo_type": "5", + "cargo_amount": "15", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "2", + "ship_system": "167", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7128", + "dropoff_cargo_desc": "8126", + "completion_desc": "9128", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b64 & !b148", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0170", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 446: { + "resource_type": "misn", + "id": "446", + "name": "Rescue Agent;Fed16", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "10000", + "return_stellar": "171", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "35000", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "175", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25006", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5127", + "quick_briefing_desc": "6126", + "load_cargo_desc": "7129", + "dropoff_cargo_desc": "8128", + "completion_desc": "9129", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b64 & !b65", + "on_accept": "A819", + "on_refuse": "", + "on_success": "b65 S819", + "on_failure": "", + "on_abort": "S819", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "I'm in", + "refuse_button": "I need more time", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1870", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 447: { + "resource_type": "misn", + "id": "447", + "name": "Receive Instructions from Krane;Fed17 from Fed", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "138", + "return_stellar": "128", + "cargo_type": "18", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6051", + "load_cargo_desc": "7050", + "dropoff_cargo_desc": "8050", + "completion_desc": "9051", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b65 & !b66) & !(b8 | b500)", + "on_accept": "", + "on_refuse": "G348", + "on_success": "b66", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 448: { + "resource_type": "misn", + "id": "448", + "name": "Receive Instructions from Krane;Fed17 from Bounty Hunter", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "138", + "return_stellar": "128", + "cargo_type": "18", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6051", + "load_cargo_desc": "7051", + "dropoff_cargo_desc": "8050", + "completion_desc": "9052", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b65 & (b8 | b500)) & !(b66 | b3000)", + "on_accept": "", + "on_refuse": "", + "on_success": "R(b66 b3000)", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 449: { + "resource_type": "misn", + "id": "449", + "name": "Rescue Rebel;Fed18 (Rebel link - Regain your life)", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "419", + "return_stellar": "171", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-6", + "ship_dude": "171", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5129", + "quick_briefing_desc": "6127", + "load_cargo_desc": "7131", + "dropoff_cargo_desc": "8130", + "completion_desc": "9131", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "(b66 & (b8 | b500)) & !b509", + "on_accept": "", + "on_refuse": "", + "on_success": "b509 b128", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0070", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 450: { + "resource_type": "misn", + "id": "450", + "name": "Rescue Rebel;Fed19", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "138", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "128", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5128", + "quick_briefing_desc": "6126", + "load_cargo_desc": "7052", + "dropoff_cargo_desc": "-1", + "completion_desc": "9053", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b66 & !((b123 | b148) | b509)", + "on_accept": "", + "on_refuse": "", + "on_success": "b123", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0070", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 451: { + "resource_type": "misn", + "id": "451", + "name": "Insert Bureau Agent;Fed20", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "171", + "cargo_type": "19", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "35000", + "ship_count": "2", + "ship_system": "-4", + "ship_dude": "170", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6052", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8051", + "completion_desc": "9130", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b123 & !b3000", + "on_accept": "", + "on_refuse": "", + "on_success": "!b123", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 452: { + "resource_type": "misn", + "id": "452", + "name": "Rebel Insertion;Fed21", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "175", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25006", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5051", + "quick_briefing_desc": "6053", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9054", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b66 & !(b67 | b509)", + "on_accept": "A819", + "on_refuse": "", + "on_success": "b67", + "on_failure": "", + "on_abort": "S819", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "I'm in", + "refuse_button": "I need more time", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1810", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 453: { + "resource_type": "misn", + "id": "453", + "name": "Scout Moash Space;Fed22", + "available_stellar": "138", + "available_location": "3", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "380", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "153", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5052", + "quick_briefing_desc": "6054", + "load_cargo_desc": "7053", + "dropoff_cargo_desc": "8052", + "completion_desc": "9055", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "161", + "aux_ship_syst": "-2", + "available_ship_type": "127", + "available_bits": "b67 & !b68", + "on_accept": "L148", + "on_refuse": "G348", + "on_success": "b68", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 454: { + "resource_type": "misn", + "id": "454", + "name": "Distract Moash House;Fed23", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "379", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-10131", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "179", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "25010", + "ship_start": "1", + "completion_government": "153", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5053", + "quick_briefing_desc": "6055", + "load_cargo_desc": "7054", + "dropoff_cargo_desc": "-1", + "completion_desc": "9056", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "161", + "aux_ship_syst": "-2", + "available_ship_type": "127", + "available_bits": "b68 & !b69", + "on_accept": "S606", + "on_refuse": "G348", + "on_success": "b69 A606", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1870", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 455: { + "resource_type": "misn", + "id": "455", + "name": "Talk to Moash Elders;Fed24", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "380", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "131", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5054", + "quick_briefing_desc": "6056", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8053", + "completion_desc": "9057", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "130", + "aux_ship_syst": "366", + "available_ship_type": "127", + "available_bits": "b69 & !b70", + "on_accept": "", + "on_refuse": "G348", + "on_success": "b70", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 456: { + "resource_type": "misn", + "id": "456", + "name": "Return With Response;Fed25", + "available_stellar": "380", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "131", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6057", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9058", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "130", + "aux_ship_syst": "366", + "available_ship_type": "127", + "available_bits": "b70 & !b71", + "on_accept": "", + "on_refuse": "", + "on_success": "b71 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 457: { + "resource_type": "misn", + "id": "457", + "name": "Deliver Instructions;Fed26", + "available_stellar": "128", + "available_location": "3", + "available_record": "0", + "available_rating": "50", + "available_random": "50", + "travel_stellar": "380", + "return_stellar": "138", + "cargo_type": "18", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x2580", + "pay_value": "0", + "ship_count": "4", + "ship_system": "376", + "ship_dude": "160", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "131", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5055", + "quick_briefing_desc": "6058", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8054", + "completion_desc": "9059", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b71 & !(b72 | b6666)", + "on_accept": "", + "on_refuse": "G348", + "on_success": "b72 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 458: { + "resource_type": "misn", + "id": "458", + "name": "Deliver Further Instructions;Fed27", + "available_stellar": "10000", + "available_location": "3", + "available_record": "0", + "available_rating": "100", + "available_random": "60", + "travel_stellar": "380", + "return_stellar": "138", + "cargo_type": "18", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x2580", + "pay_value": "0", + "ship_count": "4", + "ship_system": "376", + "ship_dude": "160", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "131", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5056", + "quick_briefing_desc": "6058", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8055", + "completion_desc": "9060", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b72 & !(b73 | b6666)", + "on_accept": "", + "on_refuse": "G348", + "on_success": "b73", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 459: { + "resource_type": "misn", + "id": "459", + "name": "Re-Infiltrate Rebels;Fed28", + "available_stellar": "128", + "available_location": "3", + "available_record": "0", + "available_rating": "100", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "171", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "141", + "ship_dude": "141", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5057", + "quick_briefing_desc": "6059", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9061", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b73 & !b74", + "on_accept": "k148", + "on_refuse": "G348", + "on_success": "b74", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "Sure", + "refuse_button": "It's too risky", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 460: { + "resource_type": "misn", + "id": "460", + "name": "Carry Rebel Message;Fed29", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "100", + "available_random": "100", + "travel_stellar": "421", + "return_stellar": "134", + "cargo_type": "18", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "132", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5058", + "quick_briefing_desc": "6060", + "load_cargo_desc": "7055", + "dropoff_cargo_desc": "8056", + "completion_desc": "9062", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b74 & !b75", + "on_accept": "", + "on_refuse": "", + "on_success": "b75", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 461: { + "resource_type": "misn", + "id": "461", + "name": "Carry Reply;Fed30 - Unregistered cutoff", + "available_stellar": "134", + "available_location": "1", + "available_record": "0", + "available_rating": "100", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "18", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "100000", + "ship_count": "2", + "ship_system": "132", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5059", + "quick_briefing_desc": "6061", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9063", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(p0 & b75) & !b76", + "on_accept": "", + "on_refuse": "", + "on_success": "b76", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 462: { + "resource_type": "misn", + "id": "462", + "name": "Organize Meeting;Fed31", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "150", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "134", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "132", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5060", + "quick_briefing_desc": "6062", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9064", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b76) & !b77", + "on_accept": "", + "on_refuse": "", + "on_success": "b77", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 463: { + "resource_type": "misn", + "id": "463", + "name": "Lead Attack on Rebels;Fed32", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "150", + "available_random": "100", + "travel_stellar": "421", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-10128", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "179", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "153", + "completion_reward": "15", + "ship_subtitle": "-1", + "briefing_desc": "5061", + "quick_briefing_desc": "6063", + "load_cargo_desc": "7056", + "dropoff_cargo_desc": "8057", + "completion_desc": "9065", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "171", + "aux_ship_syst": "483", + "available_ship_type": "127", + "available_bits": "(P0 & b77) & !b78", + "on_accept": "L148 S607", + "on_refuse": "", + "on_success": "b78 b148 b6031 b8900 A607", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 464: { + "resource_type": "misn", + "id": "464", + "name": "Deliver Final Instructions;Fed33", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "200", + "available_random": "100", + "travel_stellar": "380", + "return_stellar": "138", + "cargo_type": "18", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x2580", + "pay_value": "50000", + "ship_count": "6", + "ship_system": "376", + "ship_dude": "160", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "131", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5062", + "quick_briefing_desc": "6064", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8058", + "completion_desc": "9066", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b78) & !b79", + "on_accept": "", + "on_refuse": "G348", + "on_success": "b79 b332", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 465: { + "resource_type": "misn", + "id": "465", + "name": "Chat With Federation President;Fed34", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "200", + "available_random": "100", + "travel_stellar": "147", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-20130", + "ship_count": "4", + "ship_system": "132", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "153", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5063", + "quick_briefing_desc": "6065", + "load_cargo_desc": "7057", + "dropoff_cargo_desc": "8059", + "completion_desc": "9067", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b79) & !b80", + "on_accept": "", + "on_refuse": "G348", + "on_success": "b80 b90", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 466: { + "resource_type": "misn", + "id": "466", + "name": "Polaris Diplomatic Mission;Fed35", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "200", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "254", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-20130", + "ship_count": "2", + "ship_system": "237", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "153", + "completion_reward": "5", + "ship_subtitle": "25003", + "briefing_desc": "5064", + "quick_briefing_desc": "6066", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8060", + "completion_desc": "9068", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b80) & !b81", + "on_accept": "G211 K150", + "on_refuse": "G348", + "on_success": "b81", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 467: { + "resource_type": "misn", + "id": "467", + "name": "Return With Polaris Proposal;Fed36", + "available_stellar": "254", + "available_location": "1", + "available_record": "0", + "available_rating": "200", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-10130", + "ship_count": "2", + "ship_system": "237", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "153", + "completion_reward": "5", + "ship_subtitle": "25003", + "briefing_desc": "5065", + "quick_briefing_desc": "6067", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9069", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b81) & !b82", + "on_accept": "", + "on_refuse": "", + "on_success": "b82", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 468: { + "resource_type": "misn", + "id": "468", + "name": "Scout Polaris Space;Fed37", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "200", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "256", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "238", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "153", + "completion_reward": "5", + "ship_subtitle": "25003", + "briefing_desc": "5066", + "quick_briefing_desc": "6068", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9070", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b82) & !b83", + "on_accept": "L128 K129", + "on_refuse": "G348", + "on_success": "b83", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 469: { + "resource_type": "misn", + "id": "469", + "name": "Scout Polaris Space;Fed38", + "available_stellar": "256", + "available_location": "3", + "available_record": "0", + "available_rating": "200", + "available_random": "100", + "travel_stellar": "232", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "100000", + "ship_count": "2", + "ship_system": "218", + "ship_dude": "138", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "153", + "completion_reward": "5", + "ship_subtitle": "25003", + "briefing_desc": "-1", + "quick_briefing_desc": "6068", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8061", + "completion_desc": "9071", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b83) & !b84", + "on_accept": "Q25046", + "on_refuse": "", + "on_success": "b84 b6666 A913", + "on_failure": "", + "on_abort": "", + "on_ship_done": "S913", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1076", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 470: { + "resource_type": "misn", + "id": "470", + "name": "Fetch Polaris Leader;Fed39", + "available_stellar": "10000", + "available_location": "3", + "available_record": "0", + "available_rating": "200", + "available_random": "40", + "travel_stellar": "254", + "return_stellar": "128", + "cargo_type": "30", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "100000", + "ship_count": "2", + "ship_system": "218", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "-50", + "ship_subtitle": "25003", + "briefing_desc": "5067", + "quick_briefing_desc": "6069", + "load_cargo_desc": "7058", + "dropoff_cargo_desc": "8062", + "completion_desc": "9072", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "130", + "aux_ship_syst": "128", + "available_ship_type": "127", + "available_bits": "(P0 & b84) & !(b85 | b6666)", + "on_accept": "", + "on_refuse": "G348", + "on_success": "b85 b340 b8902", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 471: { + "resource_type": "misn", + "id": "471", + "name": "Meet Auroran Forces;Fed40", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "200", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "297", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "269", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "153", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5068", + "quick_briefing_desc": "6070", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9073", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "155", + "aux_ship_syst": "269", + "available_ship_type": "127", + "available_bits": "(P0 & b85) & !b86", + "on_accept": "", + "on_refuse": "", + "on_success": "b86", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 472: { + "resource_type": "misn", + "id": "472", + "name": "Lead Auroran Forces;Fed41", + "available_stellar": "297", + "available_location": "1", + "available_record": "0", + "available_rating": "200", + "available_random": "100", + "travel_stellar": "232", + "return_stellar": "256", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "10", + "ship_system": "-6", + "ship_dude": "181", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "-20", + "ship_subtitle": "-1", + "briefing_desc": "5069", + "quick_briefing_desc": "6071", + "load_cargo_desc": "7059", + "dropoff_cargo_desc": "8063", + "completion_desc": "9074", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "138", + "aux_ship_syst": "238", + "available_ship_type": "127", + "available_bits": "(P0 & b86) & !b87", + "on_accept": "", + "on_refuse": "", + "on_success": "b87 S786", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 473: { + "resource_type": "misn", + "id": "473", + "name": "Destroy Polaris Raven;Fed42", + "available_stellar": "138", + "available_location": "3", + "available_record": "0", + "available_rating": "200", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-10130", + "ship_count": "1", + "ship_system": "129", + "ship_dude": "182", + "ship_goal": "0", + "ship_behavior": "-1", + "ship_name": "25003", + "ship_start": "0", + "completion_government": "153", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5070", + "quick_briefing_desc": "6072", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9075", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "183", + "aux_ship_syst": "129", + "available_ship_type": "127", + "available_bits": "(P0 & b87) & !(b88 | b1000)", + "on_accept": "S795", + "on_refuse": "G348", + "on_success": "b88 b333 A795 b8904", + "on_failure": "", + "on_abort": "A795", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1270", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 474: { + "resource_type": "misn", + "id": "474", + "name": "Take Krane to Earth;Fed43 LAST", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "200", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "23", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0400", + "pay_value": "250000", + "ship_count": "1", + "ship_system": "-4", + "ship_dude": "183", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "153", + "completion_reward": "20", + "ship_subtitle": "-1", + "briefing_desc": "5071", + "quick_briefing_desc": "6073", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8064", + "completion_desc": "9076", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b88) & !b89", + "on_accept": "", + "on_refuse": "G348", + "on_success": "b89 b9995 b9500 M472 L129 K149 Q25048", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 475: { + "resource_type": "misn", + "id": "475", + "name": "Delivery to ", + "available_stellar": "10006", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10006", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 476: { + "resource_type": "misn", + "id": "476", + "name": "Delivery to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 477: { + "resource_type": "misn", + "id": "477", + "name": "Delivery to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 478: { + "resource_type": "misn", + "id": "478", + "name": "Delivery to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 479: { + "resource_type": "misn", + "id": "479", + "name": "Delivery to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 480: { + "resource_type": "misn", + "id": "480", + "name": "Delivery to ", + "available_stellar": "419", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "421", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 481: { + "resource_type": "misn", + "id": "481", + "name": "Delivery to ", + "available_stellar": "421", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "419", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 482: { + "resource_type": "misn", + "id": "482", + "name": "Delivery to ", + "available_stellar": "421", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "419", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "382", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 483: { + "resource_type": "misn", + "id": "483", + "name": "Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 484: { + "resource_type": "misn", + "id": "484", + "name": "Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 485: { + "resource_type": "misn", + "id": "485", + "name": "Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 486: { + "resource_type": "misn", + "id": "486", + "name": "Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 487: { + "resource_type": "misn", + "id": "487", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 488: { + "resource_type": "misn", + "id": "488", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 489: { + "resource_type": "misn", + "id": "489", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 490: { + "resource_type": "misn", + "id": "490", + "name": "Delivery to ", + "available_stellar": "10003", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10003", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 491: { + "resource_type": "misn", + "id": "491", + "name": "Delivery to ", + "available_stellar": "10004", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10004", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 492: { + "resource_type": "misn", + "id": "492", + "name": "Delivery to ", + "available_stellar": "10005", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10005", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 493: { + "resource_type": "misn", + "id": "493", + "name": "Delivery to ", + "available_stellar": "10006", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10006", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 494: { + "resource_type": "misn", + "id": "494", + "name": "Delivery to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 495: { + "resource_type": "misn", + "id": "495", + "name": "Delivery to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 496: { + "resource_type": "misn", + "id": "496", + "name": "Delivery to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 497: { + "resource_type": "misn", + "id": "497", + "name": "Delivery to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 498: { + "resource_type": "misn", + "id": "498", + "name": "Delivery to ", + "available_stellar": "421", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "419", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 499: { + "resource_type": "misn", + "id": "499", + "name": "Delivery to ", + "available_stellar": "419", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "421", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 500: { + "resource_type": "misn", + "id": "500", + "name": "Delivery to ", + "available_stellar": "421", + "available_location": "0", + "available_record": "5", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "419", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28005", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 501: { + "resource_type": "misn", + "id": "501", + "name": "Urgent Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "16", + "available_rating": "100", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-40", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "125000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25008", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28004", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "18", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0140", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 502: { + "resource_type": "misn", + "id": "502", + "name": "Urgent Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "16", + "available_rating": "100", + "available_random": "50", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-40", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "125000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25008", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28004", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "18", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0140", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 503: { + "resource_type": "misn", + "id": "503", + "name": "Urgent Delivery to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "16", + "available_rating": "100", + "available_random": "50", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-40", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "125000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25008", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28004", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "18", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0140", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 504: { + "resource_type": "misn", + "id": "504", + "name": "United Shipping Intro;United Shipping1", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "30", + "travel_stellar": "10000", + "return_stellar": "10000", + "cargo_type": "38", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5400", + "quick_briefing_desc": "6400", + "load_cargo_desc": "7400", + "dropoff_cargo_desc": "-1", + "completion_desc": "9400", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b9 | b8444) & !((b8338 | b8339) | b424)", + "on_accept": "", + "on_refuse": "b8444 b6666", + "on_success": "b9 K145", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 505: { + "resource_type": "misn", + "id": "505", + "name": "Un. Shipping Delivery;United Shipping1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "10000", + "return_stellar": "10000", + "cargo_type": "38", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6401", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9401", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "20", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 506: { + "resource_type": "misn", + "id": "506", + "name": "Un. Shipping Delivery;United Shipping1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "10000", + "return_stellar": "10000", + "cargo_type": "38", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6401", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9401", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "20", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 507: { + "resource_type": "misn", + "id": "507", + "name": "Un. Shipping Delivery;United Shipping1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "10000", + "return_stellar": "10000", + "cargo_type": "38", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6401", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9401", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "20", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 508: { + "resource_type": "misn", + "id": "508", + "name": "Un. Shipping Delivery;United Shipping1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "10000", + "return_stellar": "10000", + "cargo_type": "39", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6402", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9402", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "20", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 509: { + "resource_type": "misn", + "id": "509", + "name": "Un. Shipping Delivery;United Shipping1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "10000", + "return_stellar": "10000", + "cargo_type": "39", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6402", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9402", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "20", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 510: { + "resource_type": "misn", + "id": "510", + "name": "Un. Shipping Delivery;United Shipping1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "10000", + "return_stellar": "10000", + "cargo_type": "41", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6402", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9402", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "20", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 511: { + "resource_type": "misn", + "id": "511", + "name": "Un. Shipping Delivery;United Shipping1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "10000", + "return_stellar": "10000", + "cargo_type": "41", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6402", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9402", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "20", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 512: { + "resource_type": "misn", + "id": "512", + "name": "Un. Shipping Delivery;United Shipping1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "16", + "travel_stellar": "10000", + "return_stellar": "10000", + "cargo_type": "40", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6403", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9403", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "25", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 513: { + "resource_type": "misn", + "id": "513", + "name": "Un. Shipping Delivery;United Shipping1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "16", + "travel_stellar": "10000", + "return_stellar": "10000", + "cargo_type": "40", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6403", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9403", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "25", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 514: { + "resource_type": "misn", + "id": "514", + "name": "Un. Shipping Delivery;United Shipping1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "8", + "travel_stellar": "10000", + "return_stellar": "10000", + "cargo_type": "42", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "50000", + "ship_count": "1", + "ship_system": "-4", + "ship_dude": "198", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6404", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9404", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "25", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 515: { + "resource_type": "misn", + "id": "515", + "name": "Un. Shipping Delivery;United Shipping1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "8", + "travel_stellar": "10000", + "return_stellar": "10000", + "cargo_type": "42", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "50000", + "ship_count": "1", + "ship_system": "-4", + "ship_dude": "198", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6404", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9404", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "25", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 516: { + "resource_type": "misn", + "id": "516", + "name": "Un. Shipping Delivery;United Shipping1a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "4", + "travel_stellar": "10000", + "return_stellar": "10000", + "cargo_type": "43", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "2", + "ship_system": "-4", + "ship_dude": "198", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6405", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9405", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "25", + "aux_ship_count": "1", + "aux_ship_dude": "198", + "aux_ship_syst": "-2", + "available_ship_type": "127", + "available_bits": "b9 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 517: { + "resource_type": "misn", + "id": "517", + "name": "Ferry United Shipping Negotiator;United Shipping2", + "available_stellar": "10000", + "available_location": "1", + "available_record": "4", + "available_rating": "350", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "338", + "cargo_type": "6", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "50000", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "235", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5410", + "quick_briefing_desc": "6410", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9410", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b9 & !b424) & !(b10 | b9501)", + "on_accept": "", + "on_refuse": "b9501", + "on_success": "b10", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 518: { + "resource_type": "misn", + "id": "518", + "name": "Un. Shipping Delivery;United Shipping3", + "available_stellar": "338", + "available_location": "1", + "available_record": "0", + "available_rating": "350", + "available_random": "100", + "travel_stellar": "10001", + "return_stellar": "10001", + "cargo_type": "43", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "-20129", + "ship_count": "3", + "ship_system": "-6", + "ship_dude": "263", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "166", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5411", + "quick_briefing_desc": "6411", + "load_cargo_desc": "7411", + "dropoff_cargo_desc": "-1", + "completion_desc": "9411", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "9501", + "time_limit": "70", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b10 & !(b12 | b424)", + "on_accept": "b14", + "on_refuse": "b12", + "on_success": "b11 b12", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 519: { + "resource_type": "misn", + "id": "519", + "name": "Return With Samantha;United Shipping4", + "available_stellar": "338", + "available_location": "1", + "available_record": "0", + "available_rating": "350", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "79", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "166", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5415", + "quick_briefing_desc": "6415", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9415", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b11 & !(b13 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b15 b13", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 520: { + "resource_type": "misn", + "id": "520", + "name": "Return With Samantha;United Shipping3a", + "available_stellar": "338", + "available_location": "1", + "available_record": "0", + "available_rating": "350", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "6", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "166", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6415", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9414", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b12 & !(b14 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b14", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 521: { + "resource_type": "misn", + "id": "521", + "name": "Un. Shipping Delivery;United Shipping4a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "10001", + "return_stellar": "10001", + "cargo_type": "38", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6401", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9401", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "40", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b15 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 522: { + "resource_type": "misn", + "id": "522", + "name": "Un. Shipping Delivery;United Shipping4a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "10001", + "return_stellar": "10001", + "cargo_type": "38", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6401", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9401", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "40", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b15 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 523: { + "resource_type": "misn", + "id": "523", + "name": "Un. Shipping Delivery;United Shipping4a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "10001", + "return_stellar": "10001", + "cargo_type": "38", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "10000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6401", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9401", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "40", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b15 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 524: { + "resource_type": "misn", + "id": "524", + "name": "Un. Shipping Delivery;United Shipping4a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "10001", + "return_stellar": "10001", + "cargo_type": "39", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6402", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9402", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "40", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b15 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 525: { + "resource_type": "misn", + "id": "525", + "name": "Un. Shipping Delivery;United Shipping4a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "10001", + "return_stellar": "10001", + "cargo_type": "39", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6402", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9402", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "40", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b15 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 526: { + "resource_type": "misn", + "id": "526", + "name": "Un. Shipping Delivery;United Shipping4a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "10001", + "return_stellar": "10001", + "cargo_type": "41", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6402", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9402", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "40", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b15 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 527: { + "resource_type": "misn", + "id": "527", + "name": "Un. Shipping Delivery;United Shipping4a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "10001", + "return_stellar": "10001", + "cargo_type": "41", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6402", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9402", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "40", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b15 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 528: { + "resource_type": "misn", + "id": "528", + "name": "Un. Shipping Delivery;United Shipping4a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "16", + "travel_stellar": "10001", + "return_stellar": "10001", + "cargo_type": "40", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6403", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9403", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b15 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 529: { + "resource_type": "misn", + "id": "529", + "name": "Un. Shipping Delivery;United Shipping4a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "16", + "travel_stellar": "10001", + "return_stellar": "10001", + "cargo_type": "40", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6403", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9403", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b15 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 530: { + "resource_type": "misn", + "id": "530", + "name": "Un. Shipping Delivery;United Shipping4a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "8", + "travel_stellar": "10001", + "return_stellar": "10001", + "cargo_type": "42", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "50000", + "ship_count": "1", + "ship_system": "-4", + "ship_dude": "198", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6404", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9404", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b15 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 531: { + "resource_type": "misn", + "id": "531", + "name": "Un. Shipping Delivery;United Shipping4a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "8", + "travel_stellar": "10001", + "return_stellar": "10001", + "cargo_type": "42", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "50000", + "ship_count": "1", + "ship_system": "-4", + "ship_dude": "198", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6404", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9404", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b15 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 532: { + "resource_type": "misn", + "id": "532", + "name": "Un. Shipping Delivery;United Shipping4a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "4", + "travel_stellar": "10001", + "return_stellar": "10001", + "cargo_type": "43", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "2", + "ship_system": "-4", + "ship_dude": "198", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6405", + "load_cargo_desc": "7401", + "dropoff_cargo_desc": "-1", + "completion_desc": "9405", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "1", + "aux_ship_dude": "198", + "aux_ship_syst": "-2", + "available_ship_type": "127", + "available_bits": "b15 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 533: { + "resource_type": "misn", + "id": "533", + "name": "Un. Shipping Long Delivery;United Shipping4b", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "200", + "available_random": "50", + "travel_stellar": "194", + "return_stellar": "10001", + "cargo_type": "44", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "166", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5416", + "quick_briefing_desc": "6416", + "load_cargo_desc": "7416", + "dropoff_cargo_desc": "8416", + "completion_desc": "9416", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b15 & !(b16 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b16", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 534: { + "resource_type": "misn", + "id": "534", + "name": "Un. Shipping Long Delivery;United Shipping4b", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "10", + "travel_stellar": "194", + "return_stellar": "10001", + "cargo_type": "44", + "cargo_amount": "5", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6416", + "load_cargo_desc": "7416", + "dropoff_cargo_desc": "-1", + "completion_desc": "9417", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b16 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 535: { + "resource_type": "misn", + "id": "535", + "name": "Un. Shipping Long Delivery;United Shipping4b", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "10", + "travel_stellar": "194", + "return_stellar": "10001", + "cargo_type": "44", + "cargo_amount": "5", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6416", + "load_cargo_desc": "7416", + "dropoff_cargo_desc": "-1", + "completion_desc": "9417", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b16 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 536: { + "resource_type": "misn", + "id": "536", + "name": "Un. Shipping Long Delivery;United Shipping4b", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "8", + "travel_stellar": "10001", + "return_stellar": "10000", + "cargo_type": "45", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "200000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "4", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6416", + "load_cargo_desc": "7417", + "dropoff_cargo_desc": "-1", + "completion_desc": "9418", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "65", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b16 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 537: { + "resource_type": "misn", + "id": "537", + "name": "Un. Shipping Long Delivery;United Shipping4b", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "10", + "travel_stellar": "10001", + "return_stellar": "10000", + "cargo_type": "45", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "150000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "4", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6416", + "load_cargo_desc": "7417", + "dropoff_cargo_desc": "-1", + "completion_desc": "9424", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "65", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b16 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 538: { + "resource_type": "misn", + "id": "538", + "name": "Un. Shipping Long Delivery;United Shipping4b", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "5", + "travel_stellar": "10001", + "return_stellar": "10000", + "cargo_type": "16", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "500000", + "ship_count": "1", + "ship_system": "-1", + "ship_dude": "154", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6417", + "load_cargo_desc": "7418", + "dropoff_cargo_desc": "-1", + "completion_desc": "9419", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "65", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b16 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0120", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 539: { + "resource_type": "misn", + "id": "539", + "name": "Take Terraforming Team to ;Terraforming1", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "30", + "travel_stellar": "-1", + "return_stellar": "211", + "cargo_type": "78", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5517", + "quick_briefing_desc": "6517", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9517", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(!b17 & b9998) & !(b424 | b6666)", + "on_accept": "", + "on_refuse": "b9998", + "on_success": "b17", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0020", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 540: { + "resource_type": "misn", + "id": "540", + "name": "Equipment Delivery;Terraforming1a", + "available_stellar": "211", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "25", + "travel_stellar": "10000", + "return_stellar": "211", + "cargo_type": "5", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5518", + "quick_briefing_desc": "6518", + "load_cargo_desc": "7518", + "dropoff_cargo_desc": "-1", + "completion_desc": "9518", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b17 & !(b18 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0020", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 541: { + "resource_type": "misn", + "id": "541", + "name": "Take Team to ;Terraforming2", + "available_stellar": "211", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "65", + "travel_stellar": "-1", + "return_stellar": "174", + "cargo_type": "46", + "cargo_amount": "15", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5519", + "quick_briefing_desc": "6519", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9519", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b35 & b17) & !(b18 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b18", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1020", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 542: { + "resource_type": "misn", + "id": "542", + "name": "Equipment Delivery;Terraforming3", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "10000", + "return_stellar": "515", + "cargo_type": "5", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6518", + "load_cargo_desc": "7518", + "dropoff_cargo_desc": "-1", + "completion_desc": "9520", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b36 & b18) & !(b19 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b19", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0120", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 543: { + "resource_type": "misn", + "id": "543", + "name": "Equipment Delivery;Terraforming4", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "10000", + "return_stellar": "516", + "cargo_type": "5", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6518", + "load_cargo_desc": "7518", + "dropoff_cargo_desc": "-1", + "completion_desc": "9521", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b37 & b19) & !(b20 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b20", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0120", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 544: { + "resource_type": "misn", + "id": "544", + "name": "Equipment Delivery;Terraforming5", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "10000", + "return_stellar": "516", + "cargo_type": "5", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6518", + "load_cargo_desc": "7518", + "dropoff_cargo_desc": "-1", + "completion_desc": "9522", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b38 & b20) & !(b21 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b21", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0120", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 545: { + "resource_type": "misn", + "id": "545", + "name": "Equipment Delivery;Terraforming6", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "10000", + "return_stellar": "516", + "cargo_type": "5", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6518", + "load_cargo_desc": "7518", + "dropoff_cargo_desc": "-1", + "completion_desc": "9523", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b39 & b21) & !(b22 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b22", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0120", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 546: { + "resource_type": "misn", + "id": "546", + "name": "Equipment Delivery;Terraforming7", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "10000", + "return_stellar": "517", + "cargo_type": "5", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6518", + "load_cargo_desc": "7518", + "dropoff_cargo_desc": "-1", + "completion_desc": "9524", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b40 & b22) & !(b23 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b23", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0120", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 547: { + "resource_type": "misn", + "id": "547", + "name": "Transport Colonists;Terraforming8", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "1420", + "cargo_type": "47", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5520", + "quick_briefing_desc": "6520", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8520", + "completion_desc": "9525", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b41 & b23) & !(b24 | b424)", + "on_accept": "b25", + "on_refuse": "", + "on_success": "b24", + "on_failure": "", + "on_abort": "!b25", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0120", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 548: { + "resource_type": "misn", + "id": "548", + "name": "Transport Colonists;Terraforming8a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "1420", + "cargo_type": "47", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "75000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5520", + "quick_briefing_desc": "6520", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9526", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b24 & ! B424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0120", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 549: { + "resource_type": "misn", + "id": "549", + "name": "Gli-tech Delivery;Gli-tech1", + "available_stellar": "216", + "available_location": "6", + "available_record": "1", + "available_rating": "50", + "available_random": "75", + "travel_stellar": "10000", + "return_stellar": "216", + "cargo_type": "48", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5525", + "quick_briefing_desc": "6401", + "load_cargo_desc": "7416", + "dropoff_cargo_desc": "-1", + "completion_desc": "9516", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "40", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b26 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b26", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 550: { + "resource_type": "misn", + "id": "550", + "name": "Gli-tech Delivery;Gli-tech2", + "available_stellar": "216", + "available_location": "0", + "available_record": "2", + "available_rating": "2", + "available_random": "60", + "travel_stellar": "10000", + "return_stellar": "216", + "cargo_type": "48", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "0", + "briefing_desc": "-1", + "quick_briefing_desc": "6401", + "load_cargo_desc": "7416", + "dropoff_cargo_desc": "-1", + "completion_desc": "9515", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "25", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b26 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 551: { + "resource_type": "misn", + "id": "551", + "name": "Test Polaron Cannon;Gli-tech3", + "available_stellar": "216", + "available_location": "6", + "available_record": "2", + "available_rating": "250", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "216", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x4400", + "pay_value": "50000", + "ship_count": "1", + "ship_system": "164", + "ship_dude": "234", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25001", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5526", + "quick_briefing_desc": "6526", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9514", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b26 & !(b27 | b424)", + "on_accept": "G147", + "on_refuse": "", + "on_success": "b27", + "on_failure": "D147", + "on_abort": "D147", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0200", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 552: { + "resource_type": "misn", + "id": "552", + "name": "Test EW Missile;Gli-tech4", + "available_stellar": "216", + "available_location": "6", + "available_record": "2", + "available_rating": "500", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "216", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x4400", + "pay_value": "50000", + "ship_count": "1", + "ship_system": "164", + "ship_dude": "234", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25001", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5528", + "quick_briefing_desc": "6526", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9514", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b27 & !(b29 | b424)", + "on_accept": "b28 G140 G141 G141 G141 G141 G141", + "on_refuse": "", + "on_success": "b29", + "on_failure": "D140 D141 D141 D141 D141 D141", + "on_abort": "!b28 D140 D141 D141 D141 D141 D141", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0200", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 553: { + "resource_type": "misn", + "id": "553", + "name": "Photograph Wraith Cannon;Gli-tech5", + "available_stellar": "216", + "available_location": "6", + "available_record": "2", + "available_rating": "2000", + "available_random": "40", + "travel_stellar": "220", + "return_stellar": "216", + "cargo_type": "49", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x6400", + "pay_value": "500000", + "ship_count": "3", + "ship_system": "-3", + "ship_dude": "137", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5530", + "quick_briefing_desc": "6530", + "load_cargo_desc": "7530", + "dropoff_cargo_desc": "-1", + "completion_desc": "9530", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b29 & !(b30 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b30", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 554: { + "resource_type": "misn", + "id": "554", + "name": "Test Wraith Cannon;Gli-tech6", + "available_stellar": "216", + "available_location": "6", + "available_record": "2", + "available_rating": "3000", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "216", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x6400", + "pay_value": "50000", + "ship_count": "1", + "ship_system": "164", + "ship_dude": "234", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25001", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5532", + "quick_briefing_desc": "6526", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9532", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b30 & !(b32 | b424)", + "on_accept": "b31 G254 G255 G255 G255 G255 G255 G255 G255 G255 G255 G255", + "on_refuse": "", + "on_success": "b32", + "on_failure": "D254 D255 D255 D255 D255 D255 D255 ", + "on_abort": "!b31 D254 D255 D255 D255 D255 D255 D255 ", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0200", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 555: { + "resource_type": "misn", + "id": "555", + "name": "Sigma Shipyards Delivery;Sigma1", + "available_stellar": "128", + "available_location": "5", + "available_record": "0", + "available_rating": "10", + "available_random": "60", + "travel_stellar": "202", + "return_stellar": "128", + "cargo_type": "5", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5533", + "quick_briefing_desc": "6533", + "load_cargo_desc": "7518", + "dropoff_cargo_desc": "8533", + "completion_desc": "9533", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b424 | (b33 | b149)) & !(b6300 | b6302)", + "on_accept": "", + "on_refuse": "", + "on_success": "b33", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 556: { + "resource_type": "misn", + "id": "556", + "name": "Sigma Shipyards Delivery;Sigma2", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "75", + "travel_stellar": "10000", + "return_stellar": "128", + "cargo_type": "5", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6533", + "load_cargo_desc": "7518", + "dropoff_cargo_desc": "-1", + "completion_desc": "9534", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b33 & !(b424 | b46)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 557: { + "resource_type": "misn", + "id": "557", + "name": "Bulk Delivery;Sigma2a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "75", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "1000", + "cargo_amount": "-600", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "75000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5557", + "quick_briefing_desc": "6557", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9557", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000010", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 558: { + "resource_type": "misn", + "id": "558", + "name": "Bulk Delivery;Sigma2a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "-1", + "return_stellar": "10001", + "cargo_type": "1000", + "cargo_amount": "-600", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "75000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5558", + "quick_briefing_desc": "6557", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9558", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000010", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 559: { + "resource_type": "misn", + "id": "559", + "name": "Bulk Delivery;Sigma2a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "-1", + "return_stellar": "10001", + "cargo_type": "1000", + "cargo_amount": "-600", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "125000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5557", + "quick_briefing_desc": "6557", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9558", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000010", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 560: { + "resource_type": "misn", + "id": "560", + "name": "Bulk Delivery;Sigma2a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "35", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "1000", + "cargo_amount": "-600", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "125000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5558", + "quick_briefing_desc": "6557", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9557", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000010", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 561: { + "resource_type": "misn", + "id": "561", + "name": "Bulk Delivery;Sigma2a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "75", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "1000", + "cargo_amount": "-600", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "75000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5561", + "quick_briefing_desc": "6557", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9557", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000020", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 562: { + "resource_type": "misn", + "id": "562", + "name": "Bulk Delivery;Sigma2a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "-1", + "return_stellar": "10001", + "cargo_type": "1000", + "cargo_amount": "-600", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "75000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5562", + "quick_briefing_desc": "6557", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9558", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000020", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 563: { + "resource_type": "misn", + "id": "563", + "name": "Bulk Delivery;Sigma2a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "-1", + "return_stellar": "10001", + "cargo_type": "1000", + "cargo_amount": "-600", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "125000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5561", + "quick_briefing_desc": "6557", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9558", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000020", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 564: { + "resource_type": "misn", + "id": "564", + "name": "Bulk Delivery;Sigma2a", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "35", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "1000", + "cargo_amount": "-600", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "125000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5562", + "quick_briefing_desc": "6557", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9557", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000020", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 565: { + "resource_type": "misn", + "id": "565", + "name": "Large Bulk Delivery;Sigma2b", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "1000", + "cargo_amount": "-2500", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "250000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5559", + "quick_briefing_desc": "6559", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9559", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000010", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 566: { + "resource_type": "misn", + "id": "566", + "name": "Large Bulk Delivery;Sigma2b", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "10001", + "cargo_type": "1000", + "cargo_amount": "-2500", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "250000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5560", + "quick_briefing_desc": "6559", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9560", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000010", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 567: { + "resource_type": "misn", + "id": "567", + "name": "Large Bulk Delivery;Sigma2b", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "30", + "travel_stellar": "-1", + "return_stellar": "10001", + "cargo_type": "1000", + "cargo_amount": "-2500", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "375000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5559", + "quick_briefing_desc": "6559", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9560", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000010", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 568: { + "resource_type": "misn", + "id": "568", + "name": "Large Bulk Delivery;Sigma2b", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "22", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "1000", + "cargo_amount": "-2500", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "375000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5560", + "quick_briefing_desc": "6559", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9559", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000010", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 569: { + "resource_type": "misn", + "id": "569", + "name": "Charter Flight;Sigma2c", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "75", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "6", + "cargo_amount": "-60", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5569", + "quick_briefing_desc": "6569", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9569", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000040", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 570: { + "resource_type": "misn", + "id": "570", + "name": "Charter Flight;Sigma2c", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "75", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "6", + "cargo_amount": "-60", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5569", + "quick_briefing_desc": "6569", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9569", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000040", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 571: { + "resource_type": "misn", + "id": "571", + "name": "Charter Flight;Sigma2c", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "-1", + "return_stellar": "10001", + "cargo_type": "6", + "cargo_amount": "-60", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5569", + "quick_briefing_desc": "6569", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9570", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000040", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 572: { + "resource_type": "misn", + "id": "572", + "name": "Charter Flight;Sigma2c", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "-1", + "return_stellar": "10001", + "cargo_type": "6", + "cargo_amount": "-60", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5569", + "quick_briefing_desc": "6569", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9570", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000040", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 573: { + "resource_type": "misn", + "id": "573", + "name": "Charter Flight;Sigma2c", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "6", + "cargo_amount": "-60", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "4", + "ship_subtitle": "-1", + "briefing_desc": "5571", + "quick_briefing_desc": "6569", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9570", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000040", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 574: { + "resource_type": "misn", + "id": "574", + "name": "Charter Flight;Sigma2c", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "35", + "travel_stellar": "-1", + "return_stellar": "10001", + "cargo_type": "6", + "cargo_amount": "-60", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "4", + "ship_subtitle": "-1", + "briefing_desc": "5571", + "quick_briefing_desc": "6569", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9569", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000040", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 575: { + "resource_type": "misn", + "id": "575", + "name": "Rescue Rebel;Fed 18 (forced)", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "40", + "travel_stellar": "10000", + "return_stellar": "138", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "2", + "ship_subtitle": "25002", + "briefing_desc": "5128", + "quick_briefing_desc": "6126", + "load_cargo_desc": "7060", + "dropoff_cargo_desc": "-1", + "completion_desc": "9077", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b3000 & !b123", + "on_accept": "", + "on_refuse": "", + "on_success": "b123", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0072", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 576: { + "resource_type": "misn", + "id": "576", + "name": "Insert Bureau Agent;Fed 19 (forced)", + "available_stellar": "138", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "171", + "cargo_type": "19", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "35000", + "ship_count": "2", + "ship_system": "-4", + "ship_dude": "170", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "2", + "ship_subtitle": "25005", + "briefing_desc": "-1", + "quick_briefing_desc": "6052", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8065", + "completion_desc": "9078", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b3000 & b123", + "on_accept": "", + "on_refuse": "", + "on_success": "!b123", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 577: { + "resource_type": "misn", + "id": "577", + "name": "Open Talks With United Shipping;United Shipping5", + "available_stellar": "261", + "available_location": "4", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "128", + "return_stellar": "261", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "1", + "ship_system": "130", + "ship_dude": "199", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5315", + "quick_briefing_desc": "6315", + "load_cargo_desc": "7315", + "dropoff_cargo_desc": "-1", + "completion_desc": "9315", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b16 & b297) & !(b1500 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b1500", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 578: { + "resource_type": "misn", + "id": "578", + "name": "Un. Shipping Long Delivery;United Shipping6", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "10", + "travel_stellar": "194", + "return_stellar": "227", + "cargo_type": "44", + "cargo_amount": "5", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x1000", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6416", + "load_cargo_desc": "7416", + "dropoff_cargo_desc": "-1", + "completion_desc": "9420", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "40", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1500 & !(b1501 | b424)", + "on_accept": "b1501", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "!b1501", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 579: { + "resource_type": "misn", + "id": "579", + "name": "Un. Shipping Long Delivery;United Shipping6a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "20", + "travel_stellar": "10000", + "return_stellar": "227", + "cargo_type": "43", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6416", + "load_cargo_desc": "7416", + "dropoff_cargo_desc": "-1", + "completion_desc": "9421", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1501 & !(b1502 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 580: { + "resource_type": "misn", + "id": "580", + "name": "Un. Shipping Long Delivery;United Shipping6a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "20", + "travel_stellar": "10000", + "return_stellar": "227", + "cargo_type": "40", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6416", + "load_cargo_desc": "7416", + "dropoff_cargo_desc": "-1", + "completion_desc": "9421", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1501 & !(b1502 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 581: { + "resource_type": "misn", + "id": "581", + "name": "Un. Shipping Long Delivery;United Shipping6a", + "available_stellar": "227", + "available_location": "3", + "available_record": "0", + "available_rating": "200", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "39", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5401", + "quick_briefing_desc": "6418", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9405", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1501 & !(b1502 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "b1502", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 582: { + "resource_type": "misn", + "id": "582", + "name": "Un. Shipping Long Delivery;United Shipping6a", + "available_stellar": "448", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "45", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "39", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6418", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9405", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1502 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 583: { + "resource_type": "misn", + "id": "583", + "name": "Un. Shipping Long Delivery;United Shipping6a", + "available_stellar": "448", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "45", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "40", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6418", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9405", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1502 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 584: { + "resource_type": "misn", + "id": "584", + "name": "Un. Shipping Long Delivery;United Shipping6a", + "available_stellar": "448", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "45", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "43", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6418", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9405", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1502 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 585: { + "resource_type": "misn", + "id": "585", + "name": "Un. Shipping Long Delivery;United Shipping6a", + "available_stellar": "448", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "45", + "travel_stellar": "-1", + "return_stellar": "10000", + "cargo_type": "50", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6418", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9405", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1502 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 586: { + "resource_type": "misn", + "id": "586", + "name": "Un. Shipping Long Delivery;United Shipping6a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "20", + "travel_stellar": "10000", + "return_stellar": "448", + "cargo_type": "43", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6416", + "load_cargo_desc": "7416", + "dropoff_cargo_desc": "-1", + "completion_desc": "9421", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1502 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 587: { + "resource_type": "misn", + "id": "587", + "name": "Un. Shipping Long Delivery;United Shipping6a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "20", + "travel_stellar": "10000", + "return_stellar": "448", + "cargo_type": "40", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6416", + "load_cargo_desc": "7416", + "dropoff_cargo_desc": "-1", + "completion_desc": "9421", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1502 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 588: { + "resource_type": "misn", + "id": "588", + "name": "Un. Shipping Long Delivery;United Shipping6a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "20", + "travel_stellar": "194", + "return_stellar": "227", + "cargo_type": "44", + "cargo_amount": "5", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6416", + "load_cargo_desc": "7416", + "dropoff_cargo_desc": "-1", + "completion_desc": "9421", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1501 & !(b1502 | b424)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 589: { + "resource_type": "misn", + "id": "589", + "name": "Un. Shipping Long Delivery;United Shipping6a", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "200", + "available_random": "20", + "travel_stellar": "194", + "return_stellar": "448", + "cargo_type": "44", + "cargo_amount": "5", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "100000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "166", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6416", + "load_cargo_desc": "7416", + "dropoff_cargo_desc": "-1", + "completion_desc": "9421", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "50", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b1502 & !b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 590: { + "resource_type": "misn", + "id": "590", + "name": "Rebel Insertion;Fed 20 (forced)", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-4", + "ship_dude": "175", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25006", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5049", + "quick_briefing_desc": "6053", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9079", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b3000 & !(b3001 | b3002)", + "on_accept": "b509", + "on_refuse": "", + "on_success": "R(b3001 b3002)", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1072", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 591: { + "resource_type": "misn", + "id": "591", + "name": "Rescue Rebel;Fed 21 (Rebel link - Regain your life)", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "419", + "return_stellar": "171", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-6", + "ship_dude": "171", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "25005", + "briefing_desc": "5129", + "quick_briefing_desc": "6127", + "load_cargo_desc": "7131", + "dropoff_cargo_desc": "8130", + "completion_desc": "9124", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b3002 & !b509", + "on_accept": "", + "on_refuse": "", + "on_success": "b509 b128 b126 b127 b129", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1074", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 592: { + "resource_type": "misn", + "id": "592", + "name": "Pass on Message;Fed22 (forced)", + "available_stellar": "10000", + "available_location": "3", + "available_record": "0", + "available_rating": "-1", + "available_random": "20", + "travel_stellar": "-1", + "return_stellar": "184", + "cargo_type": "18", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x2580", + "pay_value": "10000", + "ship_count": "6", + "ship_system": "-4", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "153", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6700", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9700", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "163", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "b3001 & !(b3003 | b3025)", + "on_accept": "", + "on_refuse": "b3007 b3025 b148", + "on_success": "b3003", + "on_failure": "b3007 b3025 b148", + "on_abort": "b3007 b3025 b148", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1064", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 593: { + "resource_type": "misn", + "id": "593", + "name": "Pass on Message;Fed23 (forced)", + "available_stellar": "10000", + "available_location": "3", + "available_record": "0", + "available_rating": "-1", + "available_random": "10", + "travel_stellar": "-1", + "return_stellar": "184", + "cargo_type": "18", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x2580", + "pay_value": "10000", + "ship_count": "6", + "ship_system": "-4", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "153", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6700", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9701", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "163", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "b3003 & !((b3004 | b3005) | b3025)", + "on_accept": "", + "on_refuse": "b3007 b3025 b148", + "on_success": "b3004", + "on_failure": "b3007 b3025 b148", + "on_abort": "b3007 b3025 b148", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1064", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 594: { + "resource_type": "misn", + "id": "594", + "name": "Steal Wraith Technology;Fed24 (forced)", + "available_stellar": "10000", + "available_location": "3", + "available_record": "0", + "available_rating": "-1", + "available_random": "10", + "travel_stellar": "-1", + "return_stellar": "220", + "cargo_type": "51", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x6400", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-4", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "153", + "completion_reward": "20", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6530", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9702", + "failing_desc": "9800", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3004 & !(b3006 | b3007)", + "on_accept": "", + "on_refuse": "b3007 b148", + "on_success": "b3006", + "on_failure": "b3015", + "on_abort": "b3007 b148", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1064", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 595: { + "resource_type": "misn", + "id": "595", + "name": "Steal Wraith Technology;Fed25 (forced)", + "available_stellar": "220", + "available_location": "6", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "49", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x6400", + "pay_value": "10000", + "ship_count": "2", + "ship_system": "-4", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "153", + "completion_reward": "20", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6701", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9703", + "failing_desc": "9801", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3006 & !(b3007 | b3015)", + "on_accept": "", + "on_refuse": "b3007 b148", + "on_success": "b3007 b148", + "on_failure": "b3007 b3009 b148", + "on_abort": "b3007 b148", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1064", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 596: { + "resource_type": "misn", + "id": "596", + "name": "A Parting Gift;Fed26 (forced) LAST", + "available_stellar": "138", + "available_location": "3", + "available_record": "0", + "available_rating": "-1", + "available_random": "35", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "10", + "ship_system": "-6", + "ship_dude": "197", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "25006", + "briefing_desc": "-1", + "quick_briefing_desc": "6702", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3007 & !b3009", + "on_accept": "b3009 b3015", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "G348", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1064", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 597: { + "resource_type": "misn", + "id": "597", + "name": "Test RAGE Gunboat;Gli-tech7 (if doing Fed)", + "available_stellar": "138", + "available_location": "1", + "available_record": "20", + "available_rating": "400", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "100000", + "ship_count": "2", + "ship_system": "174", + "ship_dude": "197", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "153", + "completion_reward": "10", + "ship_subtitle": "25006", + "briefing_desc": "5700", + "quick_briefing_desc": "6703", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9704", + "failing_desc": "9802", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b80 & b32) & !(b3050 | b1000)", + "on_accept": "", + "on_refuse": "b1000 G348", + "on_success": "b3050 b1000", + "on_failure": "b1000", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x3220", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 598: { + "resource_type": "misn", + "id": "598", + "name": "Make fast-jumping available;Polaris Spinoff1", + "available_stellar": "270", + "available_location": "3", + "available_record": "0", + "available_rating": "800", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "137", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "5320", + "quick_briefing_desc": "6320", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b320 & !b3721", + "on_accept": "b3721", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "!b3721", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 599: { + "resource_type": "misn", + "id": "599", + "name": "Return to ;Polaris Spinoff2", + "available_stellar": "137", + "available_location": "3", + "available_record": "0", + "available_rating": "800", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "270", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "130", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6321", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9321", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b3721 & !b322", + "on_accept": "", + "on_refuse": "", + "on_success": "b322", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 600: { + "resource_type": "misn", + "id": "600", + "name": "Scout Wraith Space;Polaris11b", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "267", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "60000", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "130", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6285", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8285", + "completion_desc": "9285", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "b285 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 601: { + "resource_type": "misn", + "id": "601", + "name": "Observe Wraith;Polaris6b", + "available_stellar": "286", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "286", + "cargo_type": "21", + "cargo_amount": "8", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "1", + "ship_system": "521", + "ship_dude": "144", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "139", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5316", + "quick_briefing_desc": "6316", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9280", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b316 & !(b317 | b315)", + "on_accept": "", + "on_refuse": "", + "on_success": "b317", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25075", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1200", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 602: { + "resource_type": "misn", + "id": "602", + "name": "Take P'Jeena to Ver'a Se;Polaris7b", + "available_stellar": "286", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "270", + "cargo_type": "6", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5317", + "quick_briefing_desc": "6317", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9317", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b317 & !b318", + "on_accept": "", + "on_refuse": "", + "on_success": "b318 b6666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 603: { + "resource_type": "misn", + "id": "603", + "name": "Observe Cloak-Ship;Polaris8b", + "available_stellar": "270", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "270", + "cargo_type": "21", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "60000", + "ship_count": "1", + "ship_system": "246", + "ship_dude": "200", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "130", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5318", + "quick_briefing_desc": "6318", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8318", + "completion_desc": "9318", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b318 & !(b319 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b319", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q12000", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 604: { + "resource_type": "misn", + "id": "604", + "name": "Observe Cloak-Ship;Polaris9b", + "available_stellar": "270", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "270", + "cargo_type": "21", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "60000", + "ship_count": "1", + "ship_system": "246", + "ship_dude": "201", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "130", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5319", + "quick_briefing_desc": "6318", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9319", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b320 & b5759) & !b321", + "on_accept": "", + "on_refuse": "", + "on_success": "b321", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q12000", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 605: { + "resource_type": "misn", + "id": "605", + "name": "Report Incident to Rebels;Pirate 009b", + "available_stellar": "193", + "available_location": "3", + "available_record": "0", + "available_rating": "300", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6619", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9609", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b666) & !b608", + "on_accept": "", + "on_refuse": "", + "on_success": "b608 S807", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "10", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 606: { + "resource_type": "misn", + "id": "606", + "name": "Silent Mission;Distract Moash defenders", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "365", + "ship_dude": "169", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0400", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 607: { + "resource_type": "misn", + "id": "607", + "name": "Silent Mission;Rebel defenders", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "483", + "ship_dude": "171", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0400", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 608: { + "resource_type": "misn", + "id": "608", + "name": "Steal Hypergate Codes;Rebel Sideline", + "available_stellar": "10013", + "available_location": "3", + "available_record": "50", + "available_rating": "100", + "available_random": "40", + "travel_stellar": "128", + "return_stellar": "419", + "cargo_type": "17", + "cargo_amount": "0", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "25000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5151", + "quick_briefing_desc": "6151", + "load_cargo_desc": "7151", + "dropoff_cargo_desc": "-1", + "completion_desc": "9153", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b152 & !(b153 | b33)", + "on_accept": "b153", + "on_refuse": "b153", + "on_success": "b149 k147", + "on_failure": "", + "on_abort": "!b153", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "-1", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 609: { + "resource_type": "misn", + "id": "609", + "name": "GOTCHA!! Auroran Drop Bear scores again...", + "available_stellar": "10001", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "10", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-40002", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b42 & !b45) & !(b43 | b44)", + "on_accept": "b45", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "!b45", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "14", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1405", + "flags_2": "0x0002", + "end_of_resource": "EOR" + }, + 610: { + "resource_type": "misn", + "id": "610", + "name": "GOTCHA!! Auroran Drop Bear scores again...", + "available_stellar": "10001", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "25", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-40005", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b43 & !b44", + "on_accept": "!b43 D319", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "b43", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "14", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1405", + "flags_2": "0x0002", + "end_of_resource": "EOR" + }, + 611: { + "resource_type": "misn", + "id": "611", + "name": "Infiltrate the Rebels;Fed13 from Rebel", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "10", + "travel_stellar": "-1", + "return_stellar": "171", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5048", + "quick_briefing_desc": "6050", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9049", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b60 & b126) & !(b127 | b64)", + "on_accept": "b500", + "on_refuse": "", + "on_success": "b64", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1124", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 612: { + "resource_type": "misn", + "id": "612", + "name": "Test Rebel Cloaking Device", + "available_stellar": "10013", + "available_location": "1", + "available_record": "0", + "available_rating": "1500", + "available_random": "30", + "travel_stellar": "25013", + "return_stellar": "-4", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "25000", + "ship_count": "4", + "ship_system": "10000", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "10", + "ship_subtitle": "0", + "briefing_desc": "5025", + "quick_briefing_desc": "6025", + "load_cargo_desc": "7025", + "dropoff_cargo_desc": "0", + "completion_desc": "9025", + "failing_desc": "9026", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "0", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b750 & !(b749 | b751)", + "on_accept": "G234", + "on_refuse": "b751", + "on_success": "b751", + "on_failure": "b751 b752 D234 G347", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1020", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 613: { + "resource_type": "misn", + "id": "613", + "name": "Destroy Polaris Cruiser;Fed46(if done GLi-tech)", + "available_stellar": "138", + "available_location": "3", + "available_record": "0", + "available_rating": "800", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-10130", + "ship_count": "1", + "ship_system": "129", + "ship_dude": "182", + "ship_goal": "0", + "ship_behavior": "-1", + "ship_name": "25003", + "ship_start": "0", + "completion_government": "153", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5070", + "quick_briefing_desc": "6072", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9075", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "29999", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "183", + "aux_ship_syst": "129", + "available_ship_type": "127", + "available_bits": "(b87 & b1000) & !b88", + "on_accept": "", + "on_refuse": "G348", + "on_success": "b88", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1070", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 614: { + "resource_type": "misn", + "id": "614", + "name": "Avoid Federation Secession Task-Force", + "available_stellar": "10000", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "10", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "130", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25009", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "2", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "b6100 & !b9812", + "on_accept": "G348 !b6100", + "on_refuse": "G348 !b6100", + "on_success": "G348 !b6100", + "on_failure": "G348 !b6100", + "on_abort": "G348 !b6100", + "on_ship_done": "b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 615: { + "resource_type": "misn", + "id": "615", + "name": "Avoid Federation Task Force", + "available_stellar": "10000", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "15", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "130", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25010", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "5", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "383", + "available_bits": "b6200 & !b9812", + "on_accept": "G348 !b6200", + "on_refuse": "G348 !b6200", + "on_success": "G348 !b6200", + "on_failure": "G348 !b6200", + "on_abort": "G348 !b6200", + "on_ship_done": "b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 616: { + "resource_type": "misn", + "id": "616", + "name": "Avoid Rebel Enforcement Squad", + "available_stellar": "10013", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "15", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "3", + "ship_system": "-6", + "ship_dude": "171", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25011", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "4", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6101 & !b9812", + "on_accept": "!b6101", + "on_refuse": "!b6101", + "on_success": "!b6101", + "on_failure": "!b6101", + "on_abort": "!b6101", + "on_ship_done": "!b6101 b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 617: { + "resource_type": "misn", + "id": "617", + "name": "Avoid Rebel Enforcement Squad", + "available_stellar": "10013", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "15", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "171", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25011", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "10", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6201 & !b9812", + "on_accept": "!b6201", + "on_refuse": "!b6201", + "on_success": "!b6201", + "on_failure": "!b6201", + "on_abort": "!b6201", + "on_ship_done": "!b6201 b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 618: { + "resource_type": "misn", + "id": "618", + "name": "Avoid Nil'kemorya", + "available_stellar": "10002", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "138", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6102 & !b9812", + "on_accept": "!b6102", + "on_refuse": "!b6102", + "on_success": "!b6102", + "on_failure": "!b6102", + "on_abort": "!b6102", + "on_ship_done": "!b6102 b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 619: { + "resource_type": "misn", + "id": "619", + "name": "Avoid Nil'kemorya", + "available_stellar": "10019", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "138", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6102 & !b9812", + "on_accept": "!b6102", + "on_refuse": "!b6102", + "on_success": "!b6102", + "on_failure": "!b6102", + "on_abort": "!b6102", + "on_ship_done": "!b6102 b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 620: { + "resource_type": "misn", + "id": "620", + "name": "Avoid Nil'kemorya", + "available_stellar": "10002", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-6", + "ship_dude": "138", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "30", + "ship_subtitle": "-1", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6202 & !b9812", + "on_accept": "!b6202", + "on_refuse": "!b6202", + "on_success": "!b6202", + "on_failure": "!b6202", + "on_abort": "!b6202", + "on_ship_done": "!b6202 b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 621: { + "resource_type": "misn", + "id": "621", + "name": "Avoid Nil'kemorya", + "available_stellar": "10019", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-6", + "ship_dude": "138", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "30", + "ship_subtitle": "-1", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6202 & !b9812", + "on_accept": "!b6202", + "on_refuse": "!b6202", + "on_success": "!b6202", + "on_failure": "!b6202", + "on_abort": "!b6202", + "on_ship_done": "!b6202 b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 622: { + "resource_type": "misn", + "id": "622", + "name": "Avoid Auroran Warriors", + "available_stellar": "10001", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "10", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "155", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6103 & !b9812", + "on_accept": "!b6103", + "on_refuse": "!b6103", + "on_success": "!b6103", + "on_failure": "!b6103", + "on_abort": "!b6103", + "on_ship_done": "!b6103 b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 623: { + "resource_type": "misn", + "id": "623", + "name": "Avoid Auroran Warriors", + "available_stellar": "10001", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "10", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "7", + "ship_system": "-6", + "ship_dude": "155", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6203 & !b9812", + "on_accept": "!b6203", + "on_refuse": "!b6203", + "on_success": "!b6203", + "on_failure": "!b6203", + "on_abort": "!b6203", + "on_ship_done": "!b6203 b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 624: { + "resource_type": "misn", + "id": "624", + "name": "Avoid Pirates", + "available_stellar": "10009", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "15", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "3", + "ship_system": "-6", + "ship_dude": "172", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "137", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6104 & !b9812", + "on_accept": "!b6104", + "on_refuse": "!b6104", + "on_success": "!b6104", + "on_failure": "!b6104", + "on_abort": "!b6104", + "on_ship_done": "!b6104 b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 625: { + "resource_type": "misn", + "id": "625", + "name": "Avoid Pirates", + "available_stellar": "10009", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "15", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "172", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "137", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6204 & !b9812", + "on_accept": "!b6204", + "on_refuse": "!b6204", + "on_success": "!b6204", + "on_failure": "!b6204", + "on_abort": "!b6204", + "on_ship_done": "!b6204 b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 626: { + "resource_type": "misn", + "id": "626", + "name": "Avoid Wild Rovers", + "available_stellar": "5016", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "7", + "ship_system": "-6", + "ship_dude": "151", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25012", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6105 & !b9812", + "on_accept": "!b6105", + "on_refuse": "!b6105", + "on_success": "!b6105", + "on_failure": "!b6105", + "on_abort": "!b6105", + "on_ship_done": "!b6105 b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 627: { + "resource_type": "misn", + "id": "627", + "name": "Avoid Wild Rovers", + "available_stellar": "5016", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "10", + "ship_system": "-6", + "ship_dude": "151", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25012", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "20", + "ship_subtitle": "-1", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6205 & !b9812", + "on_accept": "!b6205", + "on_refuse": "!b6205", + "on_success": "!b6205", + "on_failure": "!b6205", + "on_abort": "!b6205", + "on_ship_done": "!b6205 b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 628: { + "resource_type": "misn", + "id": "628", + "name": "Avoid Bounty Hunters", + "available_stellar": "9999", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "5", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "3", + "ship_system": "-6", + "ship_dude": "150", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25013", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6106 & !b9812", + "on_accept": "!b6106", + "on_refuse": "!b6106", + "on_success": "!b6106", + "on_failure": "!b6106", + "on_abort": "!b6106", + "on_ship_done": "!b6106 b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 629: { + "resource_type": "misn", + "id": "629", + "name": "Avoid Bounty Hunters", + "available_stellar": "9999", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "5", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "150", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25013", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6206 & !b9812", + "on_accept": "!b6206", + "on_refuse": "!b6206", + "on_success": "!b6206", + "on_failure": "!b6206", + "on_abort": "!b6206", + "on_ship_done": "!b6206 b9812", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1445", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 630: { + "resource_type": "misn", + "id": "630", + "name": "Trade between Earth and Port Kane;Tutorial 002", + "available_stellar": "128", + "available_location": "4", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "137", + "cargo_type": "73", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5210", + "quick_briefing_desc": "6210", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9210", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20215", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9200 & !(b9201 | b9215)", + "on_accept": "X128", + "on_refuse": "b9215 S758", + "on_success": "b9201", + "on_failure": "", + "on_abort": "b9215 S758", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "100", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 631: { + "resource_type": "misn", + "id": "631", + "name": "Trade between Port Kane and New England;Tutorial 003", + "available_stellar": "137", + "available_location": "4", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "73", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5211", + "quick_briefing_desc": "6211", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9211", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20215", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9201 & !(b9202 | b9215)", + "on_accept": "X162", + "on_refuse": "b9215 S758", + "on_success": "b9202", + "on_failure": "", + "on_abort": "b9215 S758", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "100", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 632: { + "resource_type": "misn", + "id": "632", + "name": "Head Back to Earth;Tutorial 004", + "available_stellar": "138", + "available_location": "4", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "73", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6212", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9212", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20215", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9202 & !(b9203 | b9215)", + "on_accept": "", + "on_refuse": "b9215 S758", + "on_success": "b9203", + "on_failure": "", + "on_abort": "b9215 S758", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "100", + "can_abort": "1", + "flags_1": "0x0104", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 633: { + "resource_type": "misn", + "id": "633", + "name": "Head to Rauther;Tutorial 005", + "available_stellar": "128", + "available_location": "6", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "191", + "cargo_type": "73", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5217", + "quick_briefing_desc": "6217", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9217", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20215", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9203 & !(b9204 | b9215)", + "on_accept": "X166", + "on_refuse": "b9215 S758", + "on_success": "b9204", + "on_failure": "", + "on_abort": "b9215 S758", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "100", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 634: { + "resource_type": "misn", + "id": "634", + "name": "Take Michaleen to New Ireland;Wild Geese 1", + "available_stellar": "128", + "available_location": "1", + "available_record": "0", + "available_rating": "5", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "139", + "cargo_type": "53", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "2", + "ship_subtitle": "0", + "briefing_desc": "5800", + "quick_briefing_desc": "6800", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8800", + "completion_desc": "9803", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20800", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!((b800 | b801) | b9111) & !((b511 | b515) | b6666)", + "on_accept": "b511", + "on_refuse": "b801 b6666", + "on_success": "b800 b515 b518", + "on_failure": "b801 !b511", + "on_abort": "b801 !b511", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 635: { + "resource_type": "misn", + "id": "635", + "name": "Take Michaleen to Sol;Wild Geese 2", + "available_stellar": "139", + "available_location": "1", + "available_record": "0", + "available_rating": "5", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "53", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "144", + "completion_reward": "2", + "ship_subtitle": "0", + "briefing_desc": "5804", + "quick_briefing_desc": "6804", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8804", + "completion_desc": "9804", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20803", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b800 & !(b802 | b803)", + "on_accept": "", + "on_refuse": "b803 !b511 !b515 !b518", + "on_success": "b802 R(b804 b805)", + "on_failure": "", + "on_abort": "b803 !b511 !b515 !b518", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 636: { + "resource_type": "misn", + "id": "636", + "name": "Return Michaleen's body to New Ireland;Wild Geese 3a", + "available_stellar": "128", + "available_location": "3", + "available_record": "0", + "available_rating": "5", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "139", + "cargo_type": "54", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "208", + "ship_goal": "3", + "ship_behavior": "1", + "ship_name": "25014", + "ship_start": "-1", + "completion_government": "144", + "completion_reward": "6", + "ship_subtitle": "0", + "briefing_desc": "5806", + "quick_briefing_desc": "6806", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8806", + "completion_desc": "9806", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b804 & !(b806 | b803)", + "on_accept": "", + "on_refuse": "", + "on_success": "b806", + "on_failure": "", + "on_abort": "b803 !b511 !b515 !b518", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 637: { + "resource_type": "misn", + "id": "637", + "name": "Destroy McGowan's Drug Factory;Wild Geese 4a", + "available_stellar": "139", + "available_location": "1", + "available_record": "0", + "available_rating": "5", + "available_random": "100", + "travel_stellar": "200", + "return_stellar": "139", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "172", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "5", + "ship_subtitle": "0", + "briefing_desc": "5807", + "quick_briefing_desc": "6807", + "load_cargo_desc": "7807", + "dropoff_cargo_desc": "8807", + "completion_desc": "9807", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b806 & !(b807 | b803)", + "on_accept": "", + "on_refuse": "", + "on_success": "b807", + "on_failure": "", + "on_abort": "b803 !b511 !b515 !b518", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 638: { + "resource_type": "misn", + "id": "638", + "name": "Deliver Explosives to Ryll;Wild Geese 5a", + "available_stellar": "139", + "available_location": "1", + "available_record": "0", + "available_rating": "5", + "available_random": "100", + "travel_stellar": "195", + "return_stellar": "139", + "cargo_type": "56", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x8000", + "pay_value": "30000", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "5", + "ship_subtitle": "0", + "briefing_desc": "5808", + "quick_briefing_desc": "6808", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8808", + "completion_desc": "9808", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b807 & !(b808 | b803)", + "on_accept": "S733", + "on_refuse": "", + "on_success": "b808 b6666", + "on_failure": "", + "on_abort": "b803 A733 !b511 !b515 !b518", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 639: { + "resource_type": "misn", + "id": "639", + "name": "Free Eiric;Wild Geese 6a", + "available_stellar": "139", + "available_location": "1", + "available_record": "0", + "available_rating": "5", + "available_random": "60", + "travel_stellar": "-1", + "return_stellar": "506", + "cargo_type": "12", + "cargo_amount": "10", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x8808", + "pay_value": "0", + "ship_count": "1", + "ship_system": "487", + "ship_dude": "209", + "ship_goal": "2", + "ship_behavior": "0", + "ship_name": "25015", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "5", + "ship_subtitle": "25016", + "briefing_desc": "5809", + "quick_briefing_desc": "6809", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9809", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20809", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "172", + "aux_ship_syst": "487", + "available_ship_type": "127", + "available_bits": "b808 & !(b809 | b803)", + "on_accept": "", + "on_refuse": "b803", + "on_success": "b809 S811", + "on_failure": "", + "on_abort": "b803 !b511 !b515 !b518", + "on_ship_done": "b850", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1200", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 640: { + "resource_type": "misn", + "id": "640", + "name": "Talk with Rebels;Wild Geese 7aI - link to Pirate storyline", + "available_stellar": "211", + "available_location": "3", + "available_record": "0", + "available_rating": "5", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "144", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5810", + "quick_briefing_desc": "6810", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8810", + "completion_desc": "9810", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20810", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b809 & !(b810 | b811)", + "on_accept": "", + "on_refuse": "b811 b6666", + "on_success": "b810 !b515 S817", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "Rebels", + "refuse_button": "Aurorans", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 641: { + "resource_type": "misn", + "id": "641", + "name": "Talk with Aurorans;Wild Geese 7aII - link to Auroran storyline", + "available_stellar": "211", + "available_location": "3", + "available_record": "0", + "available_rating": "5", + "available_random": "75", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "144", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "0", + "quick_briefing_desc": "6812", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9812", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b811 & !(b812 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b812 S812 !b518", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1006", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 642: { + "resource_type": "misn", + "id": "642", + "name": "Return to New Ireland with Michaleen;Wild Geese 3b", + "available_stellar": "128", + "available_location": "3", + "available_record": "0", + "available_rating": "5", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "139", + "cargo_type": "53", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "2", + "completion_government": "144", + "completion_reward": "6", + "ship_subtitle": "0", + "briefing_desc": "5813", + "quick_briefing_desc": "6813", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8813", + "completion_desc": "9813", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b805 & !(b813 | b803)", + "on_accept": "", + "on_refuse": "", + "on_success": "b813", + "on_failure": "", + "on_abort": "b803 !b511 !b515 !b518", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 643: { + "resource_type": "misn", + "id": "643", + "name": "Destroy McGowan's Drug Factory;Wild Geese 4b", + "available_stellar": "139", + "available_location": "1", + "available_record": "0", + "available_rating": "5", + "available_random": "100", + "travel_stellar": "200", + "return_stellar": "139", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "172", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "5", + "ship_subtitle": "0", + "briefing_desc": "5814", + "quick_briefing_desc": "6814", + "load_cargo_desc": "7807", + "dropoff_cargo_desc": "8807", + "completion_desc": "9807", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b813 & !(b814 | b803)", + "on_accept": "", + "on_refuse": "", + "on_success": "b814", + "on_failure": "", + "on_abort": "b803 !b511 !b515 !b518", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 644: { + "resource_type": "misn", + "id": "644", + "name": "Deliver Explosives to Ryll;Wild Geese 5b", + "available_stellar": "139", + "available_location": "1", + "available_record": "0", + "available_rating": "5", + "available_random": "100", + "travel_stellar": "195", + "return_stellar": "139", + "cargo_type": "56", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x8000", + "pay_value": "10000", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "5", + "ship_subtitle": "0", + "briefing_desc": "5808", + "quick_briefing_desc": "6808", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8808", + "completion_desc": "9808", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b814 & !(b815 | b803)", + "on_accept": "S733", + "on_refuse": "", + "on_success": "b815 b6666", + "on_failure": "", + "on_abort": "b803 A733 !b511 !b515 !b518", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 645: { + "resource_type": "misn", + "id": "645", + "name": "Take Peace-Proposal to McGowan;Wild Geese 6b", + "available_stellar": "139", + "available_location": "1", + "available_record": "0", + "available_rating": "5", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "422", + "cargo_type": "57", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-4", + "ship_dude": "172", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "144", + "completion_reward": "10", + "ship_subtitle": "0", + "briefing_desc": "5815", + "quick_briefing_desc": "6815", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9815", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20815", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b815 & !((b816 | b817) | b803)", + "on_accept": "", + "on_refuse": "", + "on_success": "R(b816 b817)", + "on_failure": "", + "on_abort": "b803 !b511 !b515 !b518", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 646: { + "resource_type": "misn", + "id": "646", + "name": "Return With McGowan's Acceptance;Wild Geese 7bI", + "available_stellar": "422", + "available_location": "1", + "available_record": "0", + "available_rating": "5", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "139", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-4", + "ship_dude": "172", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "10", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6817", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8817", + "completion_desc": "9817", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b816 & !(b803 | b818)", + "on_accept": "", + "on_refuse": "", + "on_success": "b818 !b511 !b515 !b518 K138", + "on_failure": "", + "on_abort": "b803 !b511 !b515 !b518", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 647: { + "resource_type": "misn", + "id": "647", + "name": "Return With McGowan's Rejection;Wild Geese 7bII", + "available_stellar": "422", + "available_location": "1", + "available_record": "0", + "available_rating": "5", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "139", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-4", + "ship_dude": "172", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "10", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6818", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8818", + "completion_desc": "9818", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b817 & !(b803 | b819)", + "on_accept": "", + "on_refuse": "", + "on_success": "b819", + "on_failure": "", + "on_abort": "b803 !b511 !b515 !b518", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 648: { + "resource_type": "misn", + "id": "648", + "name": "Talk with Rebels;Wild Geese 8bII link to Pirate storyline", + "available_stellar": "139", + "available_location": "1", + "available_record": "0", + "available_rating": "5", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "-1", + "completion_government": "144", + "completion_reward": "10", + "ship_subtitle": "0", + "briefing_desc": "5819", + "quick_briefing_desc": "6810", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8810", + "completion_desc": "9810", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20819", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b819 & !(b803 | b810)", + "on_accept": "", + "on_refuse": "b803", + "on_success": "b810 !b515 S817", + "on_failure": "", + "on_abort": "b803 !b511 !b515 !b518", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 649: { + "resource_type": "misn", + "id": "649", + "name": "Renew darts", + "available_stellar": "20033", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5243", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b371 & !O226", + "on_accept": "G226 G226 G226", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1401", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 650: { + "resource_type": "misn", + "id": "650", + "name": "Refuel Trader", + "available_stellar": "-1", + "available_location": "2", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "2000", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "213", + "ship_goal": "5", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "157", + "completion_reward": "2", + "ship_subtitle": "25035", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "Q25057", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0409", + "flags_2": "0x0002", + "end_of_resource": "EOR" + }, + 651: { + "resource_type": "misn", + "id": "651", + "name": "Refuel Trader", + "available_stellar": "-1", + "available_location": "2", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "2000", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "214", + "ship_goal": "5", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "157", + "completion_reward": "2", + "ship_subtitle": "25036", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "Q25057", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0409", + "flags_2": "0x0002", + "end_of_resource": "EOR" + }, + 652: { + "resource_type": "misn", + "id": "652", + "name": "Refuel Trader", + "available_stellar": "-1", + "available_location": "2", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "2000", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "215", + "ship_goal": "5", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "157", + "completion_reward": "2", + "ship_subtitle": "25037", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "Q25057", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0409", + "flags_2": "0x0002", + "end_of_resource": "EOR" + }, + 653: { + "resource_type": "misn", + "id": "653", + "name": "Take Supplies to ;Auroran 001", + "available_stellar": "20007", + "available_location": "1", + "available_record": "0", + "available_rating": "200", + "available_random": "30", + "travel_stellar": "-1", + "return_stellar": "353", + "cargo_type": "58", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0200", + "pay_value": "20000", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5201", + "quick_briefing_desc": "6201", + "load_cargo_desc": "7201", + "dropoff_cargo_desc": "-1", + "completion_desc": "9201", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20201", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!((b201 | b511) | b9111) & !(b517 | b6666)", + "on_accept": "S749 S750 S751 S752 b511 b517", + "on_refuse": "b201", + "on_success": "b201 S785", + "on_failure": "b201 !b511 A749 A750 A751 A752", + "on_abort": "b201 !b511 A749 A750 A751 A752", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "1", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 654: { + "resource_type": "misn", + "id": "654", + "name": "Take Supplies to ;Auroran 002", + "available_stellar": "215", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "353", + "cargo_type": "59", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0200", + "pay_value": "20000", + "ship_count": "5", + "ship_system": "-4", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5202", + "quick_briefing_desc": "6202", + "load_cargo_desc": "7202", + "dropoff_cargo_desc": "0", + "completion_desc": "9202", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20202", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b201 & b511) & !(b202 | b518)", + "on_accept": "b518 S749 S750 S751 S752", + "on_refuse": "!b511 b518", + "on_success": "b202", + "on_failure": "!b511 b518 A749 A750 A751 A752", + "on_abort": "!b511 b518 A749 A750 A751 A752", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "1", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 655: { + "resource_type": "misn", + "id": "655", + "name": "Take Plans to Bazara;Auroran 003", + "available_stellar": "353", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "181", + "cargo_type": "43", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0200", + "pay_value": "25000", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5203", + "quick_briefing_desc": "6203", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9203", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20203", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b202 & !b203) & (b511 & !b250)", + "on_accept": "", + "on_refuse": "!b511 b250", + "on_success": "b203", + "on_failure": "", + "on_abort": "!b511", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 656: { + "resource_type": "misn", + "id": "656", + "name": "Take Bazara to ;Auroran 004", + "available_stellar": "181", + "available_location": "1", + "available_record": "0", + "available_rating": "150", + "available_random": "60", + "travel_stellar": "-1", + "return_stellar": "353", + "cargo_type": "60", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0200", + "pay_value": "25000", + "ship_count": "5", + "ship_system": "-4", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "2", + "ship_subtitle": "0", + "briefing_desc": "5204", + "quick_briefing_desc": "6204", + "load_cargo_desc": "7204", + "dropoff_cargo_desc": "-1", + "completion_desc": "9204", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20204", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "((b203 & b511) & !b250) & !(b204 | b200)", + "on_accept": "", + "on_refuse": "!b511 b250", + "on_success": "b204 S801", + "on_failure": "", + "on_abort": "!b511", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "1", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 657: { + "resource_type": "misn", + "id": "657", + "name": "Defeat Fellow Initiates;Auroran 005", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "150", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "329", + "ship_dude": "240", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "40", + "ship_subtitle": "25017", + "briefing_desc": "5205", + "quick_briefing_desc": "6205", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9205", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20205", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b204 & b511) & !(b205 | b250)", + "on_accept": "", + "on_refuse": "!b511 b250", + "on_success": "b205", + "on_failure": "", + "on_abort": "!b511", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1200", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 658: { + "resource_type": "misn", + "id": "658", + "name": "Head to to be Initiated;Auroran 006", + "available_stellar": "360", + "available_location": "3", + "available_record": "0", + "available_rating": "150", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "384", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "10", + "ship_subtitle": "0", + "briefing_desc": "-1", + "quick_briefing_desc": "6206", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9206", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b205 & !b206", + "on_accept": "", + "on_refuse": "", + "on_success": "b206 K139 S789", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 659: { + "resource_type": "misn", + "id": "659", + "name": "Receive Training from Karlaekaar;Auroran 007", + "available_stellar": "360", + "available_location": "3", + "available_record": "0", + "available_rating": "150", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "298", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5207", + "quick_briefing_desc": "6207", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8207", + "completion_desc": "9207", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b206 & !b207", + "on_accept": "", + "on_refuse": "", + "on_success": "b207 b44 S788", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "185", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 660: { + "resource_type": "misn", + "id": "660", + "name": "Find and Return with Bazara;Auroran 008", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "150", + "available_random": "100", + "travel_stellar": "177", + "return_stellar": "360", + "cargo_type": "60", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8200", + "pay_value": "20000", + "ship_count": "4", + "ship_system": "-3", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "2", + "ship_subtitle": "0", + "briefing_desc": "5208", + "quick_briefing_desc": "6208", + "load_cargo_desc": "7208", + "dropoff_cargo_desc": "8208", + "completion_desc": "9208", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b207 & !b208", + "on_accept": "b6723", + "on_refuse": "", + "on_success": "b208 !b6723", + "on_failure": "", + "on_abort": "!b6723", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1006", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 661: { + "resource_type": "misn", + "id": "661", + "name": "Hunt Down Traitor;Auroran 009", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "150", + "available_random": "100", + "travel_stellar": "138", + "return_stellar": "360", + "cargo_type": "61", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8200", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-3", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "15", + "ship_subtitle": "0", + "briefing_desc": "5209", + "quick_briefing_desc": "6209", + "load_cargo_desc": "7209", + "dropoff_cargo_desc": "8209", + "completion_desc": "9209", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b208 & !b212", + "on_accept": "b209", + "on_refuse": "", + "on_success": "b212", + "on_failure": "", + "on_abort": "!b209", + "on_ship_done": "S813", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1006", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 662: { + "resource_type": "misn", + "id": "662", + "name": "Rumourmill - Moash Space;Auroran 009a", + "available_stellar": "10003", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "75", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b209 & !(b210 | b212)", + "on_accept": "b210", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1405", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 663: { + "resource_type": "misn", + "id": "663", + "name": "Rumourmill - Fed Space;Auroran 009b", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "75", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b209 & !(b211 | b212)", + "on_accept": "b211", + "on_refuse": "", + "on_success": "S802", + "on_failure": "", + "on_abort": "!b211", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1404", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 664: { + "resource_type": "misn", + "id": "664", + "name": "Find and Destroy Supply Fleet;Auroran 010", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "500", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "62", + "cargo_amount": "10", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8200", + "pay_value": "0", + "ship_count": "1", + "ship_system": "376", + "ship_dude": "217", + "ship_goal": "2", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "5", + "ship_subtitle": "25039", + "briefing_desc": "5213", + "quick_briefing_desc": "6213", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8213", + "completion_desc": "9213", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "218", + "aux_ship_syst": "376", + "available_ship_type": "127", + "available_bits": "b212 & !b213", + "on_accept": "", + "on_refuse": "", + "on_success": "b213", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 665: { + "resource_type": "misn", + "id": "665", + "name": "Cause Havoc for Dani;Auroran 011", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "700", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-10142", + "ship_count": "3", + "ship_system": "302", + "ship_dude": "242", + "ship_goal": "0", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "5", + "ship_subtitle": "25050", + "briefing_desc": "5214", + "quick_briefing_desc": "6214", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9214", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b213 & !b214", + "on_accept": "S792", + "on_refuse": "", + "on_success": "b214 A792", + "on_failure": "", + "on_abort": "A792", + "on_ship_done": "Q25052", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1214", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 666: { + "resource_type": "misn", + "id": "666", + "name": "Start Dechtakars Service;Auroran 012", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "700", + "available_random": "35", + "travel_stellar": "-1", + "return_stellar": "335", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "0", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "142", + "completion_reward": "5", + "ship_subtitle": "0", + "briefing_desc": "5215", + "quick_briefing_desc": "6215", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8215", + "completion_desc": "9215", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b214 & !b215", + "on_accept": "", + "on_refuse": "", + "on_success": "b215", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 667: { + "resource_type": "misn", + "id": "667", + "name": "Destroy Pirate Menace;Auroran 012a", + "available_stellar": "335", + "available_location": "1", + "available_record": "0", + "available_rating": "700", + "available_random": "100", + "travel_stellar": "315", + "return_stellar": "325", + "cargo_type": "63", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "10000", + "ship_count": "4", + "ship_system": "-3", + "ship_dude": "207", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "142", + "completion_reward": "5", + "ship_subtitle": "25001", + "briefing_desc": "5216", + "quick_briefing_desc": "6216", + "load_cargo_desc": "7216", + "dropoff_cargo_desc": "8216", + "completion_desc": "9216", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20216", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b215 & !(b216 | b217)", + "on_accept": "S793", + "on_refuse": "b217", + "on_success": "b216 A793", + "on_failure": "b217 A793", + "on_abort": "b217 A793", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 668: { + "resource_type": "misn", + "id": "668", + "name": "Escort Moash Dignitary;Auroran 012b", + "available_stellar": "335", + "available_location": "3", + "available_record": "0", + "available_rating": "700", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "333", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "10000", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "221", + "ship_goal": "3", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "142", + "completion_reward": "5", + "ship_subtitle": "25021", + "briefing_desc": "5218", + "quick_briefing_desc": "6218", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9218", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20216", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "163", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "b216 & !(b218 | b217)", + "on_accept": "", + "on_refuse": "b217", + "on_success": "b218", + "on_failure": "b217", + "on_abort": "b217", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1010", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 669: { + "resource_type": "misn", + "id": "669", + "name": "Battle with Wild Geese;Auroran 012c", + "available_stellar": "335", + "available_location": "1", + "available_record": "0", + "available_rating": "700", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "336", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "10000", + "ship_count": "8", + "ship_system": "-4", + "ship_dude": "151", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "129", + "completion_reward": "10", + "ship_subtitle": "-1", + "briefing_desc": "5219", + "quick_briefing_desc": "6219", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8219", + "completion_desc": "9219", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20216", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b218 & !b800) & !(b219 | b217)", + "on_accept": "S793", + "on_refuse": "b217", + "on_success": "b219 S788 A793", + "on_failure": "b217 A793", + "on_abort": "b217 A793", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 670: { + "resource_type": "misn", + "id": "670", + "name": "Fight Duel for House Honor;Auroran 013", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "700", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "275", + "ship_dude": "222", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "10", + "ship_subtitle": "25022", + "briefing_desc": "5220", + "quick_briefing_desc": "6220", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8220", + "completion_desc": "9220", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b219 & !b220", + "on_accept": "", + "on_refuse": "", + "on_success": "b220", + "on_failure": "", + "on_abort": "", + "on_ship_done": "b8892", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1204", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 671: { + "resource_type": "misn", + "id": "671", + "name": "Make a Name for 'The Pack';Auroran 014", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "700", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "130", + "ship_dude": "130", + "ship_goal": "0", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "10", + "ship_subtitle": "25055", + "briefing_desc": "5221", + "quick_briefing_desc": "6221", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9221", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b220 & !b221", + "on_accept": "K140 S803", + "on_refuse": "", + "on_success": "b221 A803", + "on_failure": "", + "on_abort": "A803", + "on_ship_done": "Q25056 b8890", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1A04", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 672: { + "resource_type": "misn", + "id": "672", + "name": "Meet With Eiric;Auroran 015", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "1300", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "157", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "204", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "1", + "ship_subtitle": "25001", + "briefing_desc": "5222", + "quick_briefing_desc": "6222", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9222", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b221 & !b222", + "on_accept": "", + "on_refuse": "", + "on_success": "b222", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1804", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 673: { + "resource_type": "misn", + "id": "673", + "name": "Return to Heraan;Auroran 016", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "2500", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5223", + "quick_briefing_desc": "6223", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9223", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b222 & !b223", + "on_accept": "", + "on_refuse": "", + "on_success": "b223", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 674: { + "resource_type": "misn", + "id": "674", + "name": "Fight to be Thurokiir;Auroran 017", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "2500", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-1", + "ship_dude": "224", + "ship_goal": "1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "50", + "ship_subtitle": "25022", + "briefing_desc": "5224", + "quick_briefing_desc": "6224", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9224", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b223 & !b224", + "on_accept": "", + "on_refuse": "", + "on_success": "b224 K141 b8894", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 675: { + "resource_type": "misn", + "id": "675", + "name": "Meet With Hune;Auroran 018", + "available_stellar": "360", + "available_location": "3", + "available_record": "0", + "available_rating": "2500", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "335", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5225", + "quick_briefing_desc": "6225", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9225", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b224 & !b225", + "on_accept": "", + "on_refuse": "", + "on_success": "b225", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 676: { + "resource_type": "misn", + "id": "676", + "name": "Observe Auroran Border;Auroran 019", + "available_stellar": "335", + "available_location": "1", + "available_record": "0", + "available_rating": "2500", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "347", + "cargo_type": "64", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "765", + "ship_dude": "264", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5226", + "quick_briefing_desc": "6226", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9226", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b225 & !b226", + "on_accept": "b995", + "on_refuse": "", + "on_success": "b226 S788", + "on_failure": "", + "on_abort": "!b995", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1006", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 677: { + "resource_type": "misn", + "id": "677", + "name": "Defend Heraan Honor;Auroran 020 - Unregistered cutoff", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "2500", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "338", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-4", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "-1", + "completion_government": "135", + "completion_reward": "10", + "ship_subtitle": "0", + "briefing_desc": "5227", + "quick_briefing_desc": "6227", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8227", + "completion_desc": "9227", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(p0 & b226) & !b227", + "on_accept": "", + "on_refuse": "", + "on_success": "b227 !b995", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 678: { + "resource_type": "misn", + "id": "678", + "name": "Defend Heraan Space;Auroran 021", + "available_stellar": "338", + "available_location": "1", + "available_record": "0", + "available_rating": "2500", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "347", + "ship_dude": "225", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "50", + "ship_subtitle": "25023", + "briefing_desc": "5228", + "quick_briefing_desc": "6228", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8228", + "completion_desc": "9228", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "161", + "aux_ship_syst": "347", + "available_ship_type": "127", + "available_bits": "(P0 & b227) & !b228", + "on_accept": "", + "on_refuse": "", + "on_success": "b228", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1214", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 679: { + "resource_type": "misn", + "id": "679", + "name": "Duel with Moash Thurokiir;Auroran 022", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "10000", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "338", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-20147", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "50", + "ship_subtitle": "25067", + "briefing_desc": "5229", + "quick_briefing_desc": "6229", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8229", + "completion_desc": "9229", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b228) & !b229", + "on_accept": "", + "on_refuse": "", + "on_success": "b229 K142 b323 b8896", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 680: { + "resource_type": "misn", + "id": "680", + "name": "Speak With Polaris;Auroran 023", + "available_stellar": "439", + "available_location": "1", + "available_record": "0", + "available_rating": "10000", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "254", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-20129", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "30", + "ship_subtitle": "0", + "briefing_desc": "5230", + "quick_briefing_desc": "6230", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8230", + "completion_desc": "9230", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b229) & !b230", + "on_accept": "", + "on_refuse": "", + "on_success": "b230 S804", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 681: { + "resource_type": "misn", + "id": "681", + "name": "Return to Aurora;Auroran 024", + "available_stellar": "217", + "available_location": "3", + "available_record": "0", + "available_rating": "10000", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "439", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "20", + "ship_subtitle": "0", + "briefing_desc": "5231", + "quick_briefing_desc": "6231", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9231", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b230) & !b231", + "on_accept": "", + "on_refuse": "", + "on_success": "b231", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 682: { + "resource_type": "misn", + "id": "682", + "name": "Meet with Mu'Randa;Auroran 025", + "available_stellar": "439", + "available_location": "1", + "available_record": "0", + "available_rating": "12500", + "available_random": "60", + "travel_stellar": "-1", + "return_stellar": "232", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "129", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5232", + "quick_briefing_desc": "6232", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9232", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b231) & !b232", + "on_accept": "", + "on_refuse": "", + "on_success": "b232", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 683: { + "resource_type": "misn", + "id": "683", + "name": "Meet with Frandall;Auroran 026", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "12500", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "217", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-4", + "ship_dude": "175", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "129", + "completion_reward": "1", + "ship_subtitle": "25006", + "briefing_desc": "0", + "quick_briefing_desc": "6233", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9233", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b232) & !b233", + "on_accept": "", + "on_refuse": "", + "on_success": "b233 S816", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 684: { + "resource_type": "misn", + "id": "684", + "name": "Meet With Eamon Flannigan;Auroran 027", + "available_stellar": "439", + "available_location": "3", + "available_record": "0", + "available_rating": "12500", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "139", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "145", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "129", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5234", + "quick_briefing_desc": "6234", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9234", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & (b233 & !b800)) & !b234", + "on_accept": "", + "on_refuse": "", + "on_success": "b234 S790", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 685: { + "resource_type": "misn", + "id": "685", + "name": "Assassinate Krane;Auroran 028", + "available_stellar": "138", + "available_location": "3", + "available_record": "0", + "available_rating": "12500", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-1", + "ship_dude": "226", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "25", + "ship_subtitle": "25024", + "briefing_desc": "0", + "quick_briefing_desc": "6238", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "197", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b234) & !b235", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "b235", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1014", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 686: { + "resource_type": "misn", + "id": "686", + "name": "Return to Heraan;Auroran 029 LAST", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "12500", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "431", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "25", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6236", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8236", + "completion_desc": "9236", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b235) & !b236", + "on_accept": "A685", + "on_refuse": "", + "on_success": "b236 b332 b333 b334 b613 b9995 b9500 M472 Q25048", + "on_failure": "", + "on_abort": "S685", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 687: { + "resource_type": "misn", + "id": "687", + "name": "Take Plans to Bazara;Auroran 003 - Wild Geese Link", + "available_stellar": "353", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "181", + "cargo_type": "43", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0200", + "pay_value": "25000", + "ship_count": "5", + "ship_system": "-1", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5235", + "quick_briefing_desc": "6203", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9237", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20203", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b812 & b511) & !b203", + "on_accept": "", + "on_refuse": "!b511", + "on_success": "b203 b518", + "on_failure": "", + "on_abort": "!b511", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 688: { + "resource_type": "misn", + "id": "688", + "name": "Battle with Wild Geese;Auroran 012c - if done Wild Geese", + "available_stellar": "335", + "available_location": "1", + "available_record": "0", + "available_rating": "1500", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "336", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "10000", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "220", + "ship_goal": "3", + "ship_behavior": "1", + "ship_name": "25019", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "5", + "ship_subtitle": "25020", + "briefing_desc": "5236", + "quick_briefing_desc": "6219", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8219", + "completion_desc": "9219", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20216", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "151", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "(b218 & b800) & !(b219 | b217)", + "on_accept": "", + "on_refuse": "b217", + "on_success": "b219 S788", + "on_failure": "b217", + "on_abort": "b217", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1010", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 689: { + "resource_type": "misn", + "id": "689", + "name": "Take Terraforming Team to New Ireland", + "available_stellar": "128", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "507", + "cargo_type": "47", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "20", + "ship_subtitle": "0", + "briefing_desc": "5237", + "quick_briefing_desc": "6237", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9238", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b17 & b850) & (b221 & !(b237 | b851))", + "on_accept": "", + "on_refuse": "", + "on_success": "b237", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 690: { + "resource_type": "misn", + "id": "690", + "name": "Meet With Eamon Flannigan;Auroran 027 - if done Wild Geese", + "available_stellar": "439", + "available_location": "3", + "available_record": "0", + "available_rating": "12500", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "507", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "145", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "129", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5238", + "quick_briefing_desc": "6234", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9235", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "((P0 & b851) & (b233 & b800)) & !(b234 | b852)", + "on_accept": "", + "on_refuse": "", + "on_success": "b234 S790", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 691: { + "resource_type": "misn", + "id": "691", + "name": "Take Plans to Bazara;Auroran 003 - Bounty Hunter Link", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "181", + "cargo_type": "43", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0200", + "pay_value": "25000", + "ship_count": "5", + "ship_system": "-1", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5235", + "quick_briefing_desc": "6203", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9237", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20203", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b200 & b2) & !(b203 | b250)", + "on_accept": "", + "on_refuse": "!b511 b250", + "on_success": "b203", + "on_failure": "", + "on_abort": "!b511", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 692: { + "resource_type": "misn", + "id": "692", + "name": "Take Bazara to ;Auroran 004 From B/Hunter", + "available_stellar": "181", + "available_location": "1", + "available_record": "0", + "available_rating": "150", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "353", + "cargo_type": "60", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0200", + "pay_value": "25000", + "ship_count": "5", + "ship_system": "-1", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5204", + "quick_briefing_desc": "6204", + "load_cargo_desc": "7204", + "dropoff_cargo_desc": "8204", + "completion_desc": "9204", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20204", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "((b203 & b511) & !b250) & (!b206 & b200)", + "on_accept": "", + "on_refuse": "!b511 b250", + "on_success": "b206 S789", + "on_failure": "", + "on_abort": "!b511", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 693: { + "resource_type": "misn", + "id": "693", + "name": "Pick Up Cargo From Sol;Pirate 001", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "300", + "available_random": "75", + "travel_stellar": "128", + "return_stellar": "157", + "cargo_type": "65", + "cargo_amount": "5", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "10000", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5600", + "quick_briefing_desc": "6604", + "load_cargo_desc": "7600", + "dropoff_cargo_desc": "8600", + "completion_desc": "9601", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20600", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b600 | b511) & !(b6666 | b519)", + "on_accept": "b511", + "on_refuse": "", + "on_success": "b600 b518", + "on_failure": "b600 !b511 b515 b519", + "on_abort": "!b511 b519", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 694: { + "resource_type": "misn", + "id": "694", + "name": "Take Cargo to Misfire;Pirate 002", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "5", + "available_random": "100", + "travel_stellar": "211", + "return_stellar": "157", + "cargo_type": "57", + "cargo_amount": "5", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "-10128", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5601", + "quick_briefing_desc": "6605", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8604", + "completion_desc": "9602", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b600 & b511) & !((b601 | b800) | b519)", + "on_accept": "S879", + "on_refuse": "!b511 b519", + "on_success": "b601", + "on_failure": "!b511 A879 b519", + "on_abort": "!b511 A879 b519", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 695: { + "resource_type": "misn", + "id": "695", + "name": "Take Cargo to SD3;Pirate 003", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "5", + "available_random": "75", + "travel_stellar": "136", + "return_stellar": "157", + "cargo_type": "7", + "cargo_amount": "5", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x4800", + "pay_value": "50000", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "133", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5602", + "quick_briefing_desc": "6606", + "load_cargo_desc": "7602", + "dropoff_cargo_desc": "8605", + "completion_desc": "9603", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "133", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b601 & b511) & !(b602 | b519)", + "on_accept": "", + "on_refuse": "!b511 b519", + "on_success": "b602", + "on_failure": "!b511 b519", + "on_abort": "!b511 b519", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "1", + "flags_1": "0x1014", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 696: { + "resource_type": "misn", + "id": "696", + "name": "Speak to Dace;Pirate 004", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "215", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "480000", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5603", + "quick_briefing_desc": "6607", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9604", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b602 & b511) & !((b603 | b800) | b519)", + "on_accept": "", + "on_refuse": "!b511 b519", + "on_success": "b603 k143", + "on_failure": "!b511 b519", + "on_abort": "!b511 b519", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 697: { + "resource_type": "misn", + "id": "697", + "name": "Meet With Rebels;Pirate 005", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-10141", + "ship_count": "5", + "ship_system": "-4", + "ship_dude": "133", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5604", + "quick_briefing_desc": "6608", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9605", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b603 & b511) & !(b604 | b519)", + "on_accept": "", + "on_refuse": "!b511 b519", + "on_success": "b604 S783", + "on_failure": "!b511 b519", + "on_abort": "!b511 b519", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 698: { + "resource_type": "misn", + "id": "698", + "name": "Rebel Food Drop;Pirate 005A", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "140", + "return_stellar": "171", + "cargo_type": "0", + "cargo_amount": "15", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "1", + "ship_system": "137", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "2", + "ship_subtitle": "0", + "briefing_desc": "5125", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7125", + "dropoff_cargo_desc": "8125", + "completion_desc": "9125", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "0", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b604 & !b650", + "on_accept": "", + "on_refuse": "", + "on_success": "b650 S819", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 699: { + "resource_type": "misn", + "id": "699", + "name": "Regular Food Run;Pirate 005Ai", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "75", + "travel_stellar": "140", + "return_stellar": "171", + "cargo_type": "0", + "cargo_amount": "10", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "15000", + "ship_count": "1", + "ship_system": "137", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7126", + "dropoff_cargo_desc": "8126", + "completion_desc": "9126", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "128", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b650", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0050", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 700: { + "resource_type": "misn", + "id": "700", + "name": "Rebel Equipment Drop;Pirate 005B", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "60", + "travel_stellar": "149", + "return_stellar": "171", + "cargo_type": "5", + "cargo_amount": "15", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "25000", + "ship_count": "2", + "ship_system": "167", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5126", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7127", + "dropoff_cargo_desc": "8127", + "completion_desc": "9127", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b650 & !b651", + "on_accept": "A819", + "on_refuse": "", + "on_success": "b651 S819", + "on_failure": "", + "on_abort": "S819", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "1", + "flags_1": "0x1050", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 701: { + "resource_type": "misn", + "id": "701", + "name": "Regular Equipment Run;Pirate 005Bi", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "149", + "return_stellar": "171", + "cargo_type": "5", + "cargo_amount": "15", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "25000", + "ship_count": "2", + "ship_system": "167", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6125", + "load_cargo_desc": "7128", + "dropoff_cargo_desc": "8126", + "completion_desc": "9128", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b651", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0150", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 702: { + "resource_type": "misn", + "id": "702", + "name": "Rescue Agent;Pirate 005C", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "171", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "35000", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "4", + "ship_subtitle": "-1", + "briefing_desc": "5127", + "quick_briefing_desc": "6126", + "load_cargo_desc": "7129", + "dropoff_cargo_desc": "8128", + "completion_desc": "9729", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b651 & !b652", + "on_accept": "A819", + "on_refuse": "", + "on_success": "b652 S819", + "on_failure": "", + "on_abort": "S819", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "I'm up to it", + "refuse_button": "I need more time", + "display_weight": "5", + "can_abort": "1", + "flags_1": "0x1050", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 703: { + "resource_type": "misn", + "id": "703", + "name": "Rescue Rebel;Pirate 005Ci", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "171", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "35000", + "ship_count": "2", + "ship_system": "167", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5128", + "quick_briefing_desc": "6126", + "load_cargo_desc": "7130", + "dropoff_cargo_desc": "8129", + "completion_desc": "9130", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b652", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0050", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 704: { + "resource_type": "misn", + "id": "704", + "name": "Rebel Insertion;Pirate005D", + "available_stellar": "171", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "50", + "travel_stellar": "10000", + "return_stellar": "171", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "35000", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "6", + "ship_subtitle": "-1", + "briefing_desc": "5130", + "quick_briefing_desc": "6128", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8131", + "completion_desc": "9132", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b652 & !b653", + "on_accept": "A819", + "on_refuse": "", + "on_success": "b653", + "on_failure": "", + "on_abort": "S819", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "I'm in", + "refuse_button": "I need more time", + "display_weight": "5", + "can_abort": "1", + "flags_1": "0x1070", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 705: { + "resource_type": "misn", + "id": "705", + "name": "Rebel Insertion;Pirate005Di", + "available_stellar": "171", + "available_location": "0", + "available_record": "0", + "available_rating": "-1", + "available_random": "40", + "travel_stellar": "10000", + "return_stellar": "171", + "cargo_type": "17", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "35000", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "180", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "3", + "ship_subtitle": "-1", + "briefing_desc": "5131", + "quick_briefing_desc": "6128", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8132", + "completion_desc": "9133", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "130", + "aux_ship_syst": "141", + "available_ship_type": "127", + "available_bits": "b653", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0070", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 706: { + "resource_type": "misn", + "id": "706", + "name": "Pick Up Blind Charlie;Pirate 006", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "300", + "available_random": "75", + "travel_stellar": "209", + "return_stellar": "157", + "cargo_type": "6", + "cargo_amount": "2", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0800", + "pay_value": "-10128", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "133", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5605", + "quick_briefing_desc": "6609", + "load_cargo_desc": "7605", + "dropoff_cargo_desc": "0", + "completion_desc": "9606", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "133", + "aux_ship_syst": "-2", + "available_ship_type": "127", + "available_bits": "b604 & (b653 & !b605)", + "on_accept": "", + "on_refuse": "", + "on_success": "b605", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 707: { + "resource_type": "misn", + "id": "707", + "name": "Pick Up Sven Fjordnham;Pirate 007 - Unregistered cutoff", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "300", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "199", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "133", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5606", + "quick_briefing_desc": "6610", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9607", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "133", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b605) & !b606", + "on_accept": "", + "on_refuse": "", + "on_success": "b606 S805", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 708: { + "resource_type": "misn", + "id": "708", + "name": "Pick Up Ferret and Dizzy;Pirate 008", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "300", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "167", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "133", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5607", + "quick_briefing_desc": "6611", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9608", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "133", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b606) & !b607", + "on_accept": "", + "on_refuse": "", + "on_success": "b607 S806", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 709: { + "resource_type": "misn", + "id": "709", + "name": "Investigate Incidents;Pirate 009a", + "available_stellar": "157", + "available_location": "5", + "available_record": "0", + "available_rating": "300", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "193", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-4", + "ship_dude": "227", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25025", + "briefing_desc": "5608", + "quick_briefing_desc": "6612", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "133", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "(P0 & b607) & !b666", + "on_accept": "H374 T25043", + "on_refuse": "", + "on_success": "b666", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 710: { + "resource_type": "misn", + "id": "710", + "name": "Set and Launch Trap;Pirate 010", + "available_stellar": "193", + "available_location": "3", + "available_record": "0", + "available_rating": "300", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "16", + "cargo_amount": "0", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8800", + "pay_value": "-10128", + "ship_count": "1", + "ship_system": "-1", + "ship_dude": "265", + "ship_goal": "2", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25001", + "briefing_desc": "0", + "quick_briefing_desc": "6613", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "7609", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b608) & !(b609 | b838)", + "on_accept": "S827 S808", + "on_refuse": "", + "on_success": "b838 S842", + "on_failure": "", + "on_abort": "A827 A808", + "on_ship_done": "S711 b8910", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "0", + "flags_1": "0x1804", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 711: { + "resource_type": "misn", + "id": "711", + "name": "Silent Mission for Extra special ships;Pirate 010A", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "300", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "419", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "172", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "128", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b608 & !b609", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C16", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 712: { + "resource_type": "misn", + "id": "712", + "name": "Destroy McGowan;Pirate 011 LAST", + "available_stellar": "419", + "available_location": "3", + "available_record": "0", + "available_rating": "300", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "422", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0800", + "pay_value": "-10128", + "ship_count": "1", + "ship_system": "-4", + "ship_dude": "229", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25026", + "briefing_desc": "5611", + "quick_briefing_desc": "6614", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9611", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "228", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & b610) & !(b611 | b6666)", + "on_accept": "S713 A895", + "on_refuse": "", + "on_success": "b611 b9995 b9500 M472 Q25048 A711 A713 A714 A715", + "on_failure": "", + "on_abort": "A713 A895", + "on_ship_done": "S711", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 713: { + "resource_type": "misn", + "id": "713", + "name": "Silent Mission for Extra special ships;Pirate 011A", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "300", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "422", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-4", + "ship_dude": "172", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25001", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "133", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b610 & !b611", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "S714 S715", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0416", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 714: { + "resource_type": "misn", + "id": "714", + "name": "Silent Mission for Extra special ships;Pirate 011B", + "available_stellar": "127", + "available_location": "3", + "available_record": "0", + "available_rating": "300", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "422", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "130", + "ship_goal": "6", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b610 & !b611", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0416", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 715: { + "resource_type": "misn", + "id": "715", + "name": "Silent Mission for Extra special ships;Pirate 011C", + "available_stellar": "127", + "available_location": "3", + "available_record": "0", + "available_rating": "300", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "422", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "171", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b610 & !b611", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0416", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 716: { + "resource_type": "misn", + "id": "716", + "name": "Take Terraforming Team to New Ireland", + "available_stellar": "128", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "506", + "cargo_type": "47", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "20", + "ship_subtitle": "0", + "briefing_desc": "5237", + "quick_briefing_desc": "6237", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9238", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b17 & b850) & (b605 & !b237)", + "on_accept": "", + "on_refuse": "", + "on_success": "b237", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 717: { + "resource_type": "misn", + "id": "717", + "name": "Take Bis Andreya to ;Polaris4 CONTINUE", + "available_stellar": "137", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "220", + "cargo_type": "6", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "100000", + "ship_count": "7", + "ship_system": "-6", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "10", + "ship_subtitle": "25006", + "briefing_desc": "-1", + "quick_briefing_desc": "6757", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8278", + "completion_desc": "9278", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "1", + "aux_ship_dude": "145", + "aux_ship_syst": "198", + "available_ship_type": "127", + "available_bits": "b5757 & !(b512 | b278)", + "on_accept": "", + "on_refuse": "", + "on_success": "b278 S836", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 718: { + "resource_type": "misn", + "id": "718", + "name": "Silent Mission;Vellos 31a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "407", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-6", + "ship_dude": "197", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0400", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 719: { + "resource_type": "misn", + "id": "719", + "name": "Rescue Tomak;Pirate Offshoot 001b", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "-6", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b428", + "on_accept": "!b428 g262 A719", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "10", + "can_abort": "0", + "flags_1": "0x9C06", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 720: { + "resource_type": "misn", + "id": "720", + "name": "Rescue Tomak;Pirate Offshoot 001a", + "available_stellar": "191", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "66", + "cargo_amount": "12", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "3", + "ship_system": "-6", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "176", + "completion_reward": "2", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6429", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9429", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "1", + "aux_ship_dude": "172", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b426 & !b427", + "on_accept": "b427 b428", + "on_refuse": "b427", + "on_success": "b429", + "on_failure": "b427", + "on_abort": "b427 !b428", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "10", + "can_abort": "1", + "flags_1": "0x9014", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 721: { + "resource_type": "misn", + "id": "721", + "name": "Pick Up Cargo;Pirate Offshoot 002", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "191", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5431", + "quick_briefing_desc": "6431", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b429 & !(b430 | b431)", + "on_accept": "S896", + "on_refuse": "b430", + "on_success": "b431", + "on_failure": "b430", + "on_abort": "b430", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "10", + "can_abort": "1", + "flags_1": "0x9010", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 722: { + "resource_type": "misn", + "id": "722", + "name": "Pick Up Cargo;Pirate Offshoot 002b", + "available_stellar": "191", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "67", + "cargo_amount": "12", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8800", + "pay_value": "-10128", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "172", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "176", + "completion_reward": "2", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6431", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8432", + "completion_desc": "9432", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "1", + "aux_ship_dude": "130", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b431 & !(b430 | b432)", + "on_accept": "g147 g147", + "on_refuse": "b430", + "on_success": "b432", + "on_failure": "b430", + "on_abort": "b430", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "10", + "can_abort": "1", + "flags_1": "0x9014", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 723: { + "resource_type": "misn", + "id": "723", + "name": "Pick Up Engine Upgrades;Pirate Offshoot 003", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "163", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6433", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b432 & !(b430 | b433)", + "on_accept": "", + "on_refuse": "b430", + "on_success": "b433", + "on_failure": "b430", + "on_abort": "b430", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "10", + "can_abort": "1", + "flags_1": "0x9010", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 724: { + "resource_type": "misn", + "id": "724", + "name": "Beat On 'Daring' Dan McGraw;Pirate Offshoot 003b", + "available_stellar": "163", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "149", + "ship_dude": "172", + "ship_goal": "0", + "ship_behavior": "-1", + "ship_name": "25027", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25028", + "briefing_desc": "5434", + "quick_briefing_desc": "6434", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20434", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b433 & !b435) & !(b430 | b434)", + "on_accept": "", + "on_refuse": "b435", + "on_success": "", + "on_failure": "b430", + "on_abort": "b430", + "on_ship_done": "b434", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "10", + "can_abort": "1", + "flags_1": "0x9A10", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 725: { + "resource_type": "misn", + "id": "725", + "name": "Return With Upgrades;Pirate Offshoot 003c", + "available_stellar": "163", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "157", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "172", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "25027", + "ship_start": "0", + "completion_government": "176", + "completion_reward": "-10", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6436", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9436", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "8", + "aux_ship_dude": "172", + "aux_ship_syst": "135", + "available_ship_type": "127", + "available_bits": "b434 & !(b430 | b436)", + "on_accept": "g198 g199", + "on_refuse": "", + "on_success": "b436 l143 k144", + "on_failure": "b430", + "on_abort": "b430", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "10", + "can_abort": "1", + "flags_1": "0x9804", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 726: { + "resource_type": "misn", + "id": "726", + "name": "Beat On Skinny;Pirate Offshoot 003bi", + "available_stellar": "163", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "157", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "8", + "ship_system": "-1", + "ship_dude": "172", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "25029", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6436", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9438", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b435 & !(b430 | b439)", + "on_accept": "g198 g199", + "on_refuse": "", + "on_success": "b439", + "on_failure": "b430", + "on_abort": "b430", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "10", + "can_abort": "1", + "flags_1": "0x9814", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 727: { + "resource_type": "misn", + "id": "727", + "name": "McGraw Family Revenge;Pirate Offshoot 003d", + "available_stellar": "10000", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-6", + "ship_dude": "172", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25027", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b436", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "A727", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "10", + "can_abort": "0", + "flags_1": "0x0C04", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 728: { + "resource_type": "misn", + "id": "728", + "name": "Pick Up Alloy from ; Pirate Offshoot 004", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "182", + "return_stellar": "157", + "cargo_type": "68", + "cargo_amount": "15", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5441", + "quick_briefing_desc": "6441", + "load_cargo_desc": "7441", + "dropoff_cargo_desc": "8441", + "completion_desc": "9441", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "374", + "available_bits": "b439 & !(b440 | b441)", + "on_accept": "", + "on_refuse": "b440", + "on_success": "b441", + "on_failure": "b440", + "on_abort": "b440", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "10", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 729: { + "resource_type": "misn", + "id": "729", + "name": "Locate Ryan's Last Chance; Pirate Offshoot 004a", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "-1", + "return_stellar": "157", + "cargo_type": "69", + "cargo_amount": "15", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "497", + "ship_dude": "230", + "ship_goal": "2", + "ship_behavior": "-1", + "ship_name": "25030", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25031", + "briefing_desc": "5443", + "quick_briefing_desc": "6443", + "load_cargo_desc": "7443", + "dropoff_cargo_desc": "0", + "completion_desc": "9443", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "374", + "available_bits": "b441 & !(b442 | b443)", + "on_accept": "", + "on_refuse": "b442", + "on_success": "b443", + "on_failure": "b442", + "on_abort": "b442", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "10", + "can_abort": "1", + "flags_1": "0x1A00", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 730: { + "resource_type": "misn", + "id": "730", + "name": "Rescue Dr Ralph's Family; Pirate Offshoot 004bi", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "60", + "travel_stellar": "-1", + "return_stellar": "215", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6445", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "7445", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "374", + "available_bits": "b444 & !(b445 | b681)", + "on_accept": "g201 g437", + "on_refuse": "b445", + "on_success": "b681 S912", + "on_failure": "b445", + "on_abort": "b445", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "10", + "can_abort": "1", + "flags_1": "0x1804", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 731: { + "resource_type": "misn", + "id": "731", + "name": "Exotic Licence Forgery - Silent mission", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-40050", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0007", + "flags_2": "0x0002", + "end_of_resource": "EOR" + }, + 732: { + "resource_type": "misn", + "id": "732", + "name": "Urgent Delivery to ", + "available_stellar": "10000", + "available_location": "0", + "available_record": "4", + "available_rating": "2", + "available_random": "20", + "travel_stellar": "10000", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "40000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "4", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25008", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28008", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "18", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0140", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 733: { + "resource_type": "misn", + "id": "733", + "name": "Silent Money Mission - for Deliver explosives to Ryll", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "195", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "30000", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0402", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 734: { + "resource_type": "misn", + "id": "734", + "name": "Rescue Heraan Spy;Auroran Off-shoot 001", + "available_stellar": "360", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "25", + "travel_stellar": "-1", + "return_stellar": "380", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "5", + "ship_subtitle": "0", + "briefing_desc": "5154", + "quick_briefing_desc": "6154", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20154", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b213 & !(b220 | b154)", + "on_accept": "", + "on_refuse": "b154", + "on_success": "b154 b155", + "on_failure": "b154", + "on_abort": "b154", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x2040", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 735: { + "resource_type": "misn", + "id": "735", + "name": "Rescue Heraan Spy;Auroran Off-shoot 001b", + "available_stellar": "380", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "70", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-1", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "5", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6156", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8156", + "completion_desc": "9156", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b155 & !b156", + "on_accept": "Q25049", + "on_refuse": "", + "on_success": "b156", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x3004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 736: { + "resource_type": "misn", + "id": "736", + "name": "Steal Jamming Technology;Auroran Off-shoot 002", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "149", + "return_stellar": "360", + "cargo_type": "15", + "cargo_amount": "1", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "5", + "ship_subtitle": "0", + "briefing_desc": "5157", + "quick_briefing_desc": "6157", + "load_cargo_desc": "7157", + "dropoff_cargo_desc": "8157", + "completion_desc": "9157", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b156 & !(b157 | (b170 | b223))", + "on_accept": "", + "on_refuse": "", + "on_success": "b157 b170", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x3000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 737: { + "resource_type": "misn", + "id": "737", + "name": "Destroy Moash Fleet;Auroran Off-shoot 003", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "333", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-4", + "ship_dude": "161", + "ship_goal": "0", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "5", + "ship_subtitle": "0", + "briefing_desc": "5158", + "quick_briefing_desc": "6158", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9158", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b157 & !(b158 | b223)", + "on_accept": "G441 S738", + "on_refuse": "", + "on_success": "b158 G442", + "on_failure": "", + "on_abort": "A738", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1800", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 738: { + "resource_type": "misn", + "id": "738", + "name": "Silent Mission;Auroran Off-shoot 003b", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "333", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "264", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25000", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 739: { + "resource_type": "misn", + "id": "739", + "name": "Destroy Federation Fleet;Auroran Off-shoot 004", + "available_stellar": "333", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-1", + "ship_dude": "130", + "ship_goal": "0", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "10", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6159", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9159", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b158 & !(b159 | b223)", + "on_accept": "S740", + "on_refuse": "", + "on_success": "b159", + "on_failure": "", + "on_abort": "A740", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1804", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 740: { + "resource_type": "misn", + "id": "740", + "name": "Silent Mission;Auroran Off-shoot 004b", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "264", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25000", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 741: { + "resource_type": "misn", + "id": "741", + "name": "Rescue Heraan Operatives;Auroran Off-shoot 005", + "available_stellar": "360", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "70", + "cargo_amount": "10", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "138", + "ship_dude": "130", + "ship_goal": "2", + "ship_behavior": "-1", + "ship_name": "25032", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "5", + "ship_subtitle": "0", + "briefing_desc": "5160", + "quick_briefing_desc": "6160", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "9160", + "refusing_desc": "0", + "time_limit": "35", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b224 & !(b228 | b160)", + "on_accept": "", + "on_refuse": "b160", + "on_success": "b160 b161", + "on_failure": "b160", + "on_abort": "b160", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1244", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 742: { + "resource_type": "misn", + "id": "742", + "name": "Rescue Vell-os Slaves;Auroran Off-shoot 007", + "available_stellar": "360", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "177", + "cargo_type": "8", + "cargo_amount": "4", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-3", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5162", + "quick_briefing_desc": "6162", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b161 & !(b162 | b677)", + "on_accept": "", + "on_refuse": "", + "on_success": "b677", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1104", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 743: { + "resource_type": "misn", + "id": "743", + "name": "Rescue Vell-os Slaves;Auroran Off-shoot 007b", + "available_stellar": "177", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "354", + "cargo_type": "72", + "cargo_amount": "4", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "0", + "ship_count": "10", + "ship_system": "-6", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "5", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6162", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b677 & !b162", + "on_accept": "", + "on_refuse": "", + "on_success": "b162", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1804", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 744: { + "resource_type": "misn", + "id": "744", + "name": "Take Vell-os to Korell;Auroran Off-shoot 008", + "available_stellar": "354", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "407", + "cargo_type": "72", + "cargo_amount": "4", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "-20147", + "ship_count": "6", + "ship_system": "-6", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "130", + "completion_reward": "30", + "ship_subtitle": "0", + "briefing_desc": "5163", + "quick_briefing_desc": "6163", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8163", + "completion_desc": "9163", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "128", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b162 & !b163", + "on_accept": "", + "on_refuse": "", + "on_success": "b163", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1010", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 745: { + "resource_type": "misn", + "id": "745", + "name": "Take Vell-os to Polaris;Auroran Off-shoot 009", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "220", + "cargo_type": "72", + "cargo_amount": "4", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "137", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "136", + "completion_reward": "50", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6164", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b163 & !b164", + "on_accept": "", + "on_refuse": "", + "on_success": "b164", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 746: { + "resource_type": "misn", + "id": "746", + "name": "Take Vell-os to Kel'ar Iy;Auroran Off-shoot 010", + "available_stellar": "220", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "254", + "cargo_type": "72", + "cargo_amount": "4", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "137", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "30", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6164", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9165", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b164 & !b165", + "on_accept": "", + "on_refuse": "", + "on_success": "b165 S814", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1804", + "flags_2": "0x0004", + "end_of_resource": "EOR" + }, + 747: { + "resource_type": "misn", + "id": "747", + "name": "Start mission for Thunderforge cron;Auroran Off-shoot 011", + "available_stellar": "360", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "2", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b165 & !b166", + "on_accept": "b166", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1005", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 748: { + "resource_type": "misn", + "id": "748", + "name": "Thunderforge Availability;Auroran Off-shoot 012", + "available_stellar": "10007", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5168", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20168", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b167 & !b168", + "on_accept": "b168 H380 T25044", + "on_refuse": "b168", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "With pleasure", + "refuse_button": "I am unworthy", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1001", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 749: { + "resource_type": "misn", + "id": "749", + "name": "Silent Mission;Auroran 001b", + "available_stellar": "127", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "353", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "336", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 750: { + "resource_type": "misn", + "id": "750", + "name": "Silent Mission;Auroran 001c", + "available_stellar": "127", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "353", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "342", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 751: { + "resource_type": "misn", + "id": "751", + "name": "Silent Mission;Auroran 001d", + "available_stellar": "127", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "353", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "347", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 752: { + "resource_type": "misn", + "id": "752", + "name": "Silent Mission;Auroran 001e", + "available_stellar": "127", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "353", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "349", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 753: { + "resource_type": "misn", + "id": "753", + "name": "Return to ;Polaris 8bi", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "270", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25033", + "briefing_desc": "0", + "quick_briefing_desc": "6178", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b320 & b5759) & !b178", + "on_accept": "b178", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "!b178", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0800", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 754: { + "resource_type": "misn", + "id": "754", + "name": "Shoot down Derelict;Tutorial 006", + "available_stellar": "191", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "157", + "cargo_type": "73", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "5240", + "quick_briefing_desc": "6240", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8240", + "completion_desc": "9240", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20215", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9204 & !(b9205 | b9215)", + "on_accept": "S755 b9208", + "on_refuse": "b9215 S758", + "on_success": "b9205 !b9208", + "on_failure": "", + "on_abort": "b9215 A755 S758 !b9208", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "100", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 755: { + "resource_type": "misn", + "id": "755", + "name": "Silent Mission;Tutorial 006a", + "available_stellar": "127", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "157", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "129", + "ship_dude": "155", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25000", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 756: { + "resource_type": "misn", + "id": "756", + "name": "Return to Earth;Tutorial 007", + "available_stellar": "157", + "available_location": "5", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "73", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5241", + "quick_briefing_desc": "6241", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9241", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9205 & !(b9206 | b9215)", + "on_accept": "", + "on_refuse": "", + "on_success": "b9206", + "on_failure": "", + "on_abort": "b9215 S758", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "100", + "can_abort": "1", + "flags_1": "0x0104", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 757: { + "resource_type": "misn", + "id": "757", + "name": "Ferry Barry to ;Tutorial 008", + "available_stellar": "128", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "209", + "cargo_type": "73", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5242", + "quick_briefing_desc": "6242", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9242", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9206 & !(b9207 | b9215)", + "on_accept": "X187", + "on_refuse": "", + "on_success": "b9207 !b8339", + "on_failure": "", + "on_abort": "b9215 !b8339", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 758: { + "resource_type": "misn", + "id": "758", + "name": "Take Barry to ;Tutorial 009", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "209", + "cargo_type": "73", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6243", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9243", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9215 & !b9216", + "on_accept": "X187", + "on_refuse": "", + "on_success": "b9216 !b8339", + "on_failure": "", + "on_abort": "b9215 !b8339", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 759: { + "resource_type": "misn", + "id": "759", + "name": "Duel;generic Auroran", + "available_stellar": "10001", + "available_location": "1", + "available_record": "0", + "available_rating": "75", + "available_random": "15", + "travel_stellar": "-1", + "return_stellar": "-4", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "239", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25022", + "ship_start": "1", + "completion_government": "129", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5999", + "quick_briefing_desc": "6999", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9999", + "failing_desc": "20999", + "ship_done_desc": "-1", + "refusing_desc": "19999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b352 | b289) & !(b192 | b206)", + "on_accept": "K153", + "on_refuse": "", + "on_success": "", + "on_failure": "Q7999 L153", + "on_abort": "L153", + "on_ship_done": "Q7998 L153", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "I accept", + "refuse_button": "No thanks", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x2840", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 760: { + "resource_type": "misn", + "id": "760", + "name": "Duel;generic Moash", + "available_stellar": "10003", + "available_location": "1", + "available_record": "0", + "available_rating": "25", + "available_random": "15", + "travel_stellar": "-1", + "return_stellar": "-4", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "239", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25022", + "ship_start": "1", + "completion_government": "131", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "5999", + "quick_briefing_desc": "6999", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9999", + "failing_desc": "20999", + "ship_done_desc": "-1", + "refusing_desc": "19999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b352 | b289) & !(b192 | b206)", + "on_accept": "K154", + "on_refuse": "", + "on_success": "", + "on_failure": "Q7999 L154", + "on_abort": "L154", + "on_ship_done": "Q7998 L154", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "I accept", + "refuse_button": "No thanks", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x2840", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 761: { + "resource_type": "misn", + "id": "761", + "name": "Duel;generic Dani", + "available_stellar": "10006", + "available_location": "1", + "available_record": "0", + "available_rating": "50", + "available_random": "15", + "travel_stellar": "-1", + "return_stellar": "-4", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "239", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25022", + "ship_start": "1", + "completion_government": "134", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "5999", + "quick_briefing_desc": "6999", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9999", + "failing_desc": "20999", + "ship_done_desc": "-1", + "refusing_desc": "19999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b352 | b289) & !(b192 | b206)", + "on_accept": "K157", + "on_refuse": "", + "on_success": "", + "on_failure": "Q7999 L157", + "on_abort": "L157", + "on_ship_done": "Q7998 L157", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "I accept", + "refuse_button": "No thanks", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x2840", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 762: { + "resource_type": "misn", + "id": "762", + "name": "Duel;generic Vella", + "available_stellar": "10005", + "available_location": "1", + "available_record": "0", + "available_rating": "75", + "available_random": "15", + "travel_stellar": "-1", + "return_stellar": "-4", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "239", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25022", + "ship_start": "1", + "completion_government": "133", + "completion_reward": "1", + "ship_subtitle": "-1", + "briefing_desc": "5999", + "quick_briefing_desc": "6999", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9999", + "failing_desc": "20999", + "ship_done_desc": "-1", + "refusing_desc": "19999", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b352 | b289) & !(b192 | b206)", + "on_accept": "K156", + "on_refuse": "", + "on_success": "", + "on_failure": "Q7999 L156", + "on_abort": "L156", + "on_ship_done": "Q7998 L156", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "I accept", + "refuse_button": "No thanks", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x2840", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 763: { + "resource_type": "misn", + "id": "763", + "name": "Duel;generic Tekel", + "available_stellar": "10004", + "available_location": "1", + "available_record": "0", + "available_rating": "100", + "available_random": "15", + "travel_stellar": "-1", + "return_stellar": "-4", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "239", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25022", + "ship_start": "1", + "completion_government": "132", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5998", + "quick_briefing_desc": "6999", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9998", + "failing_desc": "20998", + "ship_done_desc": "-1", + "refusing_desc": "19998", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b352 | b289) & !(b192 | b206)", + "on_accept": "K155", + "on_refuse": "", + "on_success": "", + "on_failure": "Q7997 L155", + "on_abort": "L155", + "on_ship_done": "Q7996 L155", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "I accept", + "refuse_button": "No thanks", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x2840", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 764: { + "resource_type": "misn", + "id": "764", + "name": "Duel;generic Heraan", + "available_stellar": "10007", + "available_location": "1", + "available_record": "0", + "available_rating": "100", + "available_random": "15", + "travel_stellar": "-1", + "return_stellar": "-4", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "239", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "25022", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "2", + "ship_subtitle": "-1", + "briefing_desc": "5997", + "quick_briefing_desc": "6999", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9997", + "failing_desc": "20997", + "ship_done_desc": "-1", + "refusing_desc": "19997", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b352 | b289) & !(b192 | b206)", + "on_accept": "K158", + "on_refuse": "", + "on_success": "", + "on_failure": "Q7997 L158", + "on_abort": "L158", + "on_ship_done": "Q7996 L158", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "I accept", + "refuse_button": "No thanks", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x2840", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 765: { + "resource_type": "misn", + "id": "765", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "10006", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 766: { + "resource_type": "misn", + "id": "766", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "10005", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 767: { + "resource_type": "misn", + "id": "767", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "10004", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-12", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "18000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 768: { + "resource_type": "misn", + "id": "768", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "10003", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-12", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "18000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 769: { + "resource_type": "misn", + "id": "769", + "name": "Delivery to ", + "available_stellar": "10001", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "10007", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 770: { + "resource_type": "misn", + "id": "770", + "name": "Delivery to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 771: { + "resource_type": "misn", + "id": "771", + "name": "Delivery to ", + "available_stellar": "10007", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 772: { + "resource_type": "misn", + "id": "772", + "name": "Delivery to ", + "available_stellar": "10006", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-12", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "18000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 773: { + "resource_type": "misn", + "id": "773", + "name": "Delivery to ", + "available_stellar": "10006", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "-12", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "18000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 774: { + "resource_type": "misn", + "id": "774", + "name": "Delivery to ", + "available_stellar": "10005", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 775: { + "resource_type": "misn", + "id": "775", + "name": "Delivery to ", + "available_stellar": "10005", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 776: { + "resource_type": "misn", + "id": "776", + "name": "Delivery to ", + "available_stellar": "10004", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 777: { + "resource_type": "misn", + "id": "777", + "name": "Delivery to ", + "available_stellar": "10004", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 778: { + "resource_type": "misn", + "id": "778", + "name": "Delivery to ", + "available_stellar": "10003", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 779: { + "resource_type": "misn", + "id": "779", + "name": "Delivery to ", + "available_stellar": "10003", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "10001", + "return_stellar": "-1", + "cargo_type": "1000", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "15000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "25006", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "28006", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!b424", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 780: { + "resource_type": "misn", + "id": "780", + "name": "Rumor mission;Auroran 008b", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "75", + "travel_stellar": "-1", + "return_stellar": "177", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b6723 & !b6724", + "on_accept": "", + "on_refuse": "", + "on_success": "b6724 S802", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1404", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 781: { + "resource_type": "misn", + "id": "781", + "name": "Vell-os 2 refusal Fed reaction", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "130", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "A781", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C00", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 782: { + "resource_type": "misn", + "id": "782", + "name": "Transport Mu'Randa;Polaris1 - Vell-os refusal", + "available_stellar": "10001", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "139", + "cargo_type": "29", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "20000", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5275", + "quick_briefing_desc": "6275", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9275", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b4444 & !(b275 | b512)) & !(b511 | b515)", + "on_accept": "b511", + "on_refuse": "", + "on_success": "b275 b515", + "on_failure": "", + "on_abort": "!b511", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 783: { + "resource_type": "misn", + "id": "783", + "name": "Meet With Merrol DockMaster", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "171", + "cargo_type": "65", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-10141", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6782", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9320", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 784: { + "resource_type": "misn", + "id": "784", + "name": "Take Supplies to ;Auroran 001", + "available_stellar": "20007", + "available_location": "1", + "available_record": "0", + "available_rating": "50", + "available_random": "60", + "travel_stellar": "-1", + "return_stellar": "353", + "cargo_type": "58", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0200", + "pay_value": "20000", + "ship_count": "3", + "ship_system": "334", + "ship_dude": "161", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "2", + "ship_subtitle": "0", + "briefing_desc": "5212", + "quick_briefing_desc": "6201", + "load_cargo_desc": "7201", + "dropoff_cargo_desc": "8201", + "completion_desc": "9201", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20206", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b201 & b3789) & !(b511 | b518)", + "on_accept": "S749 S750 S751 S752 b511", + "on_refuse": "b518", + "on_success": "S785", + "on_failure": "", + "on_abort": "b518 !b511 A749 A750 A751 A752", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 785: { + "resource_type": "misn", + "id": "785", + "name": "Pick Up Supplies from ;Auroran 001a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "215", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6235", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 786: { + "resource_type": "misn", + "id": "786", + "name": "Report Back to Krane", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "128", + "ship_dude": "138", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6008", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "130", + "aux_ship_syst": "128", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 787: { + "resource_type": "misn", + "id": "787", + "name": "Meet With DockMaster", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "171", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "-10141", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6784", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9320", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 788: { + "resource_type": "misn", + "id": "788", + "name": "Head to ;Generic Auroran linking misn", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6030", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9030", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 789: { + "resource_type": "misn", + "id": "789", + "name": "Head to ;Generic Auroran linking misn", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6030", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 790: { + "resource_type": "misn", + "id": "790", + "name": "Head to ;Generic Auroran linking misn", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6031", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 791: { + "resource_type": "misn", + "id": "791", + "name": "Silent Mission;Rebel I9a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "21", + "cargo_amount": "5", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0400", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 792: { + "resource_type": "misn", + "id": "792", + "name": "Silent Mission;Auroran 011a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "241", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "25000", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25051", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "1", + "aux_ship_dude": "241", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0400", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 793: { + "resource_type": "misn", + "id": "793", + "name": "Silent Hune Misn; Auroran generic", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "220", + "ship_goal": "3", + "ship_behavior": "1", + "ship_name": "25019", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25020", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "Q25053 b9666", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0400", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 794: { + "resource_type": "misn", + "id": "794", + "name": "Pick Up Hune", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9666", + "on_accept": "!b9666", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "b9666", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "10", + "can_abort": "0", + "flags_1": "0x0001", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 795: { + "resource_type": "misn", + "id": "795", + "name": "Silent Misn;fed42a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "129", + "ship_dude": "137", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C00", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 796: { + "resource_type": "misn", + "id": "796", + "name": "Redeem Yourself;Auroran Dechtakar Service re-start", + "available_stellar": "10001", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "335", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "220", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "25019", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25020", + "briefing_desc": "5599", + "quick_briefing_desc": "6599", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9599", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20216", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b5999", + "on_accept": "", + "on_refuse": "!b5999", + "on_success": "!b217 !b5999", + "on_failure": "!b5999", + "on_abort": "!b5999", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0800", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 797: { + "resource_type": "misn", + "id": "797", + "name": "Talk to Fllyraen;Vellos 2 -> 3 link", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6666", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 798: { + "resource_type": "misn", + "id": "798", + "name": "Report Back In;Vell-os 7 -> 8 link", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6667", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9667", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 799: { + "resource_type": "misn", + "id": "799", + "name": "Report Back In;Vell-os 10 -> 11 link", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6667", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "31134", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 800: { + "resource_type": "misn", + "id": "800", + "name": "Head to ;Vell-os 29 -> 30 link", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "217", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6668", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9668", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 801: { + "resource_type": "misn", + "id": "801", + "name": "Find Kuron;Auroran 4 -> 5 link", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6669", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9669", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 802: { + "resource_type": "misn", + "id": "802", + "name": "Invisible Return to Heraan", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0400", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 803: { + "resource_type": "misn", + "id": "803", + "name": "The Pack invisible misn;Generic Auroran", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "7", + "ship_system": "-6", + "ship_dude": "223", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25054", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0400", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 804: { + "resource_type": "misn", + "id": "804", + "name": "Head to ; Auroran 23 -> 24 link", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "217", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6670", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 805: { + "resource_type": "misn", + "id": "805", + "name": "Return to with Sven;pirate link", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "157", + "cargo_type": "77", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6671", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9671", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 806: { + "resource_type": "misn", + "id": "806", + "name": "Return to with Ferret and Dizzy;pirate link", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "157", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6672", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9672", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 807: { + "resource_type": "misn", + "id": "807", + "name": "Set Up Trap;pirate link", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "193", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-6", + "ship_dude": "266", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6673", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0800", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 808: { + "resource_type": "misn", + "id": "808", + "name": "Silent misn;Pirate 010a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-6", + "ship_dude": "266", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C00", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 809: { + "resource_type": "misn", + "id": "809", + "name": "Silent Mission;Vell-os 20a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0404", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 810: { + "resource_type": "misn", + "id": "810", + "name": "Pick Up Cargo From Sol;Pirate 001 from WG", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "50", + "available_random": "100", + "travel_stellar": "128", + "return_stellar": "157", + "cargo_type": "65", + "cargo_amount": "5", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "10000", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5600", + "quick_briefing_desc": "6604", + "load_cargo_desc": "7600", + "dropoff_cargo_desc": "8600", + "completion_desc": "9601", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20600", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b810 & !(b600 | b515)", + "on_accept": "", + "on_refuse": "", + "on_success": "b511 b600", + "on_failure": "b600 !b511", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 811: { + "resource_type": "misn", + "id": "811", + "name": "Head to Misfire; Wild Geese link misn", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "211", + "cargo_type": "12", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6674", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 812: { + "resource_type": "misn", + "id": "812", + "name": "Head to ;WG -> Auroran link", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "353", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6675", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9675", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 813: { + "resource_type": "misn", + "id": "813", + "name": "Head to ;Generic Auroran silent linking misn", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0400", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 814: { + "resource_type": "misn", + "id": "814", + "name": "Take Datacubes Back to ;link between Auroran offshoot 010 -> 011", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "57", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6676", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 815: { + "resource_type": "misn", + "id": "815", + "name": "Take Terraforming Team to New Ireland", + "available_stellar": "128", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "507", + "cargo_type": "47", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "20", + "ship_subtitle": "0", + "briefing_desc": "5237", + "quick_briefing_desc": "6237", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9238", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b17 & (b812 & b851)) & (b221 & !(b237 | b819))", + "on_accept": "", + "on_refuse": "", + "on_success": "b237", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 816: { + "resource_type": "misn", + "id": "816", + "name": "Head to ;Generic Auroran linking misn", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "439", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6030", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 817: { + "resource_type": "misn", + "id": "817", + "name": "Meet with Your Uncle Olaf;WG -> Pirate link misn", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "157", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "127", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6677", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9675", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 818: { + "resource_type": "misn", + "id": "818", + "name": "Drop By Kane Band Bar;Vell-os 3->4 link misn", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6678", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 819: { + "resource_type": "misn", + "id": "819", + "name": "Drop By Merrol Bar;Rebel Reminder link", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6679", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 820: { + "resource_type": "misn", + "id": "820", + "name": "Meet With Heraan House;Polaris28 - Unregistered cutoff", + "available_stellar": "335", + "available_location": "1", + "available_record": "0", + "available_rating": "700", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b301 & !(b302 | P0)", + "on_accept": "b415", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1005", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 821: { + "resource_type": "misn", + "id": "821", + "name": "Contact Wild Geese;Rebel I11 - Unregistered cutoff", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b135 & !(b136 | P0)", + "on_accept": "b415", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1005", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 822: { + "resource_type": "misn", + "id": "822", + "name": "Report to Krane; Vellos23 - Unregistered cutoff", + "available_stellar": "10000", + "available_location": "3", + "available_record": "-1", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "2", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b370 & !(b371 | P0)", + "on_accept": "b415", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1005", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 823: { + "resource_type": "misn", + "id": "823", + "name": "Drop by Heraan House;Rebel II14 - Unregistered cutoff", + "available_stellar": "380", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b193 & !(b192 | P0)", + "on_accept": "b415", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1015", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 824: { + "resource_type": "misn", + "id": "824", + "name": "Carry Reply;Fed30 - Unregistered cutoff", + "available_stellar": "134", + "available_location": "1", + "available_record": "-1", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b75 & !(b76 | P0)", + "on_accept": "b415", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1015", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 825: { + "resource_type": "misn", + "id": "825", + "name": "Defend Heraan Honor;Auroran 020 - Unregistered cutoff", + "available_stellar": "360", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b226 & !(b227 | P0)", + "on_accept": "b415", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1005", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 826: { + "resource_type": "misn", + "id": "826", + "name": "Pick Up Sven Fjordnham;Pirate 007 - Unregistered cutoff", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "-1", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b605 & !(P0 | b606)", + "on_accept": "b415", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1005", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 827: { + "resource_type": "misn", + "id": "827", + "name": "Silent Mission;Pirate 010b", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "7", + "ship_system": "168", + "ship_dude": "172", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C00", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 828: { + "resource_type": "misn", + "id": "828", + "name": "Escort Rock Group;Special Klavs 01a", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "25", + "travel_stellar": "-1", + "return_stellar": "218", + "cargo_type": "74", + "cargo_amount": "15", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5778", + "quick_briefing_desc": "6778", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20778", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!((b7777 | b7778) | (b423 | b424)) & !(b8338 | b8339)", + "on_accept": "b8338", + "on_refuse": "b7777 b6666", + "on_success": "b7778", + "on_failure": "", + "on_abort": "b7777 !b8338", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 829: { + "resource_type": "misn", + "id": "829", + "name": "Escort Rock Group;Special Klavs 01b", + "available_stellar": "218", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "177", + "cargo_type": "74", + "cargo_amount": "15", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "233", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6778", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9779", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b7778 & !(b7779 | (b424 | b423))", + "on_accept": "", + "on_refuse": "", + "on_success": "b7779", + "on_failure": "", + "on_abort": "b7779", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0104", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 830: { + "resource_type": "misn", + "id": "830", + "name": "Launch Exploration Probe;Special Klavs 02", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "25", + "travel_stellar": "315", + "return_stellar": "128", + "cargo_type": "75", + "cargo_amount": "5", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "1", + "ship_system": "-3", + "ship_dude": "243", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5781", + "quick_briefing_desc": "6781", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8781", + "completion_desc": "9781", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "20781", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b7780 | b7781) & !((b8338 | b8339) | (b423 |b424))", + "on_accept": "b8338", + "on_refuse": "b7780 b6666", + "on_success": "b7781", + "on_failure": "", + "on_abort": "b7780 !b8338", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0800", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 831: { + "resource_type": "misn", + "id": "831", + "name": "Escort Temmin Shard;Special Klavs 03a", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "200", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "167", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "244", + "ship_goal": "3", + "ship_behavior": "-1", + "ship_name": "25047", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5783", + "quick_briefing_desc": "6783", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9783", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "20783", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b7782 | b7783) & !(b511 | (b423 | b424))", + "on_accept": "", + "on_refuse": "b7782", + "on_success": "b7783", + "on_failure": "", + "on_abort": "b7782", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0800", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 832: { + "resource_type": "misn", + "id": "832", + "name": "Recover Stolen Art;Special Klavs 03b", + "available_stellar": "167", + "available_location": "1", + "available_record": "0", + "available_rating": "20", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "190", + "cargo_type": "76", + "cargo_amount": "2", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "30000", + "ship_count": "1", + "ship_system": "-1", + "ship_dude": "245", + "ship_goal": "2", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "10", + "ship_subtitle": "0", + "briefing_desc": "5785", + "quick_briefing_desc": "6785", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8785", + "completion_desc": "9785", + "failing_desc": "-1", + "ship_done_desc": "0", + "refusing_desc": "20785", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "246", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b7783 & !(b7784 | b7785)", + "on_accept": "S833", + "on_refuse": "b7784", + "on_success": "b7785", + "on_failure": "b7784", + "on_abort": "b7784 A833", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0800", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 833: { + "resource_type": "misn", + "id": "833", + "name": "Recover Stolen Art;Special Klavs 03c (invisible)", + "available_stellar": "-1", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "190", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "244", + "ship_goal": "3", + "ship_behavior": "-1", + "ship_name": "25047", + "ship_start": "0", + "completion_government": "0", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "-1", + "quick_briefing_desc": "-1", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "F832", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 834: { + "resource_type": "misn", + "id": "834", + "name": "Go On Cunjo Hunt;Special Klavs 04a", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "25", + "travel_stellar": "-1", + "return_stellar": "187", + "cargo_type": "6", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5787", + "quick_briefing_desc": "6787", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "20787", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b7786 | (b423 | b424)) & !((b8338 | b8339) | b8340) ", + "on_accept": "b8338 b8340", + "on_refuse": "b7786 b6666", + "on_success": "b7787 b7786", + "on_failure": "", + "on_abort": "b7786 !b8338 !b8340", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 835: { + "resource_type": "misn", + "id": "835", + "name": "Go On Cunjo Hunt;Special Klavs 04b", + "available_stellar": "187", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "6", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "75000", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "-1", + "quick_briefing_desc": "6787", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9788", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b7787 & !(b7788 | (b423 | b424))", + "on_accept": "", + "on_refuse": "", + "on_success": "b7788", + "on_failure": "", + "on_abort": "b7788", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 836: { + "resource_type": "misn", + "id": "836", + "name": "Find Mu'ar Haro", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "267", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6680", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0002", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 837: { + "resource_type": "misn", + "id": "837", + "name": "Drop By P'ar Aed Bar", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6681", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 838: { + "resource_type": "misn", + "id": "838", + "name": "Drop By Tre'ar Erma Bar", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6682", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 839: { + "resource_type": "misn", + "id": "839", + "name": "Head Back to Mu'ar Haro", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "267", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6683", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 840: { + "resource_type": "misn", + "id": "840", + "name": "Take Cargo to Misfire;Pirate 002", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "5", + "available_random": "100", + "travel_stellar": "211", + "return_stellar": "157", + "cargo_type": "57", + "cargo_amount": "5", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "30000", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5601", + "quick_briefing_desc": "6605", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8604", + "completion_desc": "9612", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b600 & b511) & (!(b601 | b519) & b800)", + "on_accept": "", + "on_refuse": "!b511 b519", + "on_success": "b601", + "on_failure": "!b511 b519", + "on_abort": "!b511 b519", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "1", + "flags_1": "0x1000", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 841: { + "resource_type": "misn", + "id": "841", + "name": "Speak to Dace;Pirate 004", + "available_stellar": "157", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "215", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "480000", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5609", + "quick_briefing_desc": "6607", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9604", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b602 & b511) & (!(b603 | b519) & b800)", + "on_accept": "", + "on_refuse": "!b511 b519", + "on_success": "b603 k143", + "on_failure": "!b511 b519", + "on_abort": "!b511 b519", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "5", + "can_abort": "1", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 842: { + "resource_type": "misn", + "id": "842", + "name": "Head to ;Pirate 010a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "300", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "419", + "cargo_type": "16", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8800", + "pay_value": "-10128", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6620", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9610", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "b609 b6666 S895 A808", + "on_failure": "", + "on_abort": "A827 A808", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 843: { + "resource_type": "misn", + "id": "843", + "name": "ATTN: ;Polaris ActionMan 001", + "available_stellar": "10002", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "220", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "128", + "ship_dude": "179", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "147", + "completion_reward": "2", + "ship_subtitle": "25010", + "briefing_desc": "5758", + "quick_briefing_desc": "6758", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b281 | b319) & !b5758", + "on_accept": "", + "on_refuse": "", + "on_success": "b5758", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25062", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0200", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 844: { + "resource_type": "misn", + "id": "844", + "name": "Defend ;Polaris ActionMan 002", + "available_stellar": "220", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "220", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "100000", + "ship_count": "4", + "ship_system": "-1", + "ship_dude": "179", + "ship_goal": "6", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "147", + "completion_reward": "20", + "ship_subtitle": "25010", + "briefing_desc": "5759", + "quick_briefing_desc": "6759", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9759", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b5758 & !b5759", + "on_accept": "", + "on_refuse": "", + "on_success": "b5759", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25063", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 845: { + "resource_type": "misn", + "id": "845", + "name": "Defend ;Polaris ActionMan 002a", + "available_stellar": "10002", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "15", + "travel_stellar": "-1", + "return_stellar": "220", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "100000", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "179", + "ship_goal": "6", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "147", + "completion_reward": "5", + "ship_subtitle": "25010", + "briefing_desc": "5775", + "quick_briefing_desc": "6775", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9775", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "2", + "aux_ship_dude": "138", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "b5759 & !b5760", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25063", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0110", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 846: { + "resource_type": "misn", + "id": "846", + "name": "ATTN: Ory'hara;Polaris ActionMan 003", + "available_stellar": "10002", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "-1", + "return_stellar": "308", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "100000", + "ship_count": "4", + "ship_system": "-4", + "ship_dude": "254", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "147", + "completion_reward": "5", + "ship_subtitle": "25064", + "briefing_desc": "5760", + "quick_briefing_desc": "6760", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b293 & !b5760", + "on_accept": "", + "on_refuse": "", + "on_success": "b5760", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25063", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0800", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 847: { + "resource_type": "misn", + "id": "847", + "name": "Try to Get Back to ;Polaris ActionMan 004", + "available_stellar": "308", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "295", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "100000", + "ship_count": "3", + "ship_system": "-6", + "ship_dude": "254", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "147", + "completion_reward": "5", + "ship_subtitle": "25064", + "briefing_desc": "0", + "quick_briefing_desc": "6761", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9761", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b5760 & !b5761", + "on_accept": "S848 Q25065", + "on_refuse": "", + "on_success": "b5761", + "on_failure": "", + "on_abort": "A848", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0804", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 848: { + "resource_type": "misn", + "id": "848", + "name": "Silent Mission;Polaris ActionMan 004a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "295", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "-6", + "ship_dude": "254", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25064", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0402", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 849: { + "resource_type": "misn", + "id": "849", + "name": "Eliminate Traitor;Vell-os ActionMan 001", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "-20128", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "134", + "ship_goal": "0", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25066", + "briefing_desc": "5762", + "quick_briefing_desc": "6762", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9762", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b424 & b422) & !b367", + "on_accept": "", + "on_refuse": "", + "on_success": "b5762", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0900", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 850: { + "resource_type": "misn", + "id": "850", + "name": "Capture Traitor;Vell-os ActionMan 002", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "61", + "cargo_amount": "1", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-20128", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "134", + "ship_goal": "2", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25066", + "briefing_desc": "5763", + "quick_briefing_desc": "6763", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9763", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "1", + "aux_ship_dude": "130", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b422 & b5762) & b424", + "on_accept": "", + "on_refuse": "", + "on_success": "b5763", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0900", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 851: { + "resource_type": "misn", + "id": "851", + "name": "Eliminate Traitor;Fed ActionMan 001", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "45", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "30000", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "134", + "ship_goal": "0", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25066", + "briefing_desc": "5762", + "quick_briefing_desc": "6762", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9764", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b67 & !b80", + "on_accept": "", + "on_refuse": "", + "on_success": "b5764", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0900", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 852: { + "resource_type": "misn", + "id": "852", + "name": "Capture Traitor;Fed ActionMan 002", + "available_stellar": "10000", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "61", + "cargo_amount": "1", + "cargo_pickup_mode": "2", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-20128", + "ship_count": "1", + "ship_system": "-5", + "ship_dude": "134", + "ship_goal": "2", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25066", + "briefing_desc": "5763", + "quick_briefing_desc": "6763", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9765", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "1", + "aux_ship_dude": "130", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b73 & b5764", + "on_accept": "", + "on_refuse": "", + "on_success": "b5765", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0900", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 853: { + "resource_type": "misn", + "id": "853", + "name": "Defend Rebel II;Rebel ActionMan 001", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "25", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "100000", + "ship_count": "6", + "ship_system": "483", + "ship_dude": "130", + "ship_goal": "6", + "ship_behavior": "0", + "ship_name": "25010", + "ship_start": "1", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6192", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9188", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "171", + "aux_ship_syst": "483", + "available_ship_type": "127", + "available_bits": "b131", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1014", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 854: { + "resource_type": "misn", + "id": "854", + "name": "Silent Mission;Pol 034", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "270", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 855: { + "resource_type": "misn", + "id": "855", + "name": "Defend Heraan Space;Auroran ActionMan 001", + "available_stellar": "10007", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "10007", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "3", + "ship_system": "-4", + "ship_dude": "161", + "ship_goal": "6", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "2", + "ship_subtitle": "0", + "briefing_desc": "5766", + "quick_briefing_desc": "6766", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9766", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b208 & !b220", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0900", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 856: { + "resource_type": "misn", + "id": "856", + "name": "Defend Heraan Space;Auroran ActionMan 002", + "available_stellar": "10007", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "10007", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "25000", + "ship_count": "3", + "ship_system": "-4", + "ship_dude": "130", + "ship_goal": "6", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "135", + "completion_reward": "2", + "ship_subtitle": "0", + "briefing_desc": "5767", + "quick_briefing_desc": "6767", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9766", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b208 & !b220", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0900", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 857: { + "resource_type": "misn", + "id": "857", + "name": "Lead Raid on Moash;Auroran ActionMan 003", + "available_stellar": "10007", + "available_location": "0", + "available_record": "0", + "available_rating": "700", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "360", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "3", + "ship_system": "366", + "ship_dude": "161", + "ship_goal": "6", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "135", + "completion_reward": "5", + "ship_subtitle": "25067", + "briefing_desc": "5768", + "quick_briefing_desc": "6768", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9768", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b224 & !b229", + "on_accept": "S858", + "on_refuse": "", + "on_success": "A858", + "on_failure": "", + "on_abort": "A858", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0900", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 858: { + "resource_type": "misn", + "id": "858", + "name": "Silent Mission;Auroran ActionMan 003a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "223", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 859: { + "resource_type": "misn", + "id": "859", + "name": "Rumour misn;Rebel I9a", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b5770", + "on_accept": "!b5770", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "b5770", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0400", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 860: { + "resource_type": "misn", + "id": "860", + "name": "Please Register;Registration reminder", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "25", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b415 & !P0", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0005", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 861: { + "resource_type": "misn", + "id": "861", + "name": "Head Back to Merrol", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "171", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6784", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9320", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b9334", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 862: { + "resource_type": "misn", + "id": "862", + "name": "Krypt Mind Attack;Polaris 32a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "408", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "455", + "ship_dude": "146", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "D339 A863 A864 A865 A866", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25068 G339 A863 A864 A865 A866 S867 S868 S869 S870 S871", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0402", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 863: { + "resource_type": "misn", + "id": "863", + "name": "Krypt Mind Attack;Polaris 32a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "408", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "458", + "ship_dude": "146", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "D339 A862 A864 A865 A866", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25068 G339 A862 A864 A865 A866 S867 S868 S869 S870 S871", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0402", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 864: { + "resource_type": "misn", + "id": "864", + "name": "Krypt Mind Attack;Polaris 32a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "408", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "451", + "ship_dude": "146", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "D339 A862 A863 A865 A866", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25068 G339 A862 A863 A865 A866 S867 S868 S869 S870 S871", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0402", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 865: { + "resource_type": "misn", + "id": "865", + "name": "Krypt Mind Attack;Polaris 32a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "408", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "427", + "ship_dude": "146", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "D339 A862 A863 A864 A866", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25068 G339 A862 A863 A864 A866 S867 S868 S869 S870 S871", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0402", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 866: { + "resource_type": "misn", + "id": "866", + "name": "Krypt Mind Attack;Polaris 32a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "408", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "409", + "ship_dude": "146", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "D339 A862 A863 A864 A865", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25068 G339 A862 A863 A864 A865 S867 S868 S869 S870 S871", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0402", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 867: { + "resource_type": "misn", + "id": "867", + "name": "Krypt Mind Attack Exit;Polaris 32b", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "459", + "ship_dude": "146", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25069 D339 A867 A868 A869 A870 A871 S862 S863 S864 S865 S866", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0402", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 868: { + "resource_type": "misn", + "id": "868", + "name": "Krypt Mind Attack Exit;Polaris 32b", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "460", + "ship_dude": "134", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25069 D339 A867 A868 A869 A870 A871 S862S863 S864 S865 S866", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0402", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 869: { + "resource_type": "misn", + "id": "869", + "name": "Krypt Mind Attack Exit;Polaris 32b", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "461", + "ship_dude": "134", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25069 D339 A867 A868 A869 A870 A871 S862 S863 S864 S865 S866", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0402", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 870: { + "resource_type": "misn", + "id": "870", + "name": "Krypt Mind Attack Exit;Polaris 32b", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "456", + "ship_dude": "134", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25069 D339 A867 A868 A869 A870 A871 S862 S863 S864 S865 S866", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0402", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 871: { + "resource_type": "misn", + "id": "871", + "name": "Krypt Mind Attack Exit;Polaris 32b", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "2", + "ship_system": "198", + "ship_dude": "134", + "ship_goal": "4", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25069 D339 A867 A868 A869 A870 A871 S862 S863 S864 S865 S866", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0402", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 872: { + "resource_type": "misn", + "id": "872", + "name": "Generic Passenger Cargo Str# misn", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "6", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0402", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 873: { + "resource_type": "misn", + "id": "873", + "name": "Consult Vell-os;Polaris30", + "available_stellar": "10002", + "available_location": "3", + "available_record": "0", + "available_rating": "300", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-10140", + "ship_count": "2", + "ship_system": "128", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "130", + "completion_reward": "0", + "ship_subtitle": "-1", + "briefing_desc": "5350", + "quick_briefing_desc": "6349", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "8350", + "completion_desc": "9349", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b296 & b4444) & !(b349 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b349", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 874: { + "resource_type": "misn", + "id": "874", + "name": "Destroy Upstart Guild-Master;Pirate Blow-stuff-up", + "available_stellar": "-1", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "40", + "travel_stellar": "-1", + "return_stellar": "157", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "491", + "ship_dude": "268", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25070", + "briefing_desc": "0", + "quick_briefing_desc": "6615", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9613", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b611 & !b612", + "on_accept": "S875", + "on_refuse": "", + "on_success": "b612 A875", + "on_failure": "", + "on_abort": "A875", + "on_ship_done": "Q25071", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0204", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 875: { + "resource_type": "misn", + "id": "875", + "name": "Silent Mission;Pirate Blow-stuff-up support", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "491", + "ship_dude": "265", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0400", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 876: { + "resource_type": "misn", + "id": "876", + "name": "Destroy Upstart Guild-Master;Pirate Blow-stuff-up generic", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "20", + "travel_stellar": "-1", + "return_stellar": "157", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "491", + "ship_dude": "268", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25070", + "briefing_desc": "0", + "quick_briefing_desc": "6615", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9614", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b612", + "on_accept": "S875", + "on_refuse": "", + "on_success": "A875", + "on_failure": "", + "on_abort": "A875", + "on_ship_done": "Q25071", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0200", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 877: { + "resource_type": "misn", + "id": "877", + "name": "Destroy Bureau Cell;Aur, Vell, Pol, Reb Blow-stuff-up", + "available_stellar": "10000", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "25", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "10", + "ship_system": "-6", + "ship_dude": "273", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25006", + "briefing_desc": "0", + "quick_briefing_desc": "6616", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b613", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25072 A877", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "Go after them", + "refuse_button": "Let it go", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 878: { + "resource_type": "misn", + "id": "878", + "name": "Put Down Uprising;Fed Blow-stuff-up", + "available_stellar": "128", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "25", + "travel_stellar": "20000", + "return_stellar": "-4", + "cargo_type": "56", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-3", + "ship_dude": "270", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25073", + "briefing_desc": "0", + "quick_briefing_desc": "6618", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "7617", + "completion_desc": "9617", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b89", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25074", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "Go after them", + "refuse_button": "Let it go", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0004", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 879: { + "resource_type": "misn", + "id": "879", + "name": "Pirate 002 silent money misn", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "211", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "30000", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0402", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 880: { + "resource_type": "misn", + "id": "880", + "name": "Polaris Scarabs", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-6", + "ship_dude": "271", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 881: { + "resource_type": "misn", + "id": "881", + "name": "Polaris Smaller Ships", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "3", + "ship_system": "-6", + "ship_dude": "272", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 882: { + "resource_type": "misn", + "id": "882", + "name": "Head to Earth;Polaris44a", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "600", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "426", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "8", + "ship_system": "-4", + "ship_dude": "130", + "ship_goal": "4", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6322", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9322", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "197", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "S885 S886 A883 A884", + "on_failure": "", + "on_abort": "", + "on_ship_done": "S884", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1814", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 883: { + "resource_type": "misn", + "id": "883", + "name": "Fed Interception Fleet", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "129", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "197", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C12", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 884: { + "resource_type": "misn", + "id": "884", + "name": "Fed Interception Fleet", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "197", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 885: { + "resource_type": "misn", + "id": "885", + "name": "Head to Aurora;Polaris45a", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "600", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "439", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-4", + "ship_dude": "155", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6323", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9323", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "154", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "S887 A879 A880 A881", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1814", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 886: { + "resource_type": "misn", + "id": "886", + "name": "Polaris Raven", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "439", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-4", + "ship_dude": "182", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 887: { + "resource_type": "misn", + "id": "887", + "name": "Return to Ar'Za Iusia;Polaris 46", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "249", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "-20128", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6324", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8324", + "completion_desc": "9324", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "b148 b332 b333 b334 b335 b613 b9995 b9500 M472 Q25048", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 888: { + "resource_type": "misn", + "id": "888", + "name": "Head to Neilha Memorial Station;Polaris43b", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "600", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "317", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-4", + "ship_dude": "155", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6325", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9325", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "6", + "aux_ship_dude": "162", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "S889 S891", + "on_failure": "", + "on_abort": "", + "on_ship_done": "S884", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1814", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 889: { + "resource_type": "misn", + "id": "889", + "name": "Head to Aurora;Polaris44b", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "600", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "439", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "8", + "ship_system": "-4", + "ship_dude": "155", + "ship_goal": "4", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6326", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9326", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "165", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "S893 S894 A890 A891 A892", + "on_failure": "", + "on_abort": "", + "on_ship_done": "S890", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1814", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 890: { + "resource_type": "misn", + "id": "890", + "name": "Auroran Interception Fleet", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "165", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 891: { + "resource_type": "misn", + "id": "891", + "name": "Auroran Interception Fleet", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "165", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "S892", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 892: { + "resource_type": "misn", + "id": "892", + "name": "Auroran Interception Fleet", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "5", + "ship_system": "-6", + "ship_dude": "165", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "S891", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 893: { + "resource_type": "misn", + "id": "893", + "name": "Head to Earth;Polaris45b", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "600", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "426", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "-4", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "-1", + "quick_briefing_desc": "6327", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9327", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "3", + "aux_ship_dude": "197", + "aux_ship_syst": "-3", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "S887 A879 A880 A881", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1814", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 894: { + "resource_type": "misn", + "id": "894", + "name": "Polaris Raven", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "1", + "ship_system": "-4", + "ship_dude": "182", + "ship_goal": "-1", + "ship_behavior": "1", + "ship_name": "0", + "ship_start": "1", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0C02", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 895: { + "resource_type": "misn", + "id": "895", + "name": "Silent misn;last pirate misn link", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6895", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0400", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 896: { + "resource_type": "misn", + "id": "896", + "name": "Clean Fed Record;pirate offshoot", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "-10128", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0403", + "flags_2": "0x0002", + "end_of_resource": "EOR" + }, + 897: { + "resource_type": "misn", + "id": "897", + "name": "Sigma Shipyards Delivery;Sigma3", + "available_stellar": "128", + "available_location": "5", + "available_record": "0", + "available_rating": "100", + "available_random": "60", + "travel_stellar": "315", + "return_stellar": "128", + "cargo_type": "63", + "cargo_amount": "20", + "cargo_pickup_mode": "1", + "cargo_dropoff_mode": "1", + "scan_mask": "0x4000", + "pay_value": "250000", + "ship_count": "2", + "ship_system": "-3", + "ship_dude": "205", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "-1", + "ship_subtitle": "-1", + "briefing_desc": "5547", + "quick_briefing_desc": "6547", + "load_cargo_desc": "7547", + "dropoff_cargo_desc": "-1", + "completion_desc": "9547", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "20547", + "time_limit": "-1", + "aux_ship_count": "4", + "aux_ship_dude": "205", + "aux_ship_syst": "-2", + "available_ship_type": "127", + "available_bits": "(b34 & !(b46 | b47)) & !(b149 | b424)", + "on_accept": "", + "on_refuse": "b46", + "on_success": "b47", + "on_failure": "b46", + "on_abort": "b46", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0130", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 898: { + "resource_type": "misn", + "id": "898", + "name": "Deliver New Hypergate Code;Sigma4", + "available_stellar": "128", + "available_location": "5", + "available_record": "0", + "available_rating": "100", + "available_random": "60", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "18", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "250000", + "ship_count": "2", + "ship_system": "-6", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "-1", + "ship_start": "1", + "completion_government": "128", + "completion_reward": "-10", + "ship_subtitle": "-1", + "briefing_desc": "5549", + "quick_briefing_desc": "6549", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9549", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "20547", + "time_limit": "-1", + "aux_ship_count": "-1", + "aux_ship_dude": "-1", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(b48 & !b46) & !(b424 | b49)", + "on_accept": "k147 S899 S900", + "on_refuse": "b46", + "on_success": "b49 A899 A900", + "on_failure": "b46 A899 A900", + "on_abort": "b46 A899 A900", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0120", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 899: { + "resource_type": "misn", + "id": "899", + "name": "Silent Ships misn;Sigma 4a", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "128", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0400", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 900: { + "resource_type": "misn", + "id": "900", + "name": "Silent Ships misn;Sigma 4b", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "4", + "ship_system": "132", + "ship_dude": "128", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0400", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 901: { + "resource_type": "misn", + "id": "901", + "name": "You Need to Register...", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!P0 & (b301 | b135)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0005", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 902: { + "resource_type": "misn", + "id": "902", + "name": "You Need to Register...", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!P0 & (b370 | b193)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0005", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 903: { + "resource_type": "misn", + "id": "903", + "name": "You Need to Register...", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!P0 & (b75 | b226)", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0005", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 904: { + "resource_type": "misn", + "id": "904", + "name": "You Need to Register...", + "available_stellar": "-1", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!P0 & b605", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0005", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 905: { + "resource_type": "misn", + "id": "905", + "name": "Silent Mission;Vell-os Auroran pay player misn", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "-1", + "ship_system": "-1", + "ship_dude": "-1", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0401", + "flags_2": "0x0002", + "end_of_resource": "EOR" + }, + 906: { + "resource_type": "misn", + "id": "906", + "name": "Go On Cunjo Hunt;Special Klavs 04a II", + "available_stellar": "10000", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "5", + "travel_stellar": "-1", + "return_stellar": "187", + "cargo_type": "6", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "5878", + "quick_briefing_desc": "6878", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "-1", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "20878", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "!(b7786 | (b423 | b424)) & !((b8338 | b8339) | b8340)", + "on_accept": "b8338 b8340", + "on_refuse": "b7786 b6666", + "on_success": "b7786 b7878", + "on_failure": "", + "on_abort": "b7786 !b8338 !b8340", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0100", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 907: { + "resource_type": "misn", + "id": "907", + "name": "Go On Cunjo Hunt;Special Klavs 04b II", + "available_stellar": "187", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "128", + "cargo_type": "6", + "cargo_amount": "2", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "75000", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "-1", + "quick_briefing_desc": "6878", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9878", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b7878 & !(b7879 | (b423 | b424))", + "on_accept": "", + "on_refuse": "", + "on_success": "b7879 b7880 K151", + "on_failure": "", + "on_abort": "b7879", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 908: { + "resource_type": "misn", + "id": "908", + "name": "Take Terraforming Team to New Ireland", + "available_stellar": "128", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "506", + "cargo_type": "47", + "cargo_amount": "10", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "20", + "ship_subtitle": "0", + "briefing_desc": "5237", + "quick_briefing_desc": "6237", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9238", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "((b17 & b221) & (b812 & (b850 & !b851))) & !(b237 | b819)", + "on_accept": "", + "on_refuse": "", + "on_success": "b237", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 909: { + "resource_type": "misn", + "id": "909", + "name": "Eamon Boarding misn", + "available_stellar": "-1", + "available_location": "2", + "available_record": "0", + "available_rating": "0", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "0", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "144", + "completion_reward": "-200", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "b801", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "K152 L138", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0005", + "flags_2": "0x0002", + "end_of_resource": "EOR" + }, + 910: { + "resource_type": "misn", + "id": "910", + "name": "Destroy Bureau Cell;Aur, Vell, Pol, Reb Blow-stuff-up", + "available_stellar": "10001", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "25", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "10", + "ship_system": "-6", + "ship_dude": "273", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25006", + "briefing_desc": "0", + "quick_briefing_desc": "6616", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b613", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25072 A910", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "Go after them", + "refuse_button": "Let it go", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 911: { + "resource_type": "misn", + "id": "911", + "name": "Destroy Bureau Cell;Aur, Vell, Pol, Reb Blow-stuff-up", + "available_stellar": "10003", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "25", + "travel_stellar": "-1", + "return_stellar": "-1", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "10", + "ship_system": "-6", + "ship_dude": "273", + "ship_goal": "0", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "25006", + "briefing_desc": "0", + "quick_briefing_desc": "6616", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "b613", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25072 A911", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "Go after them", + "refuse_button": "Let it go", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0000", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 912: { + "resource_type": "misn", + "id": "912", + "name": "Rescue Dr Ralph's Family; Pirate Offshoot 004bii", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "157", + "cargo_type": "6", + "cargo_amount": "1", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x8000", + "pay_value": "0", + "ship_count": "8", + "ship_system": "-6", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "6445", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "8445", + "completion_desc": "9445", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "374", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "b445", + "on_failure": "b445", + "on_abort": "b445", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x0804", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 913: { + "resource_type": "misn", + "id": "913", + "name": "Silent Mission;Return to New England", + "available_stellar": "-1", + "available_location": "0", + "available_record": "0", + "available_rating": "0", + "available_random": "0", + "travel_stellar": "-1", + "return_stellar": "138", + "cargo_type": "-1", + "cargo_amount": "0", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "0", + "ship_system": "-1", + "ship_dude": "0", + "ship_goal": "-1", + "ship_behavior": "-1", + "ship_name": "0", + "ship_start": "0", + "completion_government": "-1", + "completion_reward": "0", + "ship_subtitle": "0", + "briefing_desc": "0", + "quick_briefing_desc": "0", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "0", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "", + "on_accept": "", + "on_refuse": "", + "on_success": "", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x0404", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 914: { + "resource_type": "misn", + "id": "914", + "name": "Scout Aurora;Rebel I12 if b2 is set", + "available_stellar": "421", + "available_location": "1", + "available_record": "0", + "available_rating": "0", + "available_random": "75", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "21", + "cargo_amount": "5", + "cargo_pickup_mode": "0", + "cargo_dropoff_mode": "1", + "scan_mask": "0x0000", + "pay_value": "75000", + "ship_count": "2", + "ship_system": "315", + "ship_dude": "131", + "ship_goal": "4", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "-1", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5124", + "quick_briefing_desc": "6136", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9141", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "151", + "aux_ship_syst": "133", + "available_ship_type": "127", + "available_bits": "(P0 & (b136 & b2)) & !b137", + "on_accept": "", + "on_refuse": "", + "on_success": "b137", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25058", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1200", + "flags_2": "0x0001", + "end_of_resource": "EOR" + }, + 915: { + "resource_type": "misn", + "id": "915", + "name": "Scout Aurora;Rebel II9 if b2 is set", + "available_stellar": "421", + "available_location": "3", + "available_record": "0", + "available_rating": "0", + "available_random": "50", + "travel_stellar": "-1", + "return_stellar": "421", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "50000", + "ship_count": "2", + "ship_system": "315", + "ship_dude": "131", + "ship_goal": "4", + "ship_behavior": "0", + "ship_name": "-1", + "ship_start": "0", + "completion_government": "141", + "completion_reward": "5", + "ship_subtitle": "-1", + "briefing_desc": "5124", + "quick_briefing_desc": "6136", + "load_cargo_desc": "-1", + "dropoff_cargo_desc": "-1", + "completion_desc": "9198", + "failing_desc": "-1", + "ship_done_desc": "-1", + "refusing_desc": "-1", + "time_limit": "-1", + "aux_ship_count": "5", + "aux_ship_dude": "151", + "aux_ship_syst": "133", + "available_ship_type": "127", + "available_bits": "(b198 & b2) & !(b197 | b6666)", + "on_accept": "", + "on_refuse": "", + "on_success": "b197", + "on_failure": "", + "on_abort": "", + "on_ship_done": "Q25058", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "1", + "flags_1": "0x1200", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 916: { + "resource_type": "misn", + "id": "916", + "name": "Meet With Eamon Flannigan;Auroran 027 - if done Wild Geese", + "available_stellar": "439", + "available_location": "3", + "available_record": "0", + "available_rating": "12500", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "506", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "145", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "129", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5238", + "quick_briefing_desc": "6234", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9239", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "((P0 & b850) & (b233 & b800)) & !(b234 | b851)", + "on_accept": "", + "on_refuse": "", + "on_success": "b234 S790", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 917: { + "resource_type": "misn", + "id": "917", + "name": "Meet With Eamon Flannigan;Auroran 027 - if done Wild Geese", + "available_stellar": "439", + "available_location": "3", + "available_record": "0", + "available_rating": "12500", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "508", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "145", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "129", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5238", + "quick_briefing_desc": "6234", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9235", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "((P0 & b852) & (b233 & b800)) & !b234", + "on_accept": "", + "on_refuse": "", + "on_success": "b234 S790", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + }, + 918: { + "resource_type": "misn", + "id": "918", + "name": "Meet With Eamon Flannigan;Auroran 027 - if done Wild Geese", + "available_stellar": "439", + "available_location": "3", + "available_record": "0", + "available_rating": "12500", + "available_random": "100", + "travel_stellar": "-1", + "return_stellar": "139", + "cargo_type": "-1", + "cargo_amount": "-1", + "cargo_pickup_mode": "-1", + "cargo_dropoff_mode": "-1", + "scan_mask": "0x0000", + "pay_value": "0", + "ship_count": "6", + "ship_system": "145", + "ship_dude": "130", + "ship_goal": "-1", + "ship_behavior": "0", + "ship_name": "0", + "ship_start": "0", + "completion_government": "129", + "completion_reward": "1", + "ship_subtitle": "0", + "briefing_desc": "5234", + "quick_briefing_desc": "6234", + "load_cargo_desc": "0", + "dropoff_cargo_desc": "0", + "completion_desc": "9235", + "failing_desc": "0", + "ship_done_desc": "0", + "refusing_desc": "0", + "time_limit": "-1", + "aux_ship_count": "0", + "aux_ship_dude": "0", + "aux_ship_syst": "-1", + "available_ship_type": "127", + "available_bits": "(P0 & (b233 & b818)) & !b234", + "on_accept": "", + "on_refuse": "", + "on_success": "b234 S790", + "on_failure": "", + "on_abort": "", + "on_ship_done": "", + "require_bits": "0x0000000000000000", + "date_increment": "0", + "accept_button": "", + "refuse_button": "", + "display_weight": "0", + "can_abort": "0", + "flags_1": "0x1004", + "flags_2": "0x0000", + "end_of_resource": "EOR" + } +} \ No newline at end of file diff --git a/worlds/evn/rezdata/ships.py b/worlds/evn/rezdata/ships.py new file mode 100644 index 000000000000..639129537b55 --- /dev/null +++ b/worlds/evn/rezdata/ships.py @@ -0,0 +1,28142 @@ +# This file is auto generated by a custom script. +# With how EVN plugins work, we essentially have to reconstruct any objects we want to modify. +# This file contains a table of character data used in EV Nova. +# Search and replace regex: (\})\r?\n?\},\r?\n?\{(\r?\n?\s+)"([\d]*)"(:) -> $1,$2$3$4 + +from typing import Dict, TypedDict, List, Set + +ship_columns = { + "resource_type": "Resource Type", + "id": "ID", + "name": "Name", + "cargo": "Cargo", + "shields": "Shields", + "shield_recharge": "Shield Recharge", + "armor": "Armor", + "armor_recharge": "Armor Recharge", + "acceleration": "Acceleration", + "max_speed": "Max Speed", + "turning": "Turning", + "fuel": "Fuel", + "free_mass": "Free Mass", + "max_guns": "Max Guns", + "max_turrets": "Max Turrets", + "tech_level": "Tech Level", + "cost": "Cost", + "death_delay": "Death Delay", + "explosion_1": "Explosion 1", + "explosion_2": "Explosion 2", + "display_weight": "Display Weight", + "mass": "Mass", + "length": "Length", + "crew": "Crew", + "strength": "Strength", + "government": "Government", + "escape_pod_count": "Escape Pod Count", + "fuel_regeneration": "Fuel Regeneration", + "skill_variation": "Skill Variation", + "availability": "Availability", + "appear_on": "Appear On", + "on_purchase": "On Purchase", + "deionize": "Deionize", + "max_ionization": "Max Ionization", + "key_carried": "Key Carried", + "contribute_bits": "Contribute Bits", + "require_bits": "Require Bits", + "buy_random": "Buy Random", + "hire_random": "Hire Random", + "on_capture": "On Capture", + "on_retire": "On Retire", + "subtitle": "Subtitle", + "short_name": "Short Name", + "communication_name": "Communication Name", + "long_name": "Long Name", + "movie_file": "Movie File", + "escort_ai": "Escort AI", + "escort_upgrade_to": "Escort Upgrade To", + "escort_upgrade_cost": "Escort Upgrade Cost", + "escort_sell_value": "Escort Sell Value", + "escort_type": "Escort Type", + "weapon_1": "Weapon 1", + "weapon_2": "Weapon 2", + "weapon_3": "Weapon 3", + "weapon_4": "Weapon 4", + "weapon_5": "Weapon 5", + "weapon_6": "Weapon 6", + "weapon_7": "Weapon 7", + "weapon_8": "Weapon 8", + "weapon_1_count": "Weapon 1 Count", + "weapon_2_count": "Weapon 2 Count", + "weapon_3_count": "Weapon 3 Count", + "weapon_4_count": "Weapon 4 Count", + "weapon_5_count": "Weapon 5 Count", + "weapon_6_count": "Weapon 6 Count", + "weapon_7_count": "Weapon 7 Count", + "weapon_8_count": "Weapon 8 Count", + "weapon_1_ammo": "Weapon 1 Ammo", + "weapon_2_ammo": "Weapon 2 Ammo", + "weapon_3_ammo": "Weapon 3 Ammo", + "weapon_4_ammo": "Weapon 4 Ammo", + "weapon_5_ammo": "Weapon 5 Ammo", + "weapon_6_ammo": "Weapon 6 Ammo", + "weapon_7_ammo": "Weapon 7 Ammo", + "weapon_8_ammo": "Weapon 8 Ammo", + "outfit_1": "Outfit 1", + "outfit_2": "Outfit 2", + "outfit_3": "Outfit 3", + "outfit_4": "Outfit 4", + "outfit_5": "Outfit 5", + "outfit_6": "Outfit 6", + "outfit_7": "Outfit 7", + "outfit_8": "Outfit 8", + "outfit_1_count": "Outfit 1 Count", + "outfit_2_count": "Outfit 2 Count", + "outfit_3_count": "Outfit 3 Count", + "outfit_4_count": "Outfit 4 Count", + "outfit_5_count": "Outfit 5 Count", + "outfit_6_count": "Outfit 6 Count", + "outfit_7_count": "Outfit 7 Count", + "outfit_8_count": "Outfit 8 Count", + "flags_1": "Flags 1", + "flags_2": "Flags 2", + "flags_3": "Flags 3", + "end_of_resource": "End-of-resource" +} + + +class ShipDict(TypedDict, total=False): + resource_type: str + id: int + name: str + cargo: int + shields: int + shield_recharge: int + armor: int + armor_recharge: int + acceleration: int + max_speed: int + turning: int + fuel: int + free_mass: int + max_guns: int + max_turrets: int + tech_level: int + cost: int + death_delay: int + explosion_1: int + explosion_2: int + display_weight: int + mass: int + length: int + crew: int + strength: int + government: int + escape_pod_count: int + fuel_regeneration: int + skill_variation: int + availability: str + appear_on: str + on_purchase: str + deionize: int + max_ionization: int + key_carried: int + contribute_bits: int + require_bits: int + buy_random: int + hire_random: int + on_capture: str + on_retire: str + subtitle: str + short_name: str + communication_name: str + long_name: str + movie_file: str + escort_ai: int + escort_upgrade_to: int + escort_upgrade_cost: int + escort_sell_value: int + escort_type: int + weapon_1: int + weapon_2: int + weapon_3: int + weapon_4: int + weapon_5: int + weapon_6: int + weapon_7: int + weapon_8: int + weapon_1_count: int + weapon_2_count: int + weapon_3_count: int + weapon_4_count: int + weapon_5_count: int + weapon_6_count: int + weapon_7_count: int + weapon_8_count: int + weapon_1_ammo: int + weapon_2_ammo: int + weapon_3_ammo: int + weapon_4_ammo: int + weapon_5_ammo: int + weapon_6_ammo: int + weapon_7_ammo: int + weapon_8_ammo: int + outfit_1: int + outfit_2: int + outfit_3: int + outfit_4: int + outfit_5: int + outfit_6: int + outfit_7: int + outfit_8: int + outfit_1_count: int + outfit_2_count: int + outfit_3_count: int + outfit_4_count: int + outfit_5_count: int + outfit_6_count: int + outfit_7_count: int + outfit_8_count: int + flags_1: int + flags_2: int + flags_3: int + end_of_resource: str + + +ship_table: Dict[int, ShipDict] = { + 128: { + "resource_type": "ship", + "id": "128", + "name": "Shuttle", + "cargo": "10", + "shields": "30", + "shield_recharge": "10", + "armor": "30", + "armor_recharge": "0", + "acceleration": "500", + "max_speed": "400", + "turning": "40", + "fuel": "300", + "free_mass": "8", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "3", + "cost": "10000", + "death_delay": "25", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "200", + "mass": "15", + "length": "8", + "crew": "1", + "strength": "2", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "1", + "max_ionization": "5", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "35", + "hire_random": "40", + "on_capture": "", + "on_retire": "", + "subtitle": "Version A", + "short_name": "Shuttle", + "communication_name": "Shuttle", + "long_name": "Sigma Shipyards Alpha class Shuttle", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "188", + "escort_upgrade_cost": "5000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "128", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0088", + "flags_3": "0x0300", + "end_of_resource": "EOR" + }, + 129: { + "resource_type": "ship", + "id": "129", + "name": "Heavy Shuttle", + "cargo": "15", + "shields": "45", + "shield_recharge": "10", + "armor": "45", + "armor_recharge": "0", + "acceleration": "485", + "max_speed": "390", + "turning": "39", + "fuel": "400", + "free_mass": "12", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "4", + "cost": "17500", + "death_delay": "25", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "199", + "mass": "25", + "length": "12", + "crew": "2", + "strength": "3", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "2", + "max_ionization": "7", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "35", + "hire_random": "40", + "on_capture": "", + "on_retire": "", + "subtitle": "Version A", + "short_name": "Heavy Shuttle", + "communication_name": "Heavy Shuttle", + "long_name": "Sigma Shipyards Epsilon Class Heavy Shuttle", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "189", + "escort_upgrade_cost": "10000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "128", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0088", + "flags_3": "0x0300", + "end_of_resource": "EOR" + }, + 130: { + "resource_type": "ship", + "id": "130", + "name": "Cargo Drone", + "cargo": "10", + "shields": "20", + "shield_recharge": "2", + "armor": "20", + "armor_recharge": "0", + "acceleration": "200", + "max_speed": "400", + "turning": "20", + "fuel": "200", + "free_mass": "0", + "max_guns": "0", + "max_turrets": "0", + "tech_level": "4", + "cost": "2000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "198", + "mass": "10", + "length": "4", + "crew": "0", + "strength": "1", + "government": "184", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "1", + "max_ionization": "3", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "95", + "on_capture": "", + "on_retire": "", + "subtitle": "", + "short_name": "Cargo Drone", + "communication_name": "Cargo Drone", + "long_name": "Cargo Drone", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "-1", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "0", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0124", + "flags_2": "0x0099", + "flags_3": "0x0300", + "end_of_resource": "EOR" + }, + 131: { + "resource_type": "ship", + "id": "131", + "name": "Leviathan", + "cargo": "4000", + "shields": "450", + "shield_recharge": "7", + "armor": "150", + "armor_recharge": "0", + "acceleration": "50", + "max_speed": "100", + "turning": "10", + "fuel": "800", + "free_mass": "20", + "max_guns": "8", + "max_turrets": "8", + "tech_level": "20", + "cost": "12000000", + "death_delay": "250", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "180", + "mass": "10000", + "length": "500", + "crew": "20", + "strength": "100", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "(b33 & P30) & !(b424 | b46)", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000011", + "require_bits": "0x0000004000000000", + "buy_random": "45", + "hire_random": "35", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "31d Model", + "short_name": "Leviathan", + "communication_name": "Leviathan", + "long_name": "Old Earth Model Leviathan Transport", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "190", + "escort_upgrade_cost": "1000000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "-1", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "0", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0100", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 132: { + "resource_type": "ship", + "id": "132", + "name": "Pegasus", + "cargo": "1000", + "shields": "400", + "shield_recharge": "22", + "armor": "110", + "armor_recharge": "0", + "acceleration": "150", + "max_speed": "150", + "turning": "25", + "fuel": "700", + "free_mass": "15", + "max_guns": "1", + "max_turrets": "1", + "tech_level": "20", + "cost": "2000000", + "death_delay": "175", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "181", + "mass": "2000", + "length": "100", + "crew": "10", + "strength": "75", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "b33 & !(b424 | b46)", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "20", + "max_ionization": "175", + "key_carried": "0", + "contribute_bits": "0x0000000000000021", + "require_bits": "0x0000004000000000", + "buy_random": "30", + "hire_random": "20", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "12b Model", + "short_name": "Pegasus", + "communication_name": "Pegasus", + "long_name": "Sigma Shipyards Beta Model Pegasus Transport", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "194", + "escort_upgrade_cost": "350000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "131", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 133: { + "resource_type": "ship", + "id": "133", + "name": "Starbridge", + "cargo": "30", + "shields": "430", + "shield_recharge": "64", + "armor": "135", + "armor_recharge": "0", + "acceleration": "550", + "max_speed": "400", + "turning": "50", + "fuel": "500", + "free_mass": "40", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "5", + "cost": "600000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "189", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "250", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "!b424 & P30", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000080000001", + "require_bits": "0x0000000B00000000", + "buy_random": "50", + "hire_random": "30", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class A", + "short_name": "Starbridge", + "communication_name": "Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "195", + "escort_upgrade_cost": "40000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "239", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 134: { + "resource_type": "ship", + "id": "134", + "name": "Star Liner", + "cargo": "120", + "shields": "650", + "shield_recharge": "75", + "armor": "150", + "armor_recharge": "0", + "acceleration": "350", + "max_speed": "200", + "turning": "35", + "fuel": "1200", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "20", + "cost": "500000", + "death_delay": "100", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "183", + "mass": "150", + "length": "30", + "crew": "300", + "strength": "40", + "government": "-1", + "escape_pod_count": "10", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "b33 & !(b424 | b46)", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "100", + "key_carried": "0", + "contribute_bits": "0x0000000000000041", + "require_bits": "0x0000004000000000", + "buy_random": "80", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "8e Model", + "short_name": "Star Liner", + "communication_name": "Star Liner", + "long_name": "Sigma Shipyards Echo Class Star Liner", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "201", + "escort_upgrade_cost": "45000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "129", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0122", + "flags_2": "0x0081", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 135: { + "resource_type": "ship", + "id": "135", + "name": "Lightning", + "cargo": "20", + "shields": "90", + "shield_recharge": "10", + "armor": "50", + "armor_recharge": "0", + "acceleration": "675", + "max_speed": "500", + "turning": "55", + "fuel": "400", + "free_mass": "20", + "max_guns": "6", + "max_turrets": "0", + "tech_level": "5", + "cost": "250000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "193", + "mass": "20", + "length": "10", + "crew": "3", + "strength": "25", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "!b424", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "60", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000200000000", + "buy_random": "90", + "hire_random": "60", + "on_capture": "", + "on_retire": "", + "subtitle": "Civilian Heavy Fighter", + "short_name": "Lightning", + "communication_name": "Lightning", + "long_name": "Rautherion Lightning Heavy Fighter", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "191", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "231", + "weapon_2": "134", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "5", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0122", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 136: { + "resource_type": "ship", + "id": "136", + "name": "Terrapin", + "cargo": "125", + "shields": "225", + "shield_recharge": "15", + "armor": "75", + "armor_recharge": "0", + "acceleration": "250", + "max_speed": "175", + "turning": "35", + "fuel": "400", + "free_mass": "15", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "4", + "cost": "150000", + "death_delay": "65", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "195", + "mass": "175", + "length": "25", + "crew": "4", + "strength": "20", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "8", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "60", + "on_capture": "", + "on_retire": "", + "subtitle": "Standard", + "short_name": "Terrapin", + "communication_name": "Terrapin", + "long_name": "Terrapin Light Freighter", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "203", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "129", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 137: { + "resource_type": "ship", + "id": "137", + "name": "Valkyrie", + "cargo": "20", + "shields": "400", + "shield_recharge": "20", + "armor": "120", + "armor_recharge": "0", + "acceleration": "500", + "max_speed": "450", + "turning": "40", + "fuel": "500", + "free_mass": "30", + "max_guns": "5", + "max_turrets": "1", + "tech_level": "5", + "cost": "350000", + "death_delay": "25", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "191", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "200", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "!b424", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "100", + "key_carried": "0", + "contribute_bits": "0x0000000040010001", + "require_bits": "0x0000000300000000", + "buy_random": "80", + "hire_random": "50", + "on_capture": "", + "on_retire": "", + "subtitle": "Class I", + "short_name": "Valkyrie", + "communication_name": "Valkyrie", + "long_name": "Porsche Valkyrie", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "280", + "escort_upgrade_cost": "35000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "128", + "weapon_3": "138", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "50", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0088", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 138: { + "resource_type": "ship", + "id": "138", + "name": "Argosy", + "cargo": "50", + "shields": "225", + "shield_recharge": "20", + "armor": "300", + "armor_recharge": "0", + "acceleration": "350", + "max_speed": "250", + "turning": "35", + "fuel": "500", + "free_mass": "30", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "88", + "cost": "200000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "187", + "mass": "150", + "length": "30", + "crew": "10", + "strength": "200", + "government": "158", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "!b424", + "appear_on": "", + "on_purchase": "", + "deionize": "15", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "80", + "hire_random": "50", + "on_capture": "", + "on_retire": "", + "subtitle": "", + "short_name": "Argosy", + "communication_name": "Argosy", + "long_name": "Heraan Researched Argosy", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "204", + "escort_upgrade_cost": "20000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "155", + "weapon_2": "134", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "100", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0088", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 139: { + "resource_type": "ship", + "id": "139", + "name": "Enterprise", + "cargo": "250", + "shields": "300", + "shield_recharge": "20", + "armor": "600", + "armor_recharge": "0", + "acceleration": "200", + "max_speed": "200", + "turning": "25", + "fuel": "500", + "free_mass": "50", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "17", + "cost": "450000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "185", + "mass": "255", + "length": "55", + "crew": "35", + "strength": "300", + "government": "158", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "!b424 & P30", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "95", + "hire_random": "80", + "on_capture": "", + "on_retire": "", + "subtitle": "", + "short_name": "Enterprise", + "communication_name": "Enterprise", + "long_name": "Auroran Industries Enterprise", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "208", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "144", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 140: { + "resource_type": "ship", + "id": "140", + "name": "IDA Frigate", + "cargo": "250", + "shields": "525", + "shield_recharge": "11", + "armor": "750", + "armor_recharge": "0", + "acceleration": "275", + "max_speed": "200", + "turning": "30", + "fuel": "200", + "free_mass": "50", + "max_guns": "4", + "max_turrets": "4", + "tech_level": "5", + "cost": "750000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "178", + "mass": "650", + "length": "180", + "crew": "100", + "strength": "300", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "!b424 & P30", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x000000C300000000", + "buy_random": "80", + "hire_random": "50", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "350 NC", + "short_name": "IDA Frigate", + "communication_name": "IDA Frigate", + "long_name": "Old Earth IDA Frigate", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "282", + "escort_upgrade_cost": "100000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "131", + "weapon_2": "139", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "100", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 141: { + "resource_type": "ship", + "id": "141", + "name": "Fed Destroyer", + "cargo": "50", + "shields": "800", + "shield_recharge": "40", + "armor": "750", + "armor_recharge": "0", + "acceleration": "260", + "max_speed": "190", + "turning": "30", + "fuel": "300", + "free_mass": "50", + "max_guns": "4", + "max_turrets": "4", + "tech_level": "14", + "cost": "2000000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "175", + "mass": "800", + "length": "150", + "crew": "50", + "strength": "325", + "government": "128", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "b78 & P30", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "175", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x000000CB00000000", + "buy_random": "80", + "hire_random": "20", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Destroyer Class", + "short_name": "Fed Destroyer", + "communication_name": "Fed Destroyer", + "long_name": "Federation E-41 Destroyer", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "212", + "escort_upgrade_cost": "750000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "131", + "weapon_2": "134", + "weapon_3": "128", + "weapon_4": "133", + "weapon_5": "129", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "80", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "238", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4130", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 142: { + "resource_type": "ship", + "id": "142", + "name": "Fed Patrol Boat", + "cargo": "25", + "shields": "350", + "shield_recharge": "40", + "armor": "300", + "armor_recharge": "0", + "acceleration": "600", + "max_speed": "400", + "turning": "55", + "fuel": "600", + "free_mass": "60", + "max_guns": "5", + "max_turrets": "2", + "tech_level": "14", + "cost": "500000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "173", + "mass": "95", + "length": "35", + "crew": "10", + "strength": "250", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "b68", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "8", + "max_ionization": "90", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000200000000", + "buy_random": "95", + "hire_random": "25", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Gunboat Class", + "short_name": "Fed Patrol\\\\nBoat", + "communication_name": "Fed Patrol Boat", + "long_name": "Federation G-32 Patrol Boat", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "217", + "escort_upgrade_cost": "70000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "138", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "5", + "weapon_2_count": "4", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "60", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "197", + "outfit_2": "240", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x008A", + "flags_3": "0x0300", + "end_of_resource": "EOR" + }, + 143: { + "resource_type": "ship", + "id": "143", + "name": "Fed Carrier", + "cargo": "100", + "shields": "1400", + "shield_recharge": "50", + "armor": "1000", + "armor_recharge": "0", + "acceleration": "150", + "max_speed": "130", + "turning": "20", + "fuel": "500", + "free_mass": "150", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "14", + "cost": "12000000", + "death_delay": "150", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "176", + "mass": "2000", + "length": "500", + "crew": "200", + "strength": "500", + "government": "128", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "b80 & P30", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x000000CF00000000", + "buy_random": "60", + "hire_random": "15", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Flagship Class", + "short_name": "Fed Carrier", + "communication_name": "Fed Carrier", + "long_name": "E-60 Federation Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "220", + "escort_upgrade_cost": "3000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "132", + "weapon_2": "135", + "weapon_3": "149", + "weapon_4": "150", + "weapon_5": "133", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "90", + "weapon_3_ammo": "4", + "weapon_4_ammo": "2", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "178", + "outfit_2": "197", + "outfit_3": "240", + "outfit_4": "241", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4120", + "flags_2": "0x0082", + "flags_3": "0x0140", + "end_of_resource": "EOR" + }, + 144: { + "resource_type": "ship", + "id": "144", + "name": "Fed Viper", + "cargo": "5", + "shields": "60", + "shield_recharge": "20", + "armor": "30", + "armor_recharge": "0", + "acceleration": "850", + "max_speed": "525", + "turning": "80", + "fuel": "300", + "free_mass": "10", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "14", + "cost": "100000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "170", + "mass": "10", + "length": "7", + "crew": "1", + "strength": "60", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "b68", + "appear_on": "", + "on_purchase": "", + "deionize": "7", + "max_ionization": "40", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "95", + "hire_random": "35", + "on_capture": "", + "on_retire": "", + "subtitle": "Fighter Class", + "short_name": "Fed Viper", + "communication_name": "Fed Viper", + "long_name": "Federation F-23 Viper", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "223", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "128", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 145: { + "resource_type": "ship", + "id": "145", + "name": "Fed Anaconda", + "cargo": "10", + "shields": "90", + "shield_recharge": "25", + "armor": "45", + "armor_recharge": "0", + "acceleration": "650", + "max_speed": "450", + "turning": "70", + "fuel": "300", + "free_mass": "15", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "14", + "cost": "150000", + "death_delay": "12", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "171", + "mass": "15", + "length": "9", + "crew": "1", + "strength": "75", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "b68", + "appear_on": "", + "on_purchase": "", + "deionize": "8", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000200000000", + "buy_random": "95", + "hire_random": "30", + "on_capture": "", + "on_retire": "", + "subtitle": "Heavy Fighter Class", + "short_name": "Fed Anaconda", + "communication_name": "Fed Anaconda", + "long_name": "Federation F-29 Anaconda", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "225", + "escort_upgrade_cost": "70000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "128", + "weapon_2": "134", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "6", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 146: { + "resource_type": "ship", + "id": "146", + "name": "Manticore", + "cargo": "500", + "shields": "500", + "shield_recharge": "40", + "armor": "850", + "armor_recharge": "0", + "acceleration": "300", + "max_speed": "200", + "turning": "30", + "fuel": "700", + "free_mass": "40", + "max_guns": "8", + "max_turrets": "4", + "tech_level": "16", + "cost": "12000000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "168", + "mass": "1750", + "length": "100", + "crew": "120", + "strength": "425", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "!b424 & P30", + "appear_on": "!b334", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "225", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "50", + "hire_random": "30", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Original Version", + "short_name": "Manticore", + "communication_name": "Manticore", + "long_name": "Pirate Manticore", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "228", + "escort_upgrade_cost": "1500000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "142", + "weapon_2": "160", + "weapon_3": "134", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "8", + "weapon_2_count": "1", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "8", + "weapon_3_ammo": "20", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0110", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 147: { + "resource_type": "ship", + "id": "147", + "name": "Pirate Carrier", + "cargo": "75", + "shields": "725", + "shield_recharge": "8", + "armor": "825", + "armor_recharge": "0", + "acceleration": "275", + "max_speed": "200", + "turning": "30", + "fuel": "400", + "free_mass": "80", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "16", + "cost": "15000000", + "death_delay": "140", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "169", + "mass": "1850", + "length": "490", + "crew": "220", + "strength": "475", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "!b424 & P30", + "appear_on": "!b334", + "on_purchase": "b8888", + "deionize": "20", + "max_ionization": "240", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "40", + "hire_random": "25", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Standard", + "short_name": "Pirate Carr.", + "communication_name": "Pirate Carrier", + "long_name": "Greyshoulders Dockyards Pirate Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "285", + "escort_upgrade_cost": "750000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "133", + "weapon_2": "169", + "weapon_3": "160", + "weapon_4": "157", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "1", + "weapon_4_count": "4", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "4", + "weapon_3_ammo": "4", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 148: { + "resource_type": "ship", + "id": "148", + "name": "Pirate Starbridge", + "cargo": "20", + "shields": "440", + "shield_recharge": "59", + "armor": "140", + "armor_recharge": "0", + "acceleration": "560", + "max_speed": "410", + "turning": "50", + "fuel": "500", + "free_mass": "30", + "max_guns": "6", + "max_turrets": "1", + "tech_level": "16", + "cost": "725000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "165", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "275", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "!b424 & P30", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "35", + "max_ionization": "220", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "80", + "hire_random": "45", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class B", + "short_name": "Pir Starbridge", + "communication_name": "Pirate Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "231", + "escort_upgrade_cost": "60000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "128", + "weapon_3": "135", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "12", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 149: { + "resource_type": "ship", + "id": "149", + "name": "Pirate Valkyrie", + "cargo": "20", + "shields": "410", + "shield_recharge": "25", + "armor": "130", + "armor_recharge": "0", + "acceleration": "550", + "max_speed": "475", + "turning": "40", + "fuel": "500", + "free_mass": "25", + "max_guns": "6", + "max_turrets": "2", + "tech_level": "16", + "cost": "500000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "164", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "225", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "!b424", + "appear_on": "", + "on_purchase": "", + "deionize": "25", + "max_ionization": "125", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "60", + "on_capture": "", + "on_retire": "", + "subtitle": "Class II", + "short_name": "Pirate Valk.", + "communication_name": "Pirate Valkyrie", + "long_name": "Porsche Valkyrie (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "289", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "128", + "weapon_3": "138", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "80", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x008A", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 150: { + "resource_type": "ship", + "id": "150", + "name": "Pirate Argosy", + "cargo": "30", + "shields": "230", + "shield_recharge": "19", + "armor": "315", + "armor_recharge": "0", + "acceleration": "375", + "max_speed": "260", + "turning": "30", + "fuel": "500", + "free_mass": "25", + "max_guns": "5", + "max_turrets": "2", + "tech_level": "16", + "cost": "250000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "167", + "mass": "150", + "length": "30", + "crew": "10", + "strength": "225", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "!b424", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "235", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "60", + "hire_random": "35", + "on_capture": "", + "on_retire": "", + "subtitle": "Stolen Tech", + "short_name": "Pirate Argosy", + "communication_name": "Pirate Argosy", + "long_name": "Heraan Researched Argosy (Pirate Upgrades)", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "294", + "escort_upgrade_cost": "55000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "155", + "weapon_2": "128", + "weapon_3": "138", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "800", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "15", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x008A", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 151: { + "resource_type": "ship", + "id": "151", + "name": "Pirate Enterprise", + "cargo": "225", + "shields": "400", + "shield_recharge": "19", + "armor": "645", + "armor_recharge": "0", + "acceleration": "210", + "max_speed": "210", + "turning": "25", + "fuel": "500", + "free_mass": "40", + "max_guns": "4", + "max_turrets": "3", + "tech_level": "16", + "cost": "700000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "168", + "mass": "255", + "length": "55", + "crew": "35", + "strength": "325", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "!b424 & P30", + "appear_on": "", + "on_purchase": "", + "deionize": "25", + "max_ionization": "275", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "95", + "hire_random": "65", + "on_capture": "", + "on_retire": "", + "subtitle": "Stolen Tech", + "short_name": "Pir Enterprise", + "communication_name": "Pirate Enterprise", + "long_name": "Auroran Industries Enterprise (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "236", + "escort_upgrade_cost": "100000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "157", + "weapon_2": "144", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 152: { + "resource_type": "ship", + "id": "152", + "name": "Abomination", + "cargo": "20", + "shields": "185", + "shield_recharge": "6", + "armor": "400", + "armor_recharge": "0", + "acceleration": "430", + "max_speed": "320", + "turning": "40", + "fuel": "500", + "free_mass": "40", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "17", + "cost": "400000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "157", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "b206", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "95", + "hire_random": "15", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Frunch'ek Class", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Auroran Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "240", + "escort_upgrade_cost": "75000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "162", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x008A", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 153: { + "resource_type": "ship", + "id": "153", + "name": "Aurora Carrier", + "cargo": "50", + "shields": "400", + "shield_recharge": "10", + "armor": "1800", + "armor_recharge": "0", + "acceleration": "130", + "max_speed": "100", + "turning": "20", + "fuel": "400", + "free_mass": "200", + "max_guns": "4", + "max_turrets": "6", + "tech_level": "17", + "cost": "12000000", + "death_delay": "165", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "160", + "mass": "1750", + "length": "1200", + "crew": "250", + "strength": "475", + "government": "1129", + "escape_pod_count": "3", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "b224 & P30", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "80", + "hire_random": "10", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Ytrack Class", + "short_name": "Aur Carrier", + "communication_name": "Aur Carrier", + "long_name": "Auroran Industries Heavy Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "295", + "escort_upgrade_cost": "500000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "159", + "weapon_2": "161", + "weapon_3": "151", + "weapon_4": "152", + "weapon_5": "144", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "1000", + "weapon_3_ammo": "6", + "weapon_4_ammo": "3", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "241", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 154: { + "resource_type": "ship", + "id": "154", + "name": "Aurora Cruiser", + "cargo": "75", + "shields": "200", + "shield_recharge": "2", + "armor": "1650", + "armor_recharge": "0", + "acceleration": "250", + "max_speed": "200", + "turning": "25", + "fuel": "300", + "free_mass": "75", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "17", + "cost": "2000000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1200", + "length": "470", + "crew": "150", + "strength": "425", + "government": "1129", + "escape_pod_count": "5", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "b224 & P30", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "12", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Gjinchar Class", + "short_name": "Aur Cruiser", + "communication_name": "Aur Cruiser", + "long_name": "Auroran Industries Heavy Cruiser", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "249", + "escort_upgrade_cost": "200000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "158", + "weapon_2": "156", + "weapon_3": "161", + "weapon_4": "134", + "weapon_5": "162", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "4", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "1500", + "weapon_4_ammo": "40", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4131", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 155: { + "resource_type": "ship", + "id": "155", + "name": "Firebird", + "cargo": "5", + "shields": "25", + "shield_recharge": "6", + "armor": "75", + "armor_recharge": "0", + "acceleration": "800", + "max_speed": "500", + "turning": "80", + "fuel": "200", + "free_mass": "5", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "17", + "cost": "150000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "155", + "mass": "12", + "length": "8", + "crew": "1", + "strength": "55", + "government": "1129", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "b206", + "appear_on": "", + "on_purchase": "", + "deionize": "3", + "max_ionization": "55", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "95", + "hire_random": "20", + "on_capture": "", + "on_retire": "", + "subtitle": "Thamgiir Class", + "short_name": "Firebird", + "communication_name": "Firebird", + "long_name": "Auroran Industries Firebird", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "303", + "escort_upgrade_cost": "35000", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "155", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "50", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 156: { + "resource_type": "ship", + "id": "156", + "name": "Phoenix", + "cargo": "10", + "shields": "30", + "shield_recharge": "15", + "armor": "120", + "armor_recharge": "0", + "acceleration": "650", + "max_speed": "440", + "turning": "60", + "fuel": "300", + "free_mass": "10", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "17", + "cost": "150000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "156", + "mass": "13", + "length": "9", + "crew": "1", + "strength": "80", + "government": "1129", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "b206", + "appear_on": "", + "on_purchase": "", + "deionize": "4", + "max_ionization": "75", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "95", + "hire_random": "17", + "on_capture": "", + "on_retire": "", + "subtitle": "Va Thamgiir Class", + "short_name": "Phoenix", + "communication_name": "Phoenix", + "long_name": "Auroran Industries Phoenix", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "305", + "escort_upgrade_cost": "45000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "143", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 157: { + "resource_type": "ship", + "id": "157", + "name": "Thunderhead", + "cargo": "15", + "shields": "110", + "shield_recharge": "10", + "armor": "185", + "armor_recharge": "0", + "acceleration": "475", + "max_speed": "390", + "turning": "50", + "fuel": "300", + "free_mass": "15", + "max_guns": "5", + "max_turrets": "0", + "tech_level": "5", + "cost": "300000", + "death_delay": "15", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "15", + "length": "12", + "crew": "1", + "strength": "120", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "!b424", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000300000000", + "buy_random": "95", + "hire_random": "70", + "on_capture": "", + "on_retire": "", + "subtitle": "Gunboat Class", + "short_name": "Thunderhead", + "communication_name": "Thunderhead", + "long_name": "Civilian Thunderhead", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "307", + "escort_upgrade_cost": "20000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "166", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 158: { + "resource_type": "ship", + "id": "158", + "name": "Arachnid", + "cargo": "25", + "shields": "825", + "shield_recharge": "68", + "armor": "480", + "armor_recharge": "20", + "acceleration": "450", + "max_speed": "300", + "turning": "60", + "fuel": "1200", + "free_mass": "40", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "19", + "cost": "2000000", + "death_delay": "65", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "147", + "mass": "650", + "length": "165", + "crew": "10", + "strength": "600", + "government": "130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "(b298 & P30) & !(b1303 | b324)", + "appear_on": "!b1303", + "on_purchase": "b8888", + "deionize": "75", + "max_ionization": "450", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "95", + "hire_random": "7", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Arachnid", + "communication_name": "Arachnid", + "long_name": "Arachnid", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "311", + "escort_upgrade_cost": "1000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "148", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "15", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "177", + "outfit_2": "245", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0050", + "flags_2": "0x0081", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 159: { + "resource_type": "ship", + "id": "159", + "name": "Dragon", + "cargo": "50", + "shields": "450", + "shield_recharge": "20", + "armor": "225", + "armor_recharge": "10", + "acceleration": "450", + "max_speed": "325", + "turning": "50", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "19", + "cost": "1100000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "148", + "mass": "100", + "length": "50", + "crew": "10", + "strength": "375", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "(b217 | b316) & !(b1305 | b324)", + "appear_on": "!b1305", + "on_purchase": "b8888", + "deionize": "60", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "100", + "hire_random": "20", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Dragon", + "communication_name": "Dragon", + "long_name": "Dragon", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "313", + "escort_upgrade_cost": "175000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "145", + "weapon_2": "170", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "20", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0140", + "flags_2": "0x0081", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 160: { + "resource_type": "ship", + "id": "160", + "name": "Cambrian", + "cargo": "3500", + "shields": "675", + "shield_recharge": "45", + "armor": "75", + "armor_recharge": "5", + "acceleration": "200", + "max_speed": "250", + "turning": "20", + "fuel": "1200", + "free_mass": "0", + "max_guns": "1", + "max_turrets": "0", + "tech_level": "18", + "cost": "2500000", + "death_delay": "225", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "6000", + "length": "475", + "crew": "15", + "strength": "175", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "!(b424 | b324)", + "appear_on": "!b324", + "on_purchase": "b8888", + "deionize": "60", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "100", + "hire_random": "90", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Cambrian", + "communication_name": "Cambrian", + "long_name": "Cambrian", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "-1", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "0", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0000", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 161: { + "resource_type": "ship", + "id": "161", + "name": "Manta", + "cargo": "15", + "shields": "100", + "shield_recharge": "45", + "armor": "50", + "armor_recharge": "20", + "acceleration": "1075", + "max_speed": "590", + "turning": "100", + "fuel": "400", + "free_mass": "15", + "max_guns": "1", + "max_turrets": "0", + "tech_level": "19", + "cost": "250000", + "death_delay": "13", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "150", + "mass": "8", + "length": "10", + "crew": "1", + "strength": "250", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "(b279 | b316)", + "appear_on": "", + "on_purchase": "", + "deionize": "45", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "100", + "hire_random": "10", + "on_capture": "", + "on_retire": "", + "subtitle": "", + "short_name": "Manta", + "communication_name": "Manta", + "long_name": "Manta", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "315", + "escort_upgrade_cost": "100000", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "147", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8050", + "flags_2": "0x0081", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 162: { + "resource_type": "ship", + "id": "162", + "name": "Scarab", + "cargo": "100", + "shields": "940", + "shield_recharge": "39", + "armor": "565", + "armor_recharge": "20", + "acceleration": "410", + "max_speed": "250", + "turning": "50", + "fuel": "1000", + "free_mass": "60", + "max_guns": "4", + "max_turrets": "3", + "tech_level": "19", + "cost": "7000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "146", + "mass": "700", + "length": "200", + "crew": "20", + "strength": "900", + "government": "147", + "escape_pod_count": "0", + "fuel_regeneration": "10", + "skill_variation": "10", + "availability": "(b298 & P30) & !(b1302 | b323)", + "appear_on": "!b1302", + "on_purchase": "b8888", + "deionize": "90", + "max_ionization": "600", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "95", + "hire_random": "6", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Scarab", + "communication_name": "Scarab", + "long_name": "Scarab", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "316", + "escort_upgrade_cost": "2500000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "154", + "weapon_3": "148", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "4", + "weapon_3_ammo": "30", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "235", + "outfit_2": "245", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0058", + "flags_2": "0x0083", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 163: { + "resource_type": "ship", + "id": "163", + "name": "Striker", + "cargo": "20", + "shields": "600", + "shield_recharge": "60", + "armor": "300", + "armor_recharge": "8", + "acceleration": "600", + "max_speed": "330", + "turning": "70", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "19", + "cost": "1000000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "149", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "375", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "(b279 | b316) & !(b1304 | b324)", + "appear_on": "!b1304", + "on_purchase": "b8888", + "deionize": "60", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "100", + "hire_random": "9", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Striker", + "communication_name": "Striker", + "long_name": "Striker", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "317", + "escort_upgrade_cost": "400000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "147", + "weapon_2": "145", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0050", + "flags_2": "0x0083", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 164: { + "resource_type": "ship", + "id": "164", + "name": "Raven", + "cargo": "200", + "shields": "1800", + "shield_recharge": "40", + "armor": "900", + "armor_recharge": "20", + "acceleration": "350", + "max_speed": "225", + "turning": "40", + "fuel": "1500", + "free_mass": "100", + "max_guns": "7", + "max_turrets": "5", + "tech_level": "19", + "cost": "10000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "145", + "mass": "1200", + "length": "1200", + "crew": "30", + "strength": "1350", + "government": "147", + "escape_pod_count": "0", + "fuel_regeneration": "1", + "skill_variation": "0", + "availability": "(b305 & b1100) & (P30 & !(b1302 | b323))", + "appear_on": "b296 & !b1302", + "on_purchase": "b8888", + "deionize": "105", + "max_ionization": "800", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "80", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Raven", + "communication_name": "Raven", + "long_name": "Raven", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "310", + "escort_upgrade_cost": "5000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "182", + "weapon_3": "154", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "8", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "212", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x025C", + "flags_2": "0x00C3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 165: { + "resource_type": "ship", + "id": "165", + "name": "Mod Starbridge", + "cargo": "20", + "shields": "465", + "shield_recharge": "68", + "armor": "185", + "armor_recharge": "0", + "acceleration": "620", + "max_speed": "450", + "turning": "55", + "fuel": "700", + "free_mass": "30", + "max_guns": "6", + "max_turrets": "2", + "tech_level": "32", + "cost": "750000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "189", + "mass": "125", + "length": "20", + "crew": "2", + "strength": "280", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "!b424 & P30", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "40", + "max_ionization": "230", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000300000000", + "buy_random": "50", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class C", + "short_name": "Mod Starbridge", + "communication_name": "Mod Starbridge", + "long_name": "Light Capital Class S-25 Starbridge C", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "331", + "escort_upgrade_cost": "70000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "128", + "weapon_3": "135", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "20", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "239", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0134", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 166: { + "resource_type": "ship", + "id": "166", + "name": "Pirate Viper", + "cargo": "15", + "shields": "60", + "shield_recharge": "12", + "armor": "40", + "armor_recharge": "0", + "acceleration": "800", + "max_speed": "500", + "turning": "70", + "fuel": "300", + "free_mass": "5", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "16", + "cost": "110000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "163", + "mass": "10", + "length": "7", + "crew": "1", + "strength": "65", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "!b424", + "appear_on": "", + "on_purchase": "", + "deionize": "8", + "max_ionization": "44", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "95", + "hire_random": "65", + "on_capture": "", + "on_retire": "", + "subtitle": "Heavy Fighter Class", + "short_name": "Pirate Viper", + "communication_name": "Pirate Viper", + "long_name": "F-23 Viper (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "333", + "escort_upgrade_cost": "35000", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "128", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 167: { + "resource_type": "ship", + "id": "167", + "name": "Viper", + "cargo": "5", + "shields": "45", + "shield_recharge": "11", + "armor": "25", + "armor_recharge": "0", + "acceleration": "900", + "max_speed": "525", + "turning": "80", + "fuel": "200", + "free_mass": "10", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "4", + "cost": "80000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "197", + "mass": "10", + "length": "7", + "crew": "1", + "strength": "30", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "40", + "availability": "!b424", + "appear_on": "", + "on_purchase": "", + "deionize": "8", + "max_ionization": "35", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "100", + "hire_random": "95", + "on_capture": "", + "on_retire": "", + "subtitle": "Fighter Class", + "short_name": "Viper", + "communication_name": "Viper", + "long_name": "Comara Racing Viper", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "335", + "escort_upgrade_cost": "30000", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "128", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 168: { + "resource_type": "ship", + "id": "168", + "name": "Wraith (Adult)", + "cargo": "0", + "shields": "600", + "shield_recharge": "26", + "armor": "600", + "armor_recharge": "10", + "acceleration": "550", + "max_speed": "350", + "turning": "40", + "fuel": "1000", + "free_mass": "0", + "max_guns": "1", + "max_turrets": "0", + "tech_level": "31", + "cost": "1", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "100", + "length": "30", + "crew": "0", + "strength": "500", + "government": "1138", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "60", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "alien", + "short_name": "Wraith (Adult)", + "communication_name": "Wraith (Adult)", + "long_name": "Wraith Adult", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "165", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "266", + "outfit_2": "267", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0040", + "flags_2": "0x5F61", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 169: { + "resource_type": "ship", + "id": "169", + "name": "Wraith (Youth)", + "cargo": "0", + "shields": "300", + "shield_recharge": "20", + "armor": "300", + "armor_recharge": "8", + "acceleration": "575", + "max_speed": "375", + "turning": "60", + "fuel": "800", + "free_mass": "0", + "max_guns": "1", + "max_turrets": "0", + "tech_level": "31", + "cost": "1", + "death_delay": "8", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "50", + "length": "20", + "crew": "0", + "strength": "425", + "government": "1138", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "45", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "alien", + "short_name": "Wraith (Youth)", + "communication_name": "Wraith (Youth)", + "long_name": "Wraith (Youth)", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "167", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "266", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0040", + "flags_2": "0x5F41", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 170: { + "resource_type": "ship", + "id": "170", + "name": "Wraith (Child)", + "cargo": "0", + "shields": "150", + "shield_recharge": "20", + "armor": "150", + "armor_recharge": "8", + "acceleration": "675", + "max_speed": "450", + "turning": "80", + "fuel": "600", + "free_mass": "0", + "max_guns": "1", + "max_turrets": "0", + "tech_level": "31", + "cost": "1", + "death_delay": "3", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "25", + "length": "10", + "crew": "0", + "strength": "350", + "government": "1138", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "30", + "max_ionization": "100", + "key_carried": "0", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "alien", + "short_name": "Wraith (Child)", + "communication_name": "Wraith (Child)", + "long_name": "Wraith (Child)", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "168", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "61", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0040", + "flags_2": "0x0041", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 171: { + "resource_type": "ship", + "id": "171", + "name": "Hyperioid", + "cargo": "0", + "shields": "630", + "shield_recharge": "84", + "armor": "15", + "armor_recharge": "2", + "acceleration": "250", + "max_speed": "200", + "turning": "30", + "fuel": "0", + "free_mass": "0", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "31", + "cost": "1", + "death_delay": "15", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "10", + "length": "30", + "crew": "0", + "strength": "100", + "government": "1148", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "450", + "key_carried": "0", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "alien", + "short_name": "Hyperioid", + "communication_name": "Hyperioid", + "long_name": "Hyperioid", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "164", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0040", + "flags_2": "0x00C0", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 172: { + "resource_type": "ship", + "id": "172", + "name": "RAGE Gunboat", + "cargo": "20", + "shields": "500", + "shield_recharge": "12", + "armor": "400", + "armor_recharge": "2", + "acceleration": "575", + "max_speed": "425", + "turning": "45", + "fuel": "500", + "free_mass": "75", + "max_guns": "5", + "max_turrets": "2", + "tech_level": "14", + "cost": "2500000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "174", + "mass": "150", + "length": "23", + "crew": "4", + "strength": "450", + "government": "128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "(b340 | b3050) & !(b331 | b424)", + "appear_on": "(b340 | b1000) | (b341 & !b331)", + "on_purchase": "b8888", + "deionize": "35", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000300000000", + "buy_random": "90", + "hire_random": "25", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Corvette Class", + "short_name": "RAGE Gunboat", + "communication_name": "RAGE Gunboat", + "long_name": "Reactive Armour General Equipment Gunboat", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "143", + "weapon_2": "145", + "weapon_3": "137", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "5", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "197", + "outfit_2": "240", + "outfit_3": "241", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0032", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 173: { + "resource_type": "ship", + "id": "173", + "name": "Vell-os Dart", + "cargo": "5", + "shields": "150", + "shield_recharge": "125", + "armor": "8", + "armor_recharge": "1", + "acceleration": "1250", + "max_speed": "600", + "turning": "100", + "fuel": "500", + "free_mass": "10", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "1", + "cost": "0", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "140", + "mass": "6", + "length": "10", + "crew": "0", + "strength": "250", + "government": "136", + "escape_pod_count": "0", + "fuel_regeneration": "8", + "skill_variation": "10", + "availability": "b9999", + "appear_on": "", + "on_purchase": "", + "deionize": "50", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "", + "short_name": "Vell-os Dart", + "communication_name": "Vell-os Dart", + "long_name": "Vell-os Dart", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "171", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "252", + "outfit_2": "253", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x003C", + "flags_2": "0x0079", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 174: { + "resource_type": "ship", + "id": "174", + "name": "Vell-os Arrow", + "cargo": "60", + "shields": "990", + "shield_recharge": "70", + "armor": "30", + "armor_recharge": "4", + "acceleration": "650", + "max_speed": "425", + "turning": "60", + "fuel": "1500", + "free_mass": "20", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "1", + "cost": "0", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "138", + "mass": "60", + "length": "30", + "crew": "0", + "strength": "500", + "government": "136", + "escape_pod_count": "0", + "fuel_regeneration": "4", + "skill_variation": "5", + "availability": "b9999", + "appear_on": "", + "on_purchase": "", + "deionize": "60", + "max_ionization": "350", + "key_carried": "0", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "", + "short_name": "Vell-os Arrow", + "communication_name": "Vell-os Arrow", + "long_name": "Vell-os Arrow", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "172", + "weapon_2": "171", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "249", + "outfit_2": "252", + "outfit_3": "253", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x003C", + "flags_2": "0x0079", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 175: { + "resource_type": "ship", + "id": "175", + "name": "Vell-os Javelin", + "cargo": "100", + "shields": "1740", + "shield_recharge": "85", + "armor": "60", + "armor_recharge": "8", + "acceleration": "500", + "max_speed": "375", + "turning": "40", + "fuel": "2000", + "free_mass": "50", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "1", + "cost": "0", + "death_delay": "100", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "136", + "mass": "200", + "length": "100", + "crew": "0", + "strength": "750", + "government": "136", + "escape_pod_count": "0", + "fuel_regeneration": "2", + "skill_variation": "0", + "availability": "b9999", + "appear_on": "", + "on_purchase": "", + "deionize": "70", + "max_ionization": "500", + "key_carried": "0", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "", + "short_name": "Vell-os Jav", + "communication_name": "Vell-os Javelin", + "long_name": "Vell-os Javelin", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "173", + "weapon_2": "175", + "weapon_3": "172", + "weapon_4": "171", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "1", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "3", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "249", + "outfit_2": "252", + "outfit_3": "253", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x005C", + "flags_2": "0x0072", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 176: { + "resource_type": "ship", + "id": "176", + "name": "Krypt Pod", + "cargo": "0", + "shields": "1200", + "shield_recharge": "100", + "armor": "1200", + "armor_recharge": "100", + "acceleration": "1300", + "max_speed": "600", + "turning": "130", + "fuel": "1000", + "free_mass": "0", + "max_guns": "1", + "max_turrets": "0", + "tech_level": "31", + "cost": "1", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "60", + "length": "30", + "crew": "0", + "strength": "450", + "government": "140", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "500", + "max_ionization": "3000", + "key_carried": "0", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "alien", + "short_name": "Krypt Pod", + "communication_name": "Krypt Pod", + "long_name": "Krypt Pod", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "163", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0250", + "flags_2": "0x0043", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 177: { + "resource_type": "ship", + "id": "177", + "name": "Rebel Viper", + "cargo": "10", + "shields": "70", + "shield_recharge": "24", + "armor": "40", + "armor_recharge": "0", + "acceleration": "900", + "max_speed": "500", + "turning": "80", + "fuel": "400", + "free_mass": "10", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "15", + "cost": "120000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "124", + "mass": "10", + "length": "7", + "crew": "1", + "strength": "65", + "government": "1141", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "b130", + "appear_on": "!(b332 | b148)", + "on_purchase": "", + "deionize": "11", + "max_ionization": "44", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "95", + "hire_random": "80", + "on_capture": "", + "on_retire": "", + "subtitle": "Fighter Class", + "short_name": "Rebel Viper", + "communication_name": "Rebel Viper", + "long_name": "F-23 Viper (Rebel Variant)", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "338", + "escort_upgrade_cost": "35000", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "128", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 178: { + "resource_type": "ship", + "id": "178", + "name": "Rebel Starbridge", + "cargo": "20", + "shields": "445", + "shield_recharge": "59", + "armor": "145", + "armor_recharge": "0", + "acceleration": "580", + "max_speed": "420", + "turning": "55", + "fuel": "500", + "free_mass": "20", + "max_guns": "5", + "max_turrets": "2", + "tech_level": "15", + "cost": "650000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "128", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "275", + "government": "1141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "b130 & P30", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "40", + "max_ionization": "210", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "95", + "hire_random": "60", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class B", + "short_name": "Rebel\\\\nStarbridge", + "communication_name": "Rebel Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "340", + "escort_upgrade_cost": "40000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "136", + "weapon_3": "130", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "15", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "197", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 179: { + "resource_type": "ship", + "id": "179", + "name": "Rebel Valkyrie", + "cargo": "20", + "shields": "425", + "shield_recharge": "35", + "armor": "140", + "armor_recharge": "0", + "acceleration": "550", + "max_speed": "485", + "turning": "45", + "fuel": "500", + "free_mass": "30", + "max_guns": "6", + "max_turrets": "2", + "tech_level": "15", + "cost": "375000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "127", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "225", + "government": "1141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "b130", + "appear_on": "!(b332 | b148)", + "on_purchase": "", + "deionize": "30", + "max_ionization": "120", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "95", + "hire_random": "70", + "on_capture": "", + "on_retire": "", + "subtitle": "Class II", + "short_name": "Rebel Valkyrie", + "communication_name": "Rebel Valkyrie", + "long_name": "Porsche Valkyrie (Rebel Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "344", + "escort_upgrade_cost": "30000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "138", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "80", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "197", + "outfit_2": "246", + "outfit_3": "247", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 180: { + "resource_type": "ship", + "id": "180", + "name": "Rebel Dragon", + "cargo": "50", + "shields": "450", + "shield_recharge": "20", + "armor": "225", + "armor_recharge": "0", + "acceleration": "450", + "max_speed": "325", + "turning": "50", + "fuel": "1000", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "1", + "tech_level": "15", + "cost": "3000000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "130", + "mass": "100", + "length": "50", + "crew": "10", + "strength": "375", + "government": "141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "b134 & P30", + "appear_on": "!(b332 | b148) & (b179 | b128)", + "on_purchase": "b8888", + "deionize": "55", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "80", + "hire_random": "40", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heavy Destroyer Class", + "short_name": "Rebel Dragon", + "communication_name": "Rebel Dragon", + "long_name": "Rebel Dragon", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "347", + "escort_upgrade_cost": "1000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "219", + "weapon_2": "147", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "60", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "197", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x0081", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 181: { + "resource_type": "ship", + "id": "181", + "name": "Rebel Destroyer", + "cargo": "50", + "shields": "765", + "shield_recharge": "21", + "armor": "775", + "armor_recharge": "0", + "acceleration": "265", + "max_speed": "200", + "turning": "30", + "fuel": "300", + "free_mass": "75", + "max_guns": "6", + "max_turrets": "3", + "tech_level": "15", + "cost": "2000000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "129", + "mass": "800", + "length": "150", + "crew": "50", + "strength": "350", + "government": "141", + "escape_pod_count": "2", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "b134 & P30", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "35", + "max_ionization": "190", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "50", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Destroyer Class", + "short_name": "Rebel\\\\nDestroyer", + "communication_name": "Rebel Destroyer", + "long_name": "E-41 Destroyer (Rebel Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "348", + "escort_upgrade_cost": "500000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "133", + "weapon_2": "136", + "weapon_3": "129", + "weapon_4": "139", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "2", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "90", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4130", + "flags_2": "0x0083", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 182: { + "resource_type": "ship", + "id": "182", + "name": "Sprite", + "cargo": "500", + "shields": "300", + "shield_recharge": "25", + "armor": "40", + "armor_recharge": "0", + "acceleration": "300", + "max_speed": "300", + "turning": "20", + "fuel": "800", + "free_mass": "0", + "max_guns": "1", + "max_turrets": "0", + "tech_level": "18", + "cost": "500000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "143", + "mass": "1500", + "length": "100", + "crew": "5", + "strength": "100", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "!(b424 | b324)", + "appear_on": "!b324", + "on_purchase": "", + "deionize": "45", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "100", + "hire_random": "100", + "on_capture": "", + "on_retire": "", + "subtitle": "", + "short_name": "Sprite", + "communication_name": "Polaris Sprite", + "long_name": "Sprite", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "-1", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "0", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0000", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 183: { + "resource_type": "ship", + "id": "183", + "name": "Rebel Dragon", + "cargo": "50", + "shields": "450", + "shield_recharge": "20", + "armor": "225", + "armor_recharge": "0", + "acceleration": "450", + "max_speed": "325", + "turning": "50", + "fuel": "1000", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "1", + "tech_level": "15", + "cost": "3000000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "130", + "mass": "100", + "length": "50", + "crew": "10", + "strength": "375", + "government": "141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "b189 & P30", + "appear_on": "!(b332 | b148) & (b179 | b128)", + "on_purchase": "b8888", + "deionize": "55", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "80", + "hire_random": "40", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heavy Destroyer Class", + "short_name": "Rebel Dragon", + "communication_name": "Rebel Dragon", + "long_name": "Rebel Dragon", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "347", + "escort_upgrade_cost": "1000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "219", + "weapon_2": "147", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "60", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "197", + "outfit_2": "246", + "outfit_3": "247", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x0081", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 184: { + "resource_type": "ship", + "id": "184", + "name": "Rebel Destroyer", + "cargo": "50", + "shields": "765", + "shield_recharge": "21", + "armor": "775", + "armor_recharge": "0", + "acceleration": "265", + "max_speed": "200", + "turning": "30", + "fuel": "300", + "free_mass": "75", + "max_guns": "6", + "max_turrets": "3", + "tech_level": "15", + "cost": "2000000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "129", + "mass": "800", + "length": "150", + "crew": "50", + "strength": "350", + "government": "141", + "escape_pod_count": "2", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "b189 & P30", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "35", + "max_ionization": "190", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "50", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Destroyer Class", + "short_name": "Rebel\\\\nDestroyer", + "communication_name": "Rebel Destroyer", + "long_name": "E-41 Destroyer (Rebel Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "348", + "escort_upgrade_cost": "500000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "133", + "weapon_2": "136", + "weapon_3": "129", + "weapon_4": "139", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "2", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "90", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4130", + "flags_2": "0x0083", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 185: { + "resource_type": "ship", + "id": "185", + "name": "Wraith (Adult)", + "cargo": "0", + "shields": "675", + "shield_recharge": "36", + "armor": "675", + "armor_recharge": "20", + "acceleration": "440", + "max_speed": "340", + "turning": "30", + "fuel": "1000", + "free_mass": "0", + "max_guns": "1", + "max_turrets": "0", + "tech_level": "31", + "cost": "1", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "100", + "length": "30", + "crew": "0", + "strength": "425", + "government": "159", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "65", + "max_ionization": "350", + "key_carried": "0", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "alien", + "short_name": "Wraith (Adult)", + "communication_name": "Wraith (Adult)", + "long_name": "Wraith (Adult)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "165", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0050", + "flags_2": "0x5761", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 186: { + "resource_type": "ship", + "id": "186", + "name": "Zephyr", + "cargo": "50", + "shields": "185", + "shield_recharge": "32", + "armor": "750", + "armor_recharge": "40", + "acceleration": "500", + "max_speed": "400", + "turning": "60", + "fuel": "1200", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "18", + "cost": "9000000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "144", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "400", + "government": "1141", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "b279", + "appear_on": "b319 & !b1301", + "on_purchase": "b8888", + "deionize": "45", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Zephyr", + "communication_name": "Zephyr", + "long_name": "Zephyr", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "147", + "weapon_2": "145", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "177", + "outfit_3": "268", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0054", + "flags_2": "0x5282", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 187: { + "resource_type": "ship", + "id": "187", + "name": "Fed Scout Ship", + "cargo": "25", + "shields": "250", + "shield_recharge": "25", + "armor": "200", + "armor_recharge": "0", + "acceleration": "600", + "max_speed": "475", + "turning": "60", + "fuel": "1000", + "free_mass": "30", + "max_guns": "5", + "max_turrets": "1", + "tech_level": "14", + "cost": "400000", + "death_delay": "35", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "172", + "mass": "75", + "length": "20", + "crew": "4", + "strength": "180", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "4", + "availability": "b61", + "appear_on": "", + "on_purchase": "", + "deionize": "8", + "max_ionization": "70", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000200000000", + "buy_random": "95", + "hire_random": "50", + "on_capture": "", + "on_retire": "", + "subtitle": "Heavy Fighter Class", + "short_name": "Fed Scout Ship", + "communication_name": "Fed Scout Ship", + "long_name": "Sigma Shipyards H-28 Scout Ship", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "231", + "weapon_2": "138", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "20", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "197", + "outfit_2": "240", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x0088", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 188: { + "resource_type": "ship", + "id": "188", + "name": "Shuttle", + "cargo": "10", + "shields": "35", + "shield_recharge": "3", + "armor": "40", + "armor_recharge": "0", + "acceleration": "575", + "max_speed": "450", + "turning": "50", + "fuel": "100", + "free_mass": "0", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "3", + "cost": "15000", + "death_delay": "25", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "15", + "length": "8", + "crew": "1", + "strength": "2", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "2", + "max_ionization": "5", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Version B", + "short_name": "Shuttle", + "communication_name": "Shuttle", + "long_name": "Sigma Shipyards Alpha class Shuttle", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "128", + "weapon_2": "134", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "4", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0100", + "flags_2": "0x0088", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 189: { + "resource_type": "ship", + "id": "189", + "name": "Heavy Shuttle", + "cargo": "15", + "shields": "50", + "shield_recharge": "4", + "armor": "60", + "armor_recharge": "0", + "acceleration": "450", + "max_speed": "325", + "turning": "30", + "fuel": "200", + "free_mass": "15", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "4", + "cost": "27500", + "death_delay": "25", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "25", + "length": "12", + "crew": "2", + "strength": "3", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "3", + "max_ionization": "7", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Version B", + "short_name": "Heavy Shuttle", + "communication_name": "Heavy Shuttle", + "long_name": "Sigma Shipyards Epsilon Class Heavy Shuttle", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "-1", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "0", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0100", + "flags_2": "0x0088", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 190: { + "resource_type": "ship", + "id": "190", + "name": "Leviathan", + "cargo": "3600", + "shields": "750", + "shield_recharge": "7", + "armor": "300", + "armor_recharge": "0", + "acceleration": "75", + "max_speed": "100", + "turning": "10", + "fuel": "800", + "free_mass": "0", + "max_guns": "8", + "max_turrets": "8", + "tech_level": "20", + "cost": "13000000", + "death_delay": "250", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "10000", + "length": "500", + "crew": "20", + "strength": "100", + "government": "-1", + "escape_pod_count": "2", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000011", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Armed Variant", + "short_name": "Leviathan", + "communication_name": "Leviathan", + "long_name": "Old Earth Model Leviathan Transport", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "132", + "weapon_2": "158", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "3", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0100", + "flags_2": "0x0080", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 191: { + "resource_type": "ship", + "id": "191", + "name": "Lightning; Wild Geese", + "cargo": "15", + "shields": "150", + "shield_recharge": "25", + "armor": "100", + "armor_recharge": "0", + "acceleration": "750", + "max_speed": "525", + "turning": "65", + "fuel": "300", + "free_mass": "10", + "max_guns": "8", + "max_turrets": "0", + "tech_level": "100", + "cost": "350000", + "death_delay": "25", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "20", + "length": "10", + "crew": "3", + "strength": "70", + "government": "144", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "!b424", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "100", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "95", + "hire_random": "75", + "on_capture": "", + "on_retire": "", + "subtitle": "Wild Geese Variant", + "short_name": "Wild Geese\\\\nLightning", + "communication_name": "Wild Geese Lightning", + "long_name": "Wild Geese Lightning Heavy Fighter", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "231", + "weapon_2": "134", + "weapon_3": "166", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "5", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0134", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 192: { + "resource_type": "ship", + "id": "192", + "name": "Leviathan", + "cargo": "3600", + "shields": "600", + "shield_recharge": "7", + "armor": "225", + "armor_recharge": "0", + "acceleration": "75", + "max_speed": "150", + "turning": "10", + "fuel": "800", + "free_mass": "0", + "max_guns": "8", + "max_turrets": "8", + "tech_level": "20", + "cost": "12000000", + "death_delay": "250", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "10000", + "length": "500", + "crew": "20", + "strength": "100", + "government": "-1", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000011", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Upgraded Engines", + "short_name": "Leviathan", + "communication_name": "Leviathan", + "long_name": "United Earth New England shipyards DS-11 destroyer", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "132", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0100", + "flags_2": "0x0080", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 193: { + "resource_type": "ship", + "id": "193", + "name": "Pegasus", + "cargo": "950", + "shields": "490", + "shield_recharge": "22", + "armor": "170", + "armor_recharge": "0", + "acceleration": "85", + "max_speed": "110", + "turning": "20", + "fuel": "700", + "free_mass": "0", + "max_guns": "3", + "max_turrets": "3", + "tech_level": "20", + "cost": "2350000", + "death_delay": "175", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "2000", + "length": "100", + "crew": "10", + "strength": "75", + "government": "-1", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "20", + "max_ionization": "175", + "key_carried": "0", + "contribute_bits": "0x0000000000000021", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Advanced Shielding", + "short_name": "Pegasus", + "communication_name": "Pegasus", + "long_name": "Sigma Shipyards Beta Model Pegasus Transport", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "131", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0100", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 194: { + "resource_type": "ship", + "id": "194", + "name": "Pegasus", + "cargo": "950", + "shields": "375", + "shield_recharge": "22", + "armor": "90", + "armor_recharge": "0", + "acceleration": "200", + "max_speed": "175", + "turning": "30", + "fuel": "700", + "free_mass": "0", + "max_guns": "3", + "max_turrets": "3", + "tech_level": "20", + "cost": "2350000", + "death_delay": "175", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "2000", + "length": "100", + "crew": "10", + "strength": "75", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "20", + "max_ionization": "175", + "key_carried": "0", + "contribute_bits": "0x0000000000000021", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Upgraded Engines", + "short_name": "Pegasus", + "communication_name": "Pegasus", + "long_name": "Sigma Shipyards Beta Model Pegasus Transport", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "131", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0100", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 195: { + "resource_type": "ship", + "id": "195", + "name": "Starbridge", + "cargo": "30", + "shields": "450", + "shield_recharge": "64", + "armor": "100", + "armor_recharge": "0", + "acceleration": "525", + "max_speed": "425", + "turning": "50", + "fuel": "500", + "free_mass": "38", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "5", + "cost": "640000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "250", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class B", + "short_name": "Starbridge", + "communication_name": "Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "196", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "128", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "25", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "239", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0140", + "flags_2": "0x0088", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 196: { + "resource_type": "ship", + "id": "196", + "name": "Starbridge", + "cargo": "15", + "shields": "520", + "shield_recharge": "64", + "armor": "165", + "armor_recharge": "0", + "acceleration": "500", + "max_speed": "400", + "turning": "50", + "fuel": "500", + "free_mass": "0", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "5", + "cost": "700000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "250", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class C", + "short_name": "Starbridge", + "communication_name": "Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "197", + "escort_upgrade_cost": "65000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "231", + "weapon_2": "134", + "weapon_3": "131", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "3", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "18", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "239", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0140", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 197: { + "resource_type": "ship", + "id": "197", + "name": "Starbridge", + "cargo": "10", + "shields": "540", + "shield_recharge": "64", + "armor": "205", + "armor_recharge": "0", + "acceleration": "600", + "max_speed": "500", + "turning": "50", + "fuel": "500", + "free_mass": "0", + "max_guns": "6", + "max_turrets": "3", + "tech_level": "5", + "cost": "800000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "250", + "government": "-1", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class D", + "short_name": "Starbridge", + "communication_name": "Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "128", + "weapon_2": "136", + "weapon_3": "129", + "weapon_4": "131", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "3", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "8", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "239", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0140", + "flags_2": "0x008A", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 198: { + "resource_type": "ship", + "id": "198", + "name": "Starbridge", + "cargo": "15", + "shields": "365", + "shield_recharge": "64", + "armor": "100", + "armor_recharge": "0", + "acceleration": "600", + "max_speed": "475", + "turning": "59", + "fuel": "500", + "free_mass": "0", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "5", + "cost": "700000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "250", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class C", + "short_name": "Starbridge", + "communication_name": "Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "197", + "escort_upgrade_cost": "65000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "231", + "weapon_2": "138", + "weapon_3": "230", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "3", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "20", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "239", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0140", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 199: { + "resource_type": "ship", + "id": "199", + "name": "Starbridge", + "cargo": "15", + "shields": "460", + "shield_recharge": "64", + "armor": "110", + "armor_recharge": "0", + "acceleration": "500", + "max_speed": "375", + "turning": "36", + "fuel": "500", + "free_mass": "0", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "5", + "cost": "640000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "250", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class C", + "short_name": "Starbridge", + "communication_name": "Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "198", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "132", + "weapon_2": "230", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "239", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0140", + "flags_2": "0x008A", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 200: { + "resource_type": "ship", + "id": "200", + "name": "Star Liner", + "cargo": "120", + "shields": "750", + "shield_recharge": "80", + "armor": "250", + "armor_recharge": "0", + "acceleration": "350", + "max_speed": "200", + "turning": "40", + "fuel": "1200", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "20", + "cost": "600000", + "death_delay": "100", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "150", + "length": "30", + "crew": "300", + "strength": "40", + "government": "-1", + "escape_pod_count": "10", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "100", + "key_carried": "0", + "contribute_bits": "0x0000000000000041", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Armored Variant", + "short_name": "Star Liner", + "communication_name": "Star Liner", + "long_name": "Sigma Shipyards Echo Class Star Liner", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "129", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0102", + "flags_2": "0x0081", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 201: { + "resource_type": "ship", + "id": "201", + "name": "Star Liner", + "cargo": "105", + "shields": "700", + "shield_recharge": "80", + "armor": "150", + "armor_recharge": "0", + "acceleration": "375", + "max_speed": "200", + "turning": "40", + "fuel": "1200", + "free_mass": "10", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "20", + "cost": "545000", + "death_delay": "100", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "150", + "length": "30", + "crew": "300", + "strength": "40", + "government": "-1", + "escape_pod_count": "10", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "100", + "key_carried": "0", + "contribute_bits": "0x0000000000000041", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Armed Variant", + "short_name": "Star Liner", + "communication_name": "Star Liner", + "long_name": "Sigma Shipyards Echo Class Star Liner", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "133", + "weapon_2": "129", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0102", + "flags_2": "0x0081", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 202: { + "resource_type": "ship", + "id": "202", + "name": "Terrapin", + "cargo": "110", + "shields": "300", + "shield_recharge": "15", + "armor": "115", + "armor_recharge": "0", + "acceleration": "195", + "max_speed": "145", + "turning": "35", + "fuel": "400", + "free_mass": "5", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "4", + "cost": "150000", + "death_delay": "65", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "175", + "length": "25", + "crew": "4", + "strength": "20", + "government": "-1", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "8", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Upgraded Shielding", + "short_name": "Terrapin", + "communication_name": "Terrapin", + "long_name": "Terrapin Light Freighter", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "129", + "weapon_2": "133", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0100", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 203: { + "resource_type": "ship", + "id": "203", + "name": "Terrapin", + "cargo": "125", + "shields": "185", + "shield_recharge": "15", + "armor": "60", + "armor_recharge": "0", + "acceleration": "250", + "max_speed": "175", + "turning": "40", + "fuel": "400", + "free_mass": "5", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "4", + "cost": "200000", + "death_delay": "65", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "175", + "length": "25", + "crew": "4", + "strength": "20", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "8", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Upgraded Engines", + "short_name": "Terrapin", + "communication_name": "Terrapin", + "long_name": "Terrapin Light Freighter", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "128", + "weapon_2": "130", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0100", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 204: { + "resource_type": "ship", + "id": "204", + "name": "Argosy", + "cargo": "50", + "shields": "260", + "shield_recharge": "20", + "armor": "525", + "armor_recharge": "0", + "acceleration": "400", + "max_speed": "275", + "turning": "35", + "fuel": "500", + "free_mass": "30", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "4", + "cost": "220000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-5", + "mass": "150", + "length": "30", + "crew": "10", + "strength": "200", + "government": "158", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "15", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Modified", + "short_name": "Argosy", + "communication_name": "Argosy", + "long_name": "Heraan Researched Argosy", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "206", + "escort_upgrade_cost": "25000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "155", + "weapon_2": "134", + "weapon_3": "143", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "75", + "weapon_2_ammo": "20", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0141", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 205: { + "resource_type": "ship", + "id": "205", + "name": "Argosy", + "cargo": "50", + "shields": "240", + "shield_recharge": "20", + "armor": "335", + "armor_recharge": "0", + "acceleration": "450", + "max_speed": "325", + "turning": "40", + "fuel": "500", + "free_mass": "30", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "4", + "cost": "220000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-5", + "mass": "150", + "length": "30", + "crew": "10", + "strength": "200", + "government": "158", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "15", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Modified", + "short_name": "Argosy", + "communication_name": "Argosy", + "long_name": "Heraan Researched Argosy", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "207", + "escort_upgrade_cost": "25000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "155", + "weapon_2": "134", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "4", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "80", + "weapon_2_ammo": "40", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0141", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 206: { + "resource_type": "ship", + "id": "206", + "name": "Argosy", + "cargo": "50", + "shields": "300", + "shield_recharge": "20", + "armor": "525", + "armor_recharge": "0", + "acceleration": "340", + "max_speed": "245", + "turning": "30", + "fuel": "500", + "free_mass": "30", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "4", + "cost": "250000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-5", + "mass": "150", + "length": "30", + "crew": "10", + "strength": "200", + "government": "158", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "15", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Heavily Modified", + "short_name": "Argosy", + "communication_name": "Argosy", + "long_name": "Heraan Researched Argosy", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "157", + "weapon_2": "138", + "weapon_3": "143", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "60", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0141", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 207: { + "resource_type": "ship", + "id": "207", + "name": "Argosy", + "cargo": "50", + "shields": "300", + "shield_recharge": "25", + "armor": "450", + "armor_recharge": "0", + "acceleration": "475", + "max_speed": "350", + "turning": "40", + "fuel": "500", + "free_mass": "30", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "4", + "cost": "250000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-5", + "mass": "150", + "length": "30", + "crew": "10", + "strength": "200", + "government": "158", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "15", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Heavily Modified", + "short_name": "Argosy", + "communication_name": "Argosy", + "long_name": "Heraan Researched Argosy", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "155", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "75", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0141", + "flags_2": "0x008A", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 208: { + "resource_type": "ship", + "id": "208", + "name": "Enterprise", + "cargo": "250", + "shields": "340", + "shield_recharge": "20", + "armor": "750", + "armor_recharge": "0", + "acceleration": "225", + "max_speed": "250", + "turning": "25", + "fuel": "500", + "free_mass": "50", + "max_guns": "4", + "max_turrets": "3", + "tech_level": "4", + "cost": "500000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "255", + "length": "55", + "crew": "35", + "strength": "300", + "government": "158", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Modified", + "short_name": "Enterprise", + "communication_name": "Enterprise", + "long_name": "Auroran Industries Enterprise", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "209", + "escort_upgrade_cost": "60000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "144", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0151", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 209: { + "resource_type": "ship", + "id": "209", + "name": "Enterprise", + "cargo": "250", + "shields": "375", + "shield_recharge": "30", + "armor": "825", + "armor_recharge": "0", + "acceleration": "250", + "max_speed": "200", + "turning": "40", + "fuel": "500", + "free_mass": "50", + "max_guns": "4", + "max_turrets": "3", + "tech_level": "4", + "cost": "550000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "255", + "length": "55", + "crew": "35", + "strength": "300", + "government": "158", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Heavily Modified", + "short_name": "Enterprise", + "communication_name": "Enterprise", + "long_name": "Auroran Industries Enterprise", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "158", + "weapon_2": "159", + "weapon_3": "139", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "20", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0151", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 210: { + "resource_type": "ship", + "id": "210", + "name": "Enterprise", + "cargo": "250", + "shields": "315", + "shield_recharge": "40", + "armor": "635", + "armor_recharge": "0", + "acceleration": "300", + "max_speed": "275", + "turning": "40", + "fuel": "500", + "free_mass": "50", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "4", + "cost": "500000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "255", + "length": "55", + "crew": "35", + "strength": "300", + "government": "158", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Modified", + "short_name": "Enterprise", + "communication_name": "Enterprise", + "long_name": "Auroran Industries Enterprise", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "209", + "escort_upgrade_cost": "60000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "159", + "weapon_2": "139", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0151", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 211: { + "resource_type": "ship", + "id": "211", + "name": "Fed Destroyer", + "cargo": "50", + "shields": "785", + "shield_recharge": "40", + "armor": "810", + "armor_recharge": "0", + "acceleration": "300", + "max_speed": "200", + "turning": "36", + "fuel": "300", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "6", + "tech_level": "14", + "cost": "3500000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-10", + "mass": "800", + "length": "150", + "crew": "50", + "strength": "325", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "175", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Auroran Outfits Detected", + "short_name": "Fed Dstryr", + "communication_name": "Fed Destroyer", + "long_name": "Federation E-41 Destroyer", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "214", + "escort_upgrade_cost": "1000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "130", + "weapon_2": "139", + "weapon_3": "143", + "weapon_4": "133", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "2", + "weapon_4_count": "4", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "238", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4130", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 212: { + "resource_type": "ship", + "id": "212", + "name": "Fed Destroyer", + "cargo": "50", + "shields": "790", + "shield_recharge": "40", + "armor": "745", + "armor_recharge": "0", + "acceleration": "250", + "max_speed": "175", + "turning": "36", + "fuel": "300", + "free_mass": "30", + "max_guns": "4", + "max_turrets": "4", + "tech_level": "14", + "cost": "2750000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-10", + "mass": "800", + "length": "150", + "crew": "50", + "strength": "325", + "government": "1128", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "175", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Missile Variant", + "short_name": "Fed Dstryr", + "communication_name": "Fed Destroyer", + "long_name": "Federation E-41 Destroyer", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "213", + "escort_upgrade_cost": "750000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "132", + "weapon_2": "135", + "weapon_3": "139", + "weapon_4": "133", + "weapon_5": "129", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "4", + "weapon_3_count": "2", + "weapon_4_count": "1", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "20", + "weapon_4_ammo": "0", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "238", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4120", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 213: { + "resource_type": "ship", + "id": "213", + "name": "Fed Destroyer", + "cargo": "50", + "shields": "755", + "shield_recharge": "40", + "armor": "705", + "armor_recharge": "0", + "acceleration": "350", + "max_speed": "275", + "turning": "45", + "fuel": "300", + "free_mass": "30", + "max_guns": "4", + "max_turrets": "4", + "tech_level": "14", + "cost": "3500000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-10", + "mass": "800", + "length": "150", + "crew": "50", + "strength": "325", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "175", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heavy Missile Variant", + "short_name": "Fed Dstryr", + "communication_name": "Fed Destroyer", + "long_name": "Federation E-41 Destroyer", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "214", + "escort_upgrade_cost": "1000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "132", + "weapon_2": "160", + "weapon_3": "129", + "weapon_4": "133", + "weapon_5": "230", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "20", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "238", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4120", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 214: { + "resource_type": "ship", + "id": "214", + "name": "Fed Destroyer", + "cargo": "50", + "shields": "785", + "shield_recharge": "40", + "armor": "745", + "armor_recharge": "0", + "acceleration": "260", + "max_speed": "175", + "turning": "36", + "fuel": "300", + "free_mass": "30", + "max_guns": "4", + "max_turrets": "4", + "tech_level": "14", + "cost": "4500000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-10", + "mass": "800", + "length": "150", + "crew": "50", + "strength": "325", + "government": "1128", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "175", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Carrier Version", + "short_name": "Fed Dstryr", + "communication_name": "Fed Destroyer", + "long_name": "Federation E-41 Destroyer", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "132", + "weapon_2": "149", + "weapon_3": "129", + "weapon_4": "133", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "3", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "238", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4120", + "flags_2": "0x0002", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 215: { + "resource_type": "ship", + "id": "215", + "name": "Fed Patrol Boat", + "cargo": "25", + "shields": "350", + "shield_recharge": "40", + "armor": "300", + "armor_recharge": "0", + "acceleration": "675", + "max_speed": "450", + "turning": "50", + "fuel": "600", + "free_mass": "30", + "max_guns": "5", + "max_turrets": "2", + "tech_level": "14", + "cost": "500000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "95", + "length": "35", + "crew": "10", + "strength": "250", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "8", + "max_ionization": "90", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Auroran Outfits Detected", + "short_name": "Fed Patrol\\\\nBoat", + "communication_name": "Fed Patrol Boat", + "long_name": "Federation G-32 Patrol Boat", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "216", + "escort_upgrade_cost": "70000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "143", + "weapon_2": "139", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "20", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "197", + "outfit_2": "240", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0140", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 216: { + "resource_type": "ship", + "id": "216", + "name": "Fed Patrol Boat", + "cargo": "25", + "shields": "420", + "shield_recharge": "40", + "armor": "370", + "armor_recharge": "0", + "acceleration": "650", + "max_speed": "400", + "turning": "60", + "fuel": "600", + "free_mass": "10", + "max_guns": "5", + "max_turrets": "3", + "tech_level": "14", + "cost": "575000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "16", + "mass": "95", + "length": "35", + "crew": "10", + "strength": "250", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "8", + "max_ionization": "90", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Close-Quarters Variant", + "short_name": "Fed Patrol\\\\nBoat", + "communication_name": "Fed Patrol Boat", + "long_name": "Federation G-32 Patrol Boat", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "131", + "weapon_2": "142", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "197", + "outfit_2": "240", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0140", + "flags_2": "0x008A", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 217: { + "resource_type": "ship", + "id": "217", + "name": "Fed Patrol Boat", + "cargo": "25", + "shields": "400", + "shield_recharge": "40", + "armor": "350", + "armor_recharge": "0", + "acceleration": "675", + "max_speed": "400", + "turning": "55", + "fuel": "600", + "free_mass": "10", + "max_guns": "5", + "max_turrets": "3", + "tech_level": "14", + "cost": "600000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "16", + "mass": "95", + "length": "35", + "crew": "10", + "strength": "250", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "8", + "max_ionization": "90", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heavily Armed Variant", + "short_name": "Fed Patrol\\\\nBoat", + "communication_name": "Fed Patrol Boat", + "long_name": "Federation G-32 Patrol Boat", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "130", + "weapon_2": "138", + "weapon_3": "133", + "weapon_4": "231", + "weapon_5": "230", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "2", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "20", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "10", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "197", + "outfit_2": "240", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0140", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 218: { + "resource_type": "ship", + "id": "218", + "name": "Fed Carrier", + "cargo": "100", + "shields": "1400", + "shield_recharge": "50", + "armor": "1000", + "armor_recharge": "0", + "acceleration": "175", + "max_speed": "115", + "turning": "30", + "fuel": "500", + "free_mass": "150", + "max_guns": "6", + "max_turrets": "6", + "tech_level": "14", + "cost": "15000000", + "death_delay": "150", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "5", + "mass": "2000", + "length": "500", + "crew": "200", + "strength": "500", + "government": "1128", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Non-Missile Variant", + "short_name": "Fed Carrier", + "communication_name": "Fed Carrier", + "long_name": "E-60 Federation Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "221", + "escort_upgrade_cost": "2000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "132", + "weapon_2": "142", + "weapon_3": "149", + "weapon_4": "150", + "weapon_5": "133", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "4", + "weapon_4_ammo": "2", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "178", + "outfit_2": "197", + "outfit_3": "240", + "outfit_4": "241", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4140", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 219: { + "resource_type": "ship", + "id": "219", + "name": "Fed Carrier", + "cargo": "100", + "shields": "1400", + "shield_recharge": "60", + "armor": "1000", + "armor_recharge": "0", + "acceleration": "225", + "max_speed": "200", + "turning": "30", + "fuel": "500", + "free_mass": "50", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "14", + "cost": "20000000", + "death_delay": "150", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "5", + "mass": "2000", + "length": "500", + "crew": "200", + "strength": "500", + "government": "1128", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heavy Missile Variant", + "short_name": "Fed Carrier", + "communication_name": "Fed Carrier", + "long_name": "E-60 Federation Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "132", + "weapon_2": "160", + "weapon_3": "149", + "weapon_4": "150", + "weapon_5": "133", + "weapon_6": "230", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "2", + "weapon_6_count": "2", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "20", + "weapon_3_ammo": "4", + "weapon_4_ammo": "2", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "40", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "178", + "outfit_2": "197", + "outfit_3": "240", + "outfit_4": "241", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4140", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 220: { + "resource_type": "ship", + "id": "220", + "name": "Fed Carrier", + "cargo": "100", + "shields": "1500", + "shield_recharge": "50", + "armor": "1000", + "armor_recharge": "0", + "acceleration": "150", + "max_speed": "130", + "turning": "20", + "fuel": "500", + "free_mass": "100", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "14", + "cost": "15000000", + "death_delay": "150", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "5", + "mass": "2000", + "length": "500", + "crew": "200", + "strength": "500", + "government": "1128", + "escape_pod_count": "2", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heavy Fighter Variant", + "short_name": "Fed Carrier", + "communication_name": "Fed Carrier", + "long_name": "E-60 Federation Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "132", + "weapon_2": "153", + "weapon_3": "149", + "weapon_4": "178", + "weapon_5": "133", + "weapon_6": "177", + "weapon_7": "180", + "weapon_8": "230", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "2", + "weapon_6_count": "1", + "weapon_7_count": "1", + "weapon_8_count": "2", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "2", + "weapon_3_ammo": "3", + "weapon_4_ammo": "1", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "1", + "weapon_7_ammo": "1", + "weapon_8_ammo": "20", + "outfit_1": "178", + "outfit_2": "197", + "outfit_3": "240", + "outfit_4": "241", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4140", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 221: { + "resource_type": "ship", + "id": "221", + "name": "Fed Carrier", + "cargo": "100", + "shields": "1400", + "shield_recharge": "40", + "armor": "1000", + "armor_recharge": "0", + "acceleration": "150", + "max_speed": "130", + "turning": "20", + "fuel": "500", + "free_mass": "150", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "14", + "cost": "17000000", + "death_delay": "150", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "5", + "mass": "2000", + "length": "500", + "crew": "200", + "strength": "500", + "government": "1128", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Light Missile Variant", + "short_name": "Fed Carrier", + "communication_name": "Fed Carrier", + "long_name": "E-60 Federation Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "219", + "escort_upgrade_cost": "3000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "132", + "weapon_2": "139", + "weapon_3": "149", + "weapon_4": "150", + "weapon_5": "133", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "150", + "weapon_3_ammo": "4", + "weapon_4_ammo": "2", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "178", + "outfit_2": "197", + "outfit_3": "240", + "outfit_4": "241", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4140", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 222: { + "resource_type": "ship", + "id": "222", + "name": "Fed Carrier", + "cargo": "100", + "shields": "1400", + "shield_recharge": "45", + "armor": "1250", + "armor_recharge": "0", + "acceleration": "200", + "max_speed": "175", + "turning": "20", + "fuel": "500", + "free_mass": "150", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "14", + "cost": "12000000", + "death_delay": "150", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "5", + "mass": "2000", + "length": "500", + "crew": "200", + "strength": "500", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Auroran Outfits Detected", + "short_name": "Fed Carrier", + "communication_name": "Fed Carrier", + "long_name": "E-60 Federation Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "220", + "escort_upgrade_cost": "3000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "132", + "weapon_2": "143", + "weapon_3": "149", + "weapon_4": "150", + "weapon_5": "133", + "weapon_6": "177", + "weapon_7": "178", + "weapon_8": "179", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "2", + "weapon_6_count": "1", + "weapon_7_count": "1", + "weapon_8_count": "1", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "2", + "weapon_4_ammo": "1", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "1", + "weapon_7_ammo": "1", + "weapon_8_ammo": "1", + "outfit_1": "178", + "outfit_2": "197", + "outfit_3": "240", + "outfit_4": "241", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4150", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 223: { + "resource_type": "ship", + "id": "223", + "name": "Fed Viper", + "cargo": "5", + "shields": "80", + "shield_recharge": "25", + "armor": "40", + "armor_recharge": "0", + "acceleration": "825", + "max_speed": "500", + "turning": "68", + "fuel": "200", + "free_mass": "10", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "14", + "cost": "150000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "10", + "length": "7", + "crew": "1", + "strength": "60", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Heavy Fighter Variant", + "short_name": "Fed Viper", + "communication_name": "Fed Viper", + "long_name": "Federation F-23 Viper", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "231", + "weapon_2": "129", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 224: { + "resource_type": "ship", + "id": "224", + "name": "Fed Viper", + "cargo": "5", + "shields": "68", + "shield_recharge": "20", + "armor": "30", + "armor_recharge": "0", + "acceleration": "875", + "max_speed": "550", + "turning": "63", + "fuel": "200", + "free_mass": "10", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "14", + "cost": "100000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "10", + "length": "7", + "crew": "1", + "strength": "65", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "7", + "max_ionization": "40", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Auroran Outfits Detected", + "short_name": "Fed Viper", + "communication_name": "Fed Viper", + "long_name": "Federation F-23 Viper", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "155", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "65", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 225: { + "resource_type": "ship", + "id": "225", + "name": "Fed Anaconda", + "cargo": "10", + "shields": "95", + "shield_recharge": "30", + "armor": "45", + "armor_recharge": "0", + "acceleration": "675", + "max_speed": "450", + "turning": "63", + "fuel": "300", + "free_mass": "15", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "14", + "cost": "220000", + "death_delay": "12", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "15", + "length": "9", + "crew": "1", + "strength": "80", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "55", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Light Missile Variant", + "short_name": "Fed Anaconda", + "communication_name": "Fed Anaconda", + "long_name": "Federation F-29 Anaconda", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "231", + "weapon_2": "138", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "3", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "18", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 226: { + "resource_type": "ship", + "id": "226", + "name": "Fed Anaconda", + "cargo": "10", + "shields": "90", + "shield_recharge": "30", + "armor": "40", + "armor_recharge": "0", + "acceleration": "700", + "max_speed": "525", + "turning": "72", + "fuel": "300", + "free_mass": "15", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "14", + "cost": "150000", + "death_delay": "12", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "15", + "length": "9", + "crew": "1", + "strength": "85", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "8", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Auroran Outfits Detected", + "short_name": "Fed Anaconda", + "communication_name": "Fed Anaconda", + "long_name": "Federation F-29 Anaconda", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "143", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "12", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 227: { + "resource_type": "ship", + "id": "227", + "name": "Manticore", + "cargo": "500", + "shields": "500", + "shield_recharge": "50", + "armor": "700", + "armor_recharge": "0", + "acceleration": "275", + "max_speed": "200", + "turning": "30", + "fuel": "700", + "free_mass": "30", + "max_guns": "8", + "max_turrets": "6", + "tech_level": "16", + "cost": "12000000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-30", + "mass": "1750", + "length": "100", + "crew": "120", + "strength": "425", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!b334", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "225", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Light Weapons Version", + "short_name": "Manticore", + "communication_name": "Manticore", + "long_name": "Pirate Manticore", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "230", + "escort_upgrade_cost": "2000000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "130", + "weapon_2": "139", + "weapon_3": "133", + "weapon_4": "129", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "3", + "weapon_3_count": "3", + "weapon_4_count": "8", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "90", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 228: { + "resource_type": "ship", + "id": "228", + "name": "Manticore", + "cargo": "500", + "shields": "500", + "shield_recharge": "60", + "armor": "700", + "armor_recharge": "0", + "acceleration": "325", + "max_speed": "215", + "turning": "45", + "fuel": "700", + "free_mass": "30", + "max_guns": "8", + "max_turrets": "4", + "tech_level": "16", + "cost": "13500000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-30", + "mass": "1750", + "length": "100", + "crew": "120", + "strength": "425", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!b334", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "225", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Anti-Fighter Version", + "short_name": "Manticore", + "communication_name": "Manticore", + "long_name": "Pirate Manticore", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "229", + "escort_upgrade_cost": "2000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "142", + "weapon_2": "160", + "weapon_3": "161", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "8", + "weapon_2_count": "1", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "8", + "weapon_3_ammo": "400", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 229: { + "resource_type": "ship", + "id": "229", + "name": "Manticore", + "cargo": "500", + "shields": "400", + "shield_recharge": "60", + "armor": "600", + "armor_recharge": "0", + "acceleration": "350", + "max_speed": "250", + "turning": "30", + "fuel": "700", + "free_mass": "30", + "max_guns": "10", + "max_turrets": "4", + "tech_level": "16", + "cost": "15500000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-30", + "mass": "1750", + "length": "100", + "crew": "120", + "strength": "425", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!b334", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "225", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heavy Weapons Version", + "short_name": "Manticore", + "communication_name": "Manticore", + "long_name": "Pirate Manticore", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "142", + "weapon_2": "160", + "weapon_3": "158", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "8", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 230: { + "resource_type": "ship", + "id": "230", + "name": "Manticore", + "cargo": "500", + "shields": "500", + "shield_recharge": "50", + "armor": "700", + "armor_recharge": "0", + "acceleration": "250", + "max_speed": "175", + "turning": "30", + "fuel": "700", + "free_mass": "30", + "max_guns": "8", + "max_turrets": "4", + "tech_level": "16", + "cost": "14000000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-30", + "mass": "1750", + "length": "100", + "crew": "120", + "strength": "425", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!b334", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "225", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Light Carrier Version", + "short_name": "Manticore", + "communication_name": "Manticore", + "long_name": "Pirate Manticore", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "142", + "weapon_2": "169", + "weapon_3": "158", + "weapon_4": "133", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "6", + "weapon_2_count": "1", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "2", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 231: { + "resource_type": "ship", + "id": "231", + "name": "Pirate Starbridge", + "cargo": "20", + "shields": "390", + "shield_recharge": "70", + "armor": "120", + "armor_recharge": "0", + "acceleration": "600", + "max_speed": "450", + "turning": "50", + "fuel": "500", + "free_mass": "20", + "max_guns": "6", + "max_turrets": "1", + "tech_level": "16", + "cost": "800000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "275", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "35", + "max_ionization": "220", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class C", + "short_name": "Pir Starbridge", + "communication_name": "Pirate Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "234", + "escort_upgrade_cost": "80000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "143", + "weapon_2": "128", + "weapon_3": "135", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "3", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "20", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 232: { + "resource_type": "ship", + "id": "232", + "name": "Pirate Starbridge", + "cargo": "20", + "shields": "475", + "shield_recharge": "75", + "armor": "200", + "armor_recharge": "0", + "acceleration": "550", + "max_speed": "400", + "turning": "45", + "fuel": "500", + "free_mass": "7", + "max_guns": "6", + "max_turrets": "1", + "tech_level": "16", + "cost": "875000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "275", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "35", + "max_ionization": "220", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class C", + "short_name": "Pir Starbridge", + "communication_name": "Pirate Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "234", + "escort_upgrade_cost": "80000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "155", + "weapon_3": "138", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "100", + "weapon_3_ammo": "50", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 233: { + "resource_type": "ship", + "id": "233", + "name": "Pirate Starbridge", + "cargo": "20", + "shields": "430", + "shield_recharge": "65", + "armor": "160", + "armor_recharge": "0", + "acceleration": "590", + "max_speed": "440", + "turning": "50", + "fuel": "500", + "free_mass": "23", + "max_guns": "6", + "max_turrets": "1", + "tech_level": "16", + "cost": "875000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "275", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "35", + "max_ionization": "220", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class C", + "short_name": "Pir Starbridge", + "communication_name": "Pirate Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "234", + "escort_upgrade_cost": "80000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "155", + "weapon_2": "231", + "weapon_3": "138", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "3", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "90", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "30", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x008A", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 234: { + "resource_type": "ship", + "id": "234", + "name": "Pirate Starbridge", + "cargo": "10", + "shields": "510", + "shield_recharge": "70", + "armor": "270", + "armor_recharge": "0", + "acceleration": "525", + "max_speed": "400", + "turning": "45", + "fuel": "500", + "free_mass": "0", + "max_guns": "6", + "max_turrets": "1", + "tech_level": "16", + "cost": "950000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "275", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "35", + "max_ionization": "220", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class D", + "short_name": "Pir Starbridge", + "communication_name": "Pirate Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "142", + "weapon_2": "128", + "weapon_3": "160", + "weapon_4": "230", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "3", + "weapon_4_ammo": "5", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 235: { + "resource_type": "ship", + "id": "235", + "name": "Pirate Starbridge", + "cargo": "20", + "shields": "420", + "shield_recharge": "65", + "armor": "150", + "armor_recharge": "0", + "acceleration": "575", + "max_speed": "425", + "turning": "50", + "fuel": "500", + "free_mass": "17", + "max_guns": "6", + "max_turrets": "1", + "tech_level": "16", + "cost": "875000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "275", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "35", + "max_ionization": "220", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class C", + "short_name": "Pir Starbridge", + "communication_name": "Pirate Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "234", + "escort_upgrade_cost": "80000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "143", + "weapon_2": "155", + "weapon_3": "135", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "3", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "80", + "weapon_3_ammo": "20", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 236: { + "resource_type": "ship", + "id": "236", + "name": "Pirate Enterprise", + "cargo": "225", + "shields": "350", + "shield_recharge": "25", + "armor": "675", + "armor_recharge": "0", + "acceleration": "250", + "max_speed": "250", + "turning": "30", + "fuel": "500", + "free_mass": "40", + "max_guns": "4", + "max_turrets": "3", + "tech_level": "16", + "cost": "700000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "255", + "length": "55", + "crew": "35", + "strength": "325", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "25", + "max_ionization": "275", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Modified", + "short_name": "Pir Enterprise", + "communication_name": "Pirate Enterprise", + "long_name": "Auroran Industries Enterprise (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "237", + "escort_upgrade_cost": "150000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "144", + "weapon_2": "138", + "weapon_3": "156", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 237: { + "resource_type": "ship", + "id": "237", + "name": "Pirate Enterprise", + "cargo": "225", + "shields": "315", + "shield_recharge": "19", + "armor": "645", + "armor_recharge": "0", + "acceleration": "300", + "max_speed": "275", + "turning": "40", + "fuel": "500", + "free_mass": "40", + "max_guns": "4", + "max_turrets": "3", + "tech_level": "16", + "cost": "850000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "255", + "length": "55", + "crew": "35", + "strength": "325", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "25", + "max_ionization": "275", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Heavily Modified", + "short_name": "Pir Enterprise", + "communication_name": "Pirate Enterprise", + "long_name": "Auroran Industries Enterprise (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "155", + "weapon_2": "138", + "weapon_3": "132", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "2", + "weapon_3_count": "3", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "125", + "weapon_2_ammo": "30", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 238: { + "resource_type": "ship", + "id": "238", + "name": "Pirate Enterprise", + "cargo": "225", + "shields": "300", + "shield_recharge": "40", + "armor": "825", + "armor_recharge": "0", + "acceleration": "200", + "max_speed": "200", + "turning": "30", + "fuel": "500", + "free_mass": "40", + "max_guns": "4", + "max_turrets": "3", + "tech_level": "16", + "cost": "700000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "255", + "length": "55", + "crew": "35", + "strength": "325", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "25", + "max_ionization": "275", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Heavily Modified", + "short_name": "Pir Enterprise", + "communication_name": "Pirate Enterprise", + "long_name": "Auroran Industries Enterprise (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "201", + "weapon_2": "133", + "weapon_3": "160", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "3", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "4", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 239: { + "resource_type": "ship", + "id": "239", + "name": "Abomination", + "cargo": "20", + "shields": "200", + "shield_recharge": "10", + "armor": "450", + "armor_recharge": "0", + "acceleration": "425", + "max_speed": "350", + "turning": "45", + "fuel": "400", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "2", + "tech_level": "17", + "cost": "550000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "30", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Dechanik Class", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Auroran Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "156", + "weapon_2": "135", + "weapon_3": "161", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "4", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "20", + "weapon_3_ammo": "400", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x008A", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 240: { + "resource_type": "ship", + "id": "240", + "name": "Abomination", + "cargo": "20", + "shields": "200", + "shield_recharge": "10", + "armor": "400", + "armor_recharge": "0", + "acceleration": "475", + "max_speed": "390", + "turning": "45", + "fuel": "400", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "2", + "tech_level": "17", + "cost": "475000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "30", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Va French'ek Class", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Auroran Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "239", + "escort_upgrade_cost": "100000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "143", + "weapon_2": "135", + "weapon_3": "159", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "4", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "20", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 241: { + "resource_type": "ship", + "id": "241", + "name": "Abomination", + "cargo": "20", + "shields": "180", + "shield_recharge": "10", + "armor": "375", + "armor_recharge": "0", + "acceleration": "480", + "max_speed": "400", + "turning": "45", + "fuel": "400", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "2", + "tech_level": "17", + "cost": "350000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "30", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Va Themgiir Class", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Auroran Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "152", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "155", + "weapon_2": "138", + "weapon_3": "161", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "60", + "weapon_2_ammo": "20", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x008A", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 242: { + "resource_type": "ship", + "id": "242", + "name": "Abomination", + "cargo": "20", + "shields": "195", + "shield_recharge": "4", + "armor": "185", + "armor_recharge": "0", + "acceleration": "410", + "max_speed": "330", + "turning": "27", + "fuel": "200", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "2", + "tech_level": "17", + "cost": "400000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Moash - Va Themgiir", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Moash Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "243", + "escort_upgrade_cost": "10000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "162", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 243: { + "resource_type": "ship", + "id": "243", + "name": "Abomination", + "cargo": "20", + "shields": "150", + "shield_recharge": "5", + "armor": "190", + "armor_recharge": "0", + "acceleration": "415", + "max_speed": "340", + "turning": "36", + "fuel": "300", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "2", + "tech_level": "17", + "cost": "410000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "30", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Dani - Va Themgiir", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Dani Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "244", + "escort_upgrade_cost": "15000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "162", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "3", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "15", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 244: { + "resource_type": "ship", + "id": "244", + "name": "Abomination", + "cargo": "20", + "shields": "160", + "shield_recharge": "6", + "armor": "380", + "armor_recharge": "0", + "acceleration": "420", + "max_speed": "345", + "turning": "36", + "fuel": "400", + "free_mass": "40", + "max_guns": "3", + "max_turrets": "2", + "tech_level": "17", + "cost": "425000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "30", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Vella - Frunch'ek", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Vella Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "245", + "escort_upgrade_cost": "25000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "162", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "20", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 245: { + "resource_type": "ship", + "id": "245", + "name": "Abomination", + "cargo": "20", + "shields": "185", + "shield_recharge": "8", + "armor": "400", + "armor_recharge": "0", + "acceleration": "435", + "max_speed": "355", + "turning": "36", + "fuel": "400", + "free_mass": "40", + "max_guns": "3", + "max_turrets": "2", + "tech_level": "17", + "cost": "450000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "30", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Tekel - Frunch'ek", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Tekel Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "246", + "escort_upgrade_cost": "30000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "162", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x008A", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 246: { + "resource_type": "ship", + "id": "246", + "name": "Abomination", + "cargo": "20", + "shields": "200", + "shield_recharge": "12", + "armor": "425", + "armor_recharge": "0", + "acceleration": "500", + "max_speed": "390", + "turning": "45", + "fuel": "500", + "free_mass": "40", + "max_guns": "2", + "max_turrets": "5", + "tech_level": "17", + "cost": "500000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "30", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heraan - Va French'ek", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Heraan Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "162", + "weapon_2": "135", + "weapon_3": "161", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "5", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "25", + "weapon_3_ammo": "200", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 247: { + "resource_type": "ship", + "id": "247", + "name": "Aurora Cruiser", + "cargo": "75", + "shields": "300", + "shield_recharge": "5", + "armor": "1620", + "armor_recharge": "0", + "acceleration": "240", + "max_speed": "195", + "turning": "27", + "fuel": "300", + "free_mass": "50", + "max_guns": "6", + "max_turrets": "6", + "tech_level": "17", + "cost": "2000000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1200", + "length": "470", + "crew": "150", + "strength": "425", + "government": "1129", + "escape_pod_count": "3", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Gjinchar Class", + "short_name": "Aur Cruiser", + "communication_name": "Aur Cruiser", + "long_name": "Auroran Industries Heavy Cruiser", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "249", + "escort_upgrade_cost": "200000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "158", + "weapon_2": "162", + "weapon_3": "161", + "weapon_4": "134", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "6", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "3", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "1500", + "weapon_4_ammo": "30", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4131", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 248: { + "resource_type": "ship", + "id": "248", + "name": "Aurora Cruiser", + "cargo": "75", + "shields": "200", + "shield_recharge": "4", + "armor": "1420", + "armor_recharge": "0", + "acceleration": "300", + "max_speed": "240", + "turning": "36", + "fuel": "300", + "free_mass": "50", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "17", + "cost": "1800000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1200", + "length": "470", + "crew": "150", + "strength": "425", + "government": "1129", + "escape_pod_count": "3", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Se Gjunchek Class", + "short_name": "Aur Cruiser", + "communication_name": "Aur Cruiser", + "long_name": "Auroran Industries Heavy Cruiser", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "247", + "escort_upgrade_cost": "150000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "158", + "weapon_2": "155", + "weapon_3": "161", + "weapon_4": "134", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "4", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "1600", + "weapon_4_ammo": "40", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4131", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 249: { + "resource_type": "ship", + "id": "249", + "name": "Aurora Cruiser", + "cargo": "75", + "shields": "300", + "shield_recharge": "15", + "armor": "1755", + "armor_recharge": "0", + "acceleration": "220", + "max_speed": "175", + "turning": "30", + "fuel": "300", + "free_mass": "50", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "17", + "cost": "2200000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1200", + "length": "470", + "crew": "150", + "strength": "425", + "government": "1129", + "escape_pod_count": "3", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Va Gjencha Class", + "short_name": "Aur Cruiser", + "communication_name": "Aur Cruiser", + "long_name": "Auroran Industries Heavy Cruiser", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "158", + "weapon_2": "159", + "weapon_3": "161", + "weapon_4": "139", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "6", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "6", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "800", + "weapon_4_ammo": "60", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4131", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 250: { + "resource_type": "ship", + "id": "250", + "name": "Aurora Cruiser", + "cargo": "75", + "shields": "175", + "shield_recharge": "8", + "armor": "1350", + "armor_recharge": "0", + "acceleration": "350", + "max_speed": "275", + "turning": "45", + "fuel": "300", + "free_mass": "50", + "max_guns": "8", + "max_turrets": "4", + "tech_level": "17", + "cost": "1600000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1200", + "length": "470", + "crew": "150", + "strength": "425", + "government": "1129", + "escape_pod_count": "3", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Dechanik Class", + "short_name": "Aur Cruiser", + "communication_name": "Aur Cruiser", + "long_name": "Auroran Industries Heavy Cruiser", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "248", + "escort_upgrade_cost": "75000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "156", + "weapon_2": "155", + "weapon_3": "161", + "weapon_4": "139", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "4", + "weapon_3_count": "2", + "weapon_4_count": "4", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "800", + "weapon_4_ammo": "40", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4131", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 251: { + "resource_type": "ship", + "id": "251", + "name": "Aurora Cruiser", + "cargo": "75", + "shields": "175", + "shield_recharge": "2", + "armor": "1445", + "armor_recharge": "0", + "acceleration": "210", + "max_speed": "185", + "turning": "20", + "fuel": "300", + "free_mass": "50", + "max_guns": "5", + "max_turrets": "3", + "tech_level": "17", + "cost": "1600000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1200", + "length": "470", + "crew": "150", + "strength": "425", + "government": "1129", + "escape_pod_count": "2", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Moash - Dechanik", + "short_name": "Aur Cruiser", + "communication_name": "Aur Cruiser", + "long_name": "Moash Industries Heavy Cruiser", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "252", + "escort_upgrade_cost": "75000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "158", + "weapon_2": "156", + "weapon_3": "161", + "weapon_4": "134", + "weapon_5": "162", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "3", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "200", + "weapon_4_ammo": "40", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4121", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 252: { + "resource_type": "ship", + "id": "252", + "name": "Aurora Cruiser", + "cargo": "75", + "shields": "180", + "shield_recharge": "2", + "armor": "1460", + "armor_recharge": "0", + "acceleration": "235", + "max_speed": "190", + "turning": "30", + "fuel": "300", + "free_mass": "50", + "max_guns": "6", + "max_turrets": "2", + "tech_level": "17", + "cost": "1700000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1200", + "length": "470", + "crew": "150", + "strength": "425", + "government": "1129", + "escape_pod_count": "3", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Dani - Se Gjunchek", + "short_name": "Aur Cruiser", + "communication_name": "Aur Cruiser", + "long_name": "Dani Industries Heavy Cruiser", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "253", + "escort_upgrade_cost": "100000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "158", + "weapon_2": "156", + "weapon_3": "161", + "weapon_4": "134", + "weapon_5": "162", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "3", + "weapon_5_count": "1", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "400", + "weapon_4_ammo": "40", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4131", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 253: { + "resource_type": "ship", + "id": "253", + "name": "Aurora Cruiser", + "cargo": "75", + "shields": "180", + "shield_recharge": "2", + "armor": "1470", + "armor_recharge": "0", + "acceleration": "245", + "max_speed": "195", + "turning": "30", + "fuel": "300", + "free_mass": "50", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "17", + "cost": "1800000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1200", + "length": "470", + "crew": "150", + "strength": "425", + "government": "1129", + "escape_pod_count": "4", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Vella - Se Gjunchek", + "short_name": "Aur Cruiser", + "communication_name": "Aur Cruiser", + "long_name": "Vella Industries Heavy Cruiser", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "254", + "escort_upgrade_cost": "150000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "158", + "weapon_2": "156", + "weapon_3": "161", + "weapon_4": "134", + "weapon_5": "162", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "4", + "weapon_5_count": "1", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "500", + "weapon_4_ammo": "40", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4131", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 254: { + "resource_type": "ship", + "id": "254", + "name": "Aurora Cruiser", + "cargo": "75", + "shields": "200", + "shield_recharge": "6", + "armor": "1485", + "armor_recharge": "0", + "acceleration": "250", + "max_speed": "200", + "turning": "30", + "fuel": "300", + "free_mass": "50", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "17", + "cost": "2000000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1200", + "length": "470", + "crew": "150", + "strength": "425", + "government": "1129", + "escape_pod_count": "5", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Tekel - Gjinchar", + "short_name": "Aur Cruiser", + "communication_name": "Aur Cruiser", + "long_name": "Tekel Industries Heavy Cruiser", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "255", + "escort_upgrade_cost": "250000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "158", + "weapon_2": "156", + "weapon_3": "161", + "weapon_4": "134", + "weapon_5": "162", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "4", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "800", + "weapon_4_ammo": "40", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4131", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 255: { + "resource_type": "ship", + "id": "255", + "name": "Aurora Cruiser", + "cargo": "75", + "shields": "250", + "shield_recharge": "10", + "armor": "1550", + "armor_recharge": "0", + "acceleration": "275", + "max_speed": "220", + "turning": "35", + "fuel": "300", + "free_mass": "50", + "max_guns": "7", + "max_turrets": "5", + "tech_level": "17", + "cost": "2250000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1200", + "length": "470", + "crew": "150", + "strength": "425", + "government": "1129", + "escape_pod_count": "5", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heraan - Va Gjencha", + "short_name": "Aur Cruiser", + "communication_name": "Aur Cruiser", + "long_name": "Heraan Industries Heavy Cruiser", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "158", + "weapon_2": "156", + "weapon_3": "161", + "weapon_4": "134", + "weapon_5": "162", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "5", + "weapon_2_count": "2", + "weapon_3_count": "3", + "weapon_4_count": "5", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "1500", + "weapon_4_ammo": "40", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4131", + "flags_2": "0x0083", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 256: { + "resource_type": "ship", + "id": "256", + "name": "Zephyr;Cloaking", + "cargo": "50", + "shields": "190", + "shield_recharge": "32", + "armor": "750", + "armor_recharge": "40", + "acceleration": "500", + "max_speed": "400", + "turning": "60", + "fuel": "1200", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "18", + "cost": "2000000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "-5", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "400", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "b319 & !b1301", + "appear_on": "b319 & !b1301", + "on_purchase": "b8888", + "deionize": "45", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "50", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Zephyr", + "communication_name": "Zephyr", + "long_name": "Zephyr", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "147", + "weapon_2": "145", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "15", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "268", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0054", + "flags_2": "0x5282", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 257: { + "resource_type": "ship", + "id": "257", + "name": "Zephyr;Cloaking", + "cargo": "50", + "shields": "190", + "shield_recharge": "32", + "armor": "750", + "armor_recharge": "40", + "acceleration": "500", + "max_speed": "400", + "turning": "60", + "fuel": "1200", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "18", + "cost": "2050000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "-5", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "400", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "(b1301 & !b1302) & b279", + "appear_on": "(b1301 & !b1302) | b1306", + "on_purchase": "b8888", + "deionize": "45", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "50", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Zephyr", + "communication_name": "Zephyr", + "long_name": "Zephyr", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "147", + "weapon_2": "145", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "15", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "268", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0054", + "flags_2": "0x5282", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 258: { + "resource_type": "ship", + "id": "258", + "name": "Zephyr;Cloaking", + "cargo": "50", + "shields": "190", + "shield_recharge": "32", + "armor": "750", + "armor_recharge": "40", + "acceleration": "500", + "max_speed": "400", + "turning": "60", + "fuel": "1200", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "18", + "cost": "2100000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "-5", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "400", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "(b1302 & !b323) & b279", + "appear_on": "(b1302 | b1307) & !b323", + "on_purchase": "b8888", + "deionize": "45", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "50", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Zephyr", + "communication_name": "Zephyr", + "long_name": "Zephyr", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "147", + "weapon_2": "145", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "15", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "269", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0054", + "flags_2": "0x5282", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 259: { + "resource_type": "ship", + "id": "259", + "name": "Arachnid;Cloaking", + "cargo": "25", + "shields": "825", + "shield_recharge": "68", + "armor": "480", + "armor_recharge": "30", + "acceleration": "450", + "max_speed": "300", + "turning": "60", + "fuel": "1200", + "free_mass": "40", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "19", + "cost": "3500000", + "death_delay": "65", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "650", + "length": "165", + "crew": "10", + "strength": "600", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "(b298 & b1303) & (P30 & !b324)", + "appear_on": "(b1303 | b1309) & !b324", + "on_purchase": "b8888", + "deionize": "75", + "max_ionization": "450", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "7", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Cloak Detected", + "short_name": "Arachnid", + "communication_name": "Arachnid", + "long_name": "Arachnid", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "319", + "escort_upgrade_cost": "1000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "148", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "15", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "177", + "outfit_2": "245", + "outfit_3": "269", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0030", + "flags_2": "0x5381", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 260: { + "resource_type": "ship", + "id": "260", + "name": "Dragon;Cloaking", + "cargo": "50", + "shields": "450", + "shield_recharge": "20", + "armor": "225", + "armor_recharge": "8", + "acceleration": "450", + "max_speed": "325", + "turning": "50", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "19", + "cost": "1750000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "100", + "length": "50", + "crew": "10", + "strength": "375", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "(b217 | b316) & (b1305 & !b324)", + "appear_on": "b1305 & !b324", + "on_purchase": "b8888", + "deionize": "60", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "20", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Cloak Detected", + "short_name": "Dragon", + "communication_name": "Dragon", + "long_name": "Dragon", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "320", + "escort_upgrade_cost": "175000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "145", + "weapon_2": "170", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "20", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "268", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0122", + "flags_2": "0x5381", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 261: { + "resource_type": "ship", + "id": "261", + "name": "Scarab;Cloaking", + "cargo": "100", + "shields": "940", + "shield_recharge": "39", + "armor": "565", + "armor_recharge": "20", + "acceleration": "410", + "max_speed": "250", + "turning": "50", + "fuel": "1000", + "free_mass": "60", + "max_guns": "4", + "max_turrets": "3", + "tech_level": "19", + "cost": "7000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "700", + "length": "200", + "crew": "20", + "strength": "900", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "(b298 & b1302) & (P30 & !b323)", + "appear_on": "(b1302 | b1308) & !b323", + "on_purchase": "b8888", + "deionize": "90", + "max_ionization": "600", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "5", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Cloak Detected", + "short_name": "Scarab", + "communication_name": "Scarab", + "long_name": "Scarab", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "321", + "escort_upgrade_cost": "2500000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "154", + "weapon_3": "148", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "4", + "weapon_3_ammo": "30", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "235", + "outfit_2": "245", + "outfit_3": "268", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0050", + "flags_2": "0x5383", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 262: { + "resource_type": "ship", + "id": "262", + "name": "Striker;Cloaking", + "cargo": "20", + "shields": "600", + "shield_recharge": "60", + "armor": "300", + "armor_recharge": "8", + "acceleration": "600", + "max_speed": "330", + "turning": "70", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "19", + "cost": "1000000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "-5", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "375", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "(b279 & b1304) & !b324", + "appear_on": "b1304 & !b324", + "on_purchase": "b8888", + "deionize": "60", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "10", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Cloak Detected", + "short_name": "Striker", + "communication_name": "Striker", + "long_name": "Striker", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "322", + "escort_upgrade_cost": "400000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "147", + "weapon_2": "145", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "269", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0030", + "flags_2": "0x5383", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 263: { + "resource_type": "ship", + "id": "263", + "name": "Raven;Cloaking", + "cargo": "200", + "shields": "1800", + "shield_recharge": "40", + "armor": "900", + "armor_recharge": "20", + "acceleration": "350", + "max_speed": "225", + "turning": "40", + "fuel": "1500", + "free_mass": "100", + "max_guns": "7", + "max_turrets": "5", + "tech_level": "19", + "cost": "10000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "1200", + "length": "1200", + "crew": "30", + "strength": "1350", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "1", + "skill_variation": "0", + "availability": "(b305 & b1100) & (P30 & (b1302 & !b323))", + "appear_on": "(b296 & b1302) & !b323", + "on_purchase": "b8888", + "deionize": "105", + "max_ionization": "800", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Cloak Detected", + "short_name": "Raven", + "communication_name": "Raven", + "long_name": "Raven", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "323", + "escort_upgrade_cost": "5000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "182", + "weapon_3": "154", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "8", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "212", + "outfit_3": "268", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x005C", + "flags_2": "0x53C3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 264: { + "resource_type": "ship", + "id": "264", + "name": "Raven", + "cargo": "200", + "shields": "1800", + "shield_recharge": "40", + "armor": "900", + "armor_recharge": "20", + "acceleration": "350", + "max_speed": "225", + "turning": "40", + "fuel": "1500", + "free_mass": "100", + "max_guns": "7", + "max_turrets": "5", + "tech_level": "19", + "cost": "10000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "1200", + "length": "1200", + "crew": "30", + "strength": "1350", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "1", + "skill_variation": "0", + "availability": "", + "appear_on": "b1306 & !b1307", + "on_purchase": "b8888", + "deionize": "105", + "max_ionization": "800", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Raven", + "communication_name": "Raven", + "long_name": "Raven", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "324", + "escort_upgrade_cost": "5000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "182", + "weapon_3": "154", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "8", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "212", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x005C", + "flags_2": "0x00C3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 265: { + "resource_type": "ship", + "id": "265", + "name": "Raven;Cloaking", + "cargo": "200", + "shields": "1800", + "shield_recharge": "40", + "armor": "900", + "armor_recharge": "20", + "acceleration": "350", + "max_speed": "225", + "turning": "40", + "fuel": "1500", + "free_mass": "100", + "max_guns": "7", + "max_turrets": "5", + "tech_level": "19", + "cost": "10000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "1200", + "length": "1200", + "crew": "30", + "strength": "1350", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "1", + "skill_variation": "0", + "availability": "", + "appear_on": "b1307", + "on_purchase": "b8888", + "deionize": "105", + "max_ionization": "800", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Raven", + "communication_name": "Raven", + "long_name": "Raven", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "325", + "escort_upgrade_cost": "5000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "182", + "weapon_3": "154", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "8", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "212", + "outfit_3": "269", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x005C", + "flags_2": "0x53C3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 266: { + "resource_type": "ship", + "id": "266", + "name": "Zephyr;Cloaking+fast jump", + "cargo": "50", + "shields": "190", + "shield_recharge": "32", + "armor": "750", + "armor_recharge": "40", + "acceleration": "500", + "max_speed": "400", + "turning": "60", + "fuel": "1200", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "18", + "cost": "2150000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "-5", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "400", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "b323", + "appear_on": "b323", + "on_purchase": "b8888", + "deionize": "45", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "50", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Zephyr", + "communication_name": "Zephyr", + "long_name": "Zephyr", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "147", + "weapon_2": "183", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "15", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "269", + "outfit_2": "274", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0054", + "flags_2": "0x52A2", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 267: { + "resource_type": "ship", + "id": "267", + "name": "Arachnid;Cloaking+fast jump", + "cargo": "25", + "shields": "825", + "shield_recharge": "68", + "armor": "480", + "armor_recharge": "30", + "acceleration": "450", + "max_speed": "300", + "turning": "60", + "fuel": "1200", + "free_mass": "40", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "19", + "cost": "3500000", + "death_delay": "65", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "650", + "length": "165", + "crew": "10", + "strength": "600", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "P30 & (b298 & b324)", + "appear_on": "b324", + "on_purchase": "b8888", + "deionize": "75", + "max_ionization": "450", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "8", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Cloak Detected", + "short_name": "Arachnid", + "communication_name": "Arachnid", + "long_name": "Arachnid", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "326", + "escort_upgrade_cost": "1000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "184", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "15", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "177", + "outfit_2": "245", + "outfit_3": "269", + "outfit_4": "274", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0034", + "flags_2": "0x53A1", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 268: { + "resource_type": "ship", + "id": "268", + "name": "Cambrian;fast jump", + "cargo": "3500", + "shields": "675", + "shield_recharge": "45", + "armor": "115", + "armor_recharge": "5", + "acceleration": "200", + "max_speed": "250", + "turning": "20", + "fuel": "1200", + "free_mass": "0", + "max_guns": "1", + "max_turrets": "0", + "tech_level": "18", + "cost": "2500000", + "death_delay": "225", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "6000", + "length": "475", + "crew": "15", + "strength": "175", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "b324", + "appear_on": "b324", + "on_purchase": "b8888", + "deionize": "60", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "80", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Cambrian", + "communication_name": "Cambrian", + "long_name": "Cambrian", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "-1", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "0", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "274", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0002", + "flags_2": "0x00A0", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 269: { + "resource_type": "ship", + "id": "269", + "name": "Dragon;Cloaking+fast jump", + "cargo": "50", + "shields": "450", + "shield_recharge": "20", + "armor": "225", + "armor_recharge": "8", + "acceleration": "450", + "max_speed": "325", + "turning": "50", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "19", + "cost": "2250000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "100", + "length": "50", + "crew": "10", + "strength": "375", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "(b217 | b316) & b324", + "appear_on": "b324", + "on_purchase": "b8888", + "deionize": "60", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "50", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Cloak Detected", + "short_name": "Dragon", + "communication_name": "Dragon", + "long_name": "Dragon", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "327", + "escort_upgrade_cost": "175000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "183", + "weapon_2": "170", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "20", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "269", + "outfit_2": "274", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x43A1", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 270: { + "resource_type": "ship", + "id": "270", + "name": "Scarab;Cloaking+fast jump", + "cargo": "100", + "shields": "940", + "shield_recharge": "39", + "armor": "565", + "armor_recharge": "20", + "acceleration": "410", + "max_speed": "250", + "turning": "50", + "fuel": "1000", + "free_mass": "60", + "max_guns": "4", + "max_turrets": "3", + "tech_level": "19", + "cost": "7000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "700", + "length": "200", + "crew": "20", + "strength": "900", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "P30 & (b298 & b323)", + "appear_on": "b323", + "on_purchase": "b8888", + "deionize": "90", + "max_ionization": "600", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "5", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Cloak Detected", + "short_name": "Scarab", + "communication_name": "Scarab", + "long_name": "Scarab", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "328", + "escort_upgrade_cost": "2500000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "154", + "weapon_3": "184", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "4", + "weapon_3_ammo": "30", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "235", + "outfit_2": "245", + "outfit_3": "274", + "outfit_4": "269", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0052", + "flags_2": "0x53A3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 271: { + "resource_type": "ship", + "id": "271", + "name": "Striker;Cloaking+fast jump", + "cargo": "20", + "shields": "600", + "shield_recharge": "60", + "armor": "300", + "armor_recharge": "8", + "acceleration": "600", + "max_speed": "330", + "turning": "70", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "19", + "cost": "1050000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "-5", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "375", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "(b279 | b316) & b324", + "appear_on": "b324", + "on_purchase": "b8888", + "deionize": "60", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "10", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Cloak Detected", + "short_name": "Striker", + "communication_name": "Striker", + "long_name": "Striker", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "329", + "escort_upgrade_cost": "400000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "147", + "weapon_2": "183", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "274", + "outfit_3": "269", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0032", + "flags_2": "0x53E3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 272: { + "resource_type": "ship", + "id": "272", + "name": "Raven;Cloaking+fast jump", + "cargo": "200", + "shields": "1800", + "shield_recharge": "40", + "armor": "900", + "armor_recharge": "20", + "acceleration": "350", + "max_speed": "225", + "turning": "40", + "fuel": "1500", + "free_mass": "100", + "max_guns": "7", + "max_turrets": "5", + "tech_level": "19", + "cost": "10000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "1200", + "length": "1200", + "crew": "30", + "strength": "1350", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "1", + "skill_variation": "0", + "availability": "(b305 & b1100) & (P30 & b323)", + "appear_on": "b323", + "on_purchase": "b8888", + "deionize": "105", + "max_ionization": "800", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Cloak Detected", + "short_name": "Raven", + "communication_name": "Raven", + "long_name": "Raven", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "330", + "escort_upgrade_cost": "5000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "185", + "weapon_3": "154", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "8", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "212", + "outfit_3": "274", + "outfit_4": "269", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x005C", + "flags_2": "0x53E3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 273: { + "resource_type": "ship", + "id": "273", + "name": "Sprite;fast jump", + "cargo": "500", + "shields": "300", + "shield_recharge": "25", + "armor": "40", + "armor_recharge": "3", + "acceleration": "300", + "max_speed": "300", + "turning": "20", + "fuel": "800", + "free_mass": "0", + "max_guns": "1", + "max_turrets": "0", + "tech_level": "18", + "cost": "500000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "1500", + "length": "100", + "crew": "5", + "strength": "100", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "b324", + "appear_on": "b324", + "on_purchase": "", + "deionize": "45", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "80", + "on_capture": "", + "on_retire": "", + "subtitle": "", + "short_name": "Sprite", + "communication_name": "Polaris Sprite", + "long_name": "Sprite", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "-1", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "0", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "274", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0000", + "flags_2": "0x00A0", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 274: { + "resource_type": "ship", + "id": "274", + "name": "Rebel Lightning", + "cargo": "20", + "shields": "200", + "shield_recharge": "30", + "armor": "60", + "armor_recharge": "0", + "acceleration": "750", + "max_speed": "530", + "turning": "60", + "fuel": "400", + "free_mass": "15", + "max_guns": "7", + "max_turrets": "0", + "tech_level": "15", + "cost": "300000", + "death_delay": "25", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "125", + "mass": "20", + "length": "10", + "crew": "3", + "strength": "80", + "government": "1141", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "b130", + "appear_on": "!(b332 | b148)", + "on_purchase": "", + "deionize": "15", + "max_ionization": "75", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "70", + "on_capture": "", + "on_retire": "", + "subtitle": "Rebel Upgrade", + "short_name": "Rebel Lightning", + "communication_name": "Rebel Lightning", + "long_name": "Rautherion Lightning Heavy Fighter", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "231", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0144", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 275: { + "resource_type": "ship", + "id": "275", + "name": "Pirate Thunderhead", + "cargo": "10", + "shields": "125", + "shield_recharge": "10", + "armor": "210", + "armor_recharge": "0", + "acceleration": "625", + "max_speed": "475", + "turning": "50", + "fuel": "400", + "free_mass": "10", + "max_guns": "5", + "max_turrets": "0", + "tech_level": "16", + "cost": "425000", + "death_delay": "15", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "164", + "mass": "15", + "length": "12", + "crew": "1", + "strength": "150", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "!b424", + "appear_on": "", + "on_purchase": "", + "deionize": "12", + "max_ionization": "55", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "95", + "hire_random": "70", + "on_capture": "", + "on_retire": "", + "subtitle": "Pirate Upgrade", + "short_name": "Pirate\\\\nThunderhead", + "communication_name": "Thunderhead", + "long_name": "Pirate Thunderhead", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "166", + "weapon_2": "135", + "weapon_3": "143", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0089", + "flags_3": "0x0300", + "end_of_resource": "EOR" + }, + 276: { + "resource_type": "ship", + "id": "276", + "name": "Rebel Thunderhead", + "cargo": "15", + "shields": "185", + "shield_recharge": "25", + "armor": "185", + "armor_recharge": "0", + "acceleration": "630", + "max_speed": "460", + "turning": "65", + "fuel": "400", + "free_mass": "15", + "max_guns": "6", + "max_turrets": "0", + "tech_level": "15", + "cost": "550000", + "death_delay": "15", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "126", + "mass": "15", + "length": "12", + "crew": "1", + "strength": "225", + "government": "1141", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "b130", + "appear_on": "!(b332 | b148)", + "on_purchase": "", + "deionize": "20", + "max_ionization": "80", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "70", + "on_capture": "", + "on_retire": "", + "subtitle": "Rebel Upgrade", + "short_name": "Rebel\\\\nThunderhead", + "communication_name": "Thunderhead", + "long_name": "Rebel Thunderhead", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "166", + "weapon_2": "145", + "weapon_3": "129", + "weapon_4": "156", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0122", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 277: { + "resource_type": "ship", + "id": "277", + "name": "Lightning", + "cargo": "15", + "shields": "100", + "shield_recharge": "15", + "armor": "50", + "armor_recharge": "0", + "acceleration": "700", + "max_speed": "500", + "turning": "54", + "fuel": "400", + "free_mass": "20", + "max_guns": "6", + "max_turrets": "0", + "tech_level": "5", + "cost": "250000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "20", + "length": "10", + "crew": "3", + "strength": "50", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "75", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Upgrade Class 1", + "short_name": "Lightning", + "communication_name": "Lightning", + "long_name": "Rautherion Lightning Heavy Fighter", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "231", + "weapon_2": "134", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0122", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 278: { + "resource_type": "ship", + "id": "278", + "name": "Lightning", + "cargo": "15", + "shields": "125", + "shield_recharge": "20", + "armor": "100", + "armor_recharge": "0", + "acceleration": "675", + "max_speed": "500", + "turning": "50", + "fuel": "400", + "free_mass": "10", + "max_guns": "6", + "max_turrets": "0", + "tech_level": "5", + "cost": "250000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "20", + "length": "10", + "crew": "3", + "strength": "55", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "60", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Upgrade Class 1", + "short_name": "Lightning", + "communication_name": "Lightning", + "long_name": "Rautherion Lightning Heavy Fighter", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "231", + "weapon_2": "135", + "weapon_3": "129", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "8", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0122", + "flags_2": "0x008B", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 279: { + "resource_type": "ship", + "id": "279", + "name": "Valkyrie", + "cargo": "10", + "shields": "550", + "shield_recharge": "35", + "armor": "150", + "armor_recharge": "0", + "acceleration": "550", + "max_speed": "485", + "turning": "40", + "fuel": "500", + "free_mass": "0", + "max_guns": "5", + "max_turrets": "1", + "tech_level": "5", + "cost": "450000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "200", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "100", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Class III", + "short_name": "Valkyrie", + "communication_name": "Valkyrie", + "long_name": "Porsche Valkyrie", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "128", + "weapon_3": "138", + "weapon_4": "133", + "weapon_5": "230", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "3", + "weapon_3_count": "4", + "weapon_4_count": "1", + "weapon_5_count": "1", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "40", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "10", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0100", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 280: { + "resource_type": "ship", + "id": "280", + "name": "Valkyrie", + "cargo": "20", + "shields": "400", + "shield_recharge": "35", + "armor": "130", + "armor_recharge": "0", + "acceleration": "525", + "max_speed": "485", + "turning": "35", + "fuel": "500", + "free_mass": "28", + "max_guns": "5", + "max_turrets": "1", + "tech_level": "5", + "cost": "385000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "200", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "100", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Class II", + "short_name": "Valkyrie", + "communication_name": "Valkyrie", + "long_name": "Porsche Valkyrie", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "279", + "escort_upgrade_cost": "45000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "155", + "weapon_2": "231", + "weapon_3": "138", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "35", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "50", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0100", + "flags_2": "0x0088", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 281: { + "resource_type": "ship", + "id": "281", + "name": "Valkyrie", + "cargo": "20", + "shields": "510", + "shield_recharge": "40", + "armor": "135", + "armor_recharge": "0", + "acceleration": "600", + "max_speed": "530", + "turning": "50", + "fuel": "500", + "free_mass": "27", + "max_guns": "5", + "max_turrets": "1", + "tech_level": "5", + "cost": "385000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "200", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "100", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Class II", + "short_name": "Valkyrie", + "communication_name": "Valkyrie", + "long_name": "Porsche Valkyrie", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "279", + "escort_upgrade_cost": "45000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "128", + "weapon_2": "138", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "2", + "weapon_3_count": "-1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0100", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 282: { + "resource_type": "ship", + "id": "282", + "name": "IDA Frigate", + "cargo": "250", + "shields": "600", + "shield_recharge": "15", + "armor": "900", + "armor_recharge": "0", + "acceleration": "300", + "max_speed": "200", + "turning": "30", + "fuel": "200", + "free_mass": "50", + "max_guns": "4", + "max_turrets": "4", + "tech_level": "5", + "cost": "850000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-20", + "mass": "650", + "length": "180", + "crew": "100", + "strength": "300", + "government": "-1", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "1150 NC", + "short_name": "IDA Frigate", + "communication_name": "IDA Frigate", + "long_name": "Old Earth IDA Frigate", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "283", + "escort_upgrade_cost": "100000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "131", + "weapon_2": "139", + "weapon_3": "128", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "4", + "weapon_3_count": "4", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "100", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 283: { + "resource_type": "ship", + "id": "283", + "name": "IDA Frigate", + "cargo": "250", + "shields": "675", + "shield_recharge": "20", + "armor": "900", + "armor_recharge": "0", + "acceleration": "350", + "max_speed": "225", + "turning": "35", + "fuel": "200", + "free_mass": "50", + "max_guns": "4", + "max_turrets": "4", + "tech_level": "5", + "cost": "950000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-20", + "mass": "650", + "length": "180", + "crew": "100", + "strength": "300", + "government": "-1", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "1160 NC", + "short_name": "IDA Frigate", + "communication_name": "IDA Frigate", + "long_name": "Old Earth IDA Frigate", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "284", + "escort_upgrade_cost": "100000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "132", + "weapon_2": "135", + "weapon_3": "158", + "weapon_4": "133", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "1", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "80", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 284: { + "resource_type": "ship", + "id": "284", + "name": "IDA Frigate", + "cargo": "250", + "shields": "675", + "shield_recharge": "20", + "armor": "825", + "armor_recharge": "0", + "acceleration": "350", + "max_speed": "250", + "turning": "35", + "fuel": "200", + "free_mass": "50", + "max_guns": "4", + "max_turrets": "4", + "tech_level": "5", + "cost": "1100000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-20", + "mass": "650", + "length": "180", + "crew": "100", + "strength": "300", + "government": "-1", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "1170 NC", + "short_name": "IDA Frigate", + "communication_name": "IDA Frigate", + "long_name": "Old Earth IDA Frigate", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "132", + "weapon_2": "135", + "weapon_3": "158", + "weapon_4": "133", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "3", + "weapon_3_count": "4", + "weapon_4_count": "2", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "90", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 285: { + "resource_type": "ship", + "id": "285", + "name": "Pirate Carrier", + "cargo": "75", + "shields": "880", + "shield_recharge": "12", + "armor": "945", + "armor_recharge": "0", + "acceleration": "300", + "max_speed": "200", + "turning": "30", + "fuel": "400", + "free_mass": "60", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "16", + "cost": "15750000", + "death_delay": "140", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "10", + "mass": "1850", + "length": "490", + "crew": "220", + "strength": "475", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!b334", + "on_purchase": "b8888", + "deionize": "20", + "max_ionization": "240", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Upgraded", + "short_name": "Pirate Carr.", + "communication_name": "Pirate Carrier", + "long_name": "Greyshoulders Dockyards Pirate Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "286", + "escort_upgrade_cost": "1000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "133", + "weapon_2": "169", + "weapon_3": "160", + "weapon_4": "132", + "weapon_5": "129", + "weapon_6": "135", + "weapon_7": "190", + "weapon_8": "191", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "2", + "weapon_5_count": "6", + "weapon_6_count": "2", + "weapon_7_count": "1", + "weapon_8_count": "1", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "2", + "weapon_3_ammo": "4", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "30", + "weapon_7_ammo": "1", + "weapon_8_ammo": "1", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 286: { + "resource_type": "ship", + "id": "286", + "name": "Pirate Carrier", + "cargo": "75", + "shields": "810", + "shield_recharge": "8", + "armor": "1080", + "armor_recharge": "0", + "acceleration": "275", + "max_speed": "200", + "turning": "30", + "fuel": "400", + "free_mass": "60", + "max_guns": "6", + "max_turrets": "5", + "tech_level": "16", + "cost": "17000000", + "death_delay": "140", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "10", + "mass": "1850", + "length": "490", + "crew": "220", + "strength": "475", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!b334", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Extra Fighters Detected", + "short_name": "Pirate Carr.", + "communication_name": "Pirate Carrier", + "long_name": "Greyshoulders Dockyards Pirate Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "287", + "escort_upgrade_cost": "1000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "133", + "weapon_2": "169", + "weapon_3": "160", + "weapon_4": "132", + "weapon_5": "176", + "weapon_6": "158", + "weapon_7": "190", + "weapon_8": "191", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "3", + "weapon_5_count": "2", + "weapon_6_count": "4", + "weapon_7_count": "1", + "weapon_8_count": "1", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "2", + "weapon_3_ammo": "4", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "2", + "weapon_6_ammo": "-1", + "weapon_7_ammo": "1", + "weapon_8_ammo": "1", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 287: { + "resource_type": "ship", + "id": "287", + "name": "Pirate Carrier", + "cargo": "15", + "shields": "745", + "shield_recharge": "8", + "armor": "880", + "armor_recharge": "0", + "acceleration": "275", + "max_speed": "200", + "turning": "25", + "fuel": "400", + "free_mass": "0", + "max_guns": "6", + "max_turrets": "5", + "tech_level": "16", + "cost": "18000000", + "death_delay": "140", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "10", + "mass": "1850", + "length": "490", + "crew": "220", + "strength": "475", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!b334", + "on_purchase": "b8888", + "deionize": "20", + "max_ionization": "240", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heavy Weapons Platform", + "short_name": "Pirate Carr.", + "communication_name": "Pirate Carrier", + "long_name": "Greyshoulders Dockyards Pirate Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "133", + "weapon_2": "169", + "weapon_3": "160", + "weapon_4": "132", + "weapon_5": "158", + "weapon_6": "176", + "weapon_7": "190", + "weapon_8": "191", + "weapon_1_count": "2", + "weapon_2_count": "3", + "weapon_3_count": "2", + "weapon_4_count": "3", + "weapon_5_count": "6", + "weapon_6_count": "2", + "weapon_7_count": "2", + "weapon_8_count": "2", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "3", + "weapon_3_ammo": "20", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "2", + "weapon_7_ammo": "2", + "weapon_8_ammo": "2", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 288: { + "resource_type": "ship", + "id": "288", + "name": "Pirate Valkyrie", + "cargo": "20", + "shields": "375", + "shield_recharge": "25", + "armor": "150", + "armor_recharge": "0", + "acceleration": "550", + "max_speed": "500", + "turning": "40", + "fuel": "500", + "free_mass": "19", + "max_guns": "6", + "max_turrets": "2", + "tech_level": "16", + "cost": "550000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "225", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "25", + "max_ionization": "125", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Class II", + "short_name": "Pirate Valk.", + "communication_name": "Pirate Valkyrie", + "long_name": "Porsche Valkyrie (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "289", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "128", + "weapon_3": "138", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "40", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x008A", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 289: { + "resource_type": "ship", + "id": "289", + "name": "Pirate Valkyrie", + "cargo": "10", + "shields": "420", + "shield_recharge": "30", + "armor": "150", + "armor_recharge": "0", + "acceleration": "575", + "max_speed": "530", + "turning": "45", + "fuel": "500", + "free_mass": "0", + "max_guns": "6", + "max_turrets": "2", + "tech_level": "16", + "cost": "600000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "225", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "25", + "max_ionization": "125", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Class III", + "short_name": "Pirate Valk.", + "communication_name": "Pirate Valkyrie", + "long_name": "Porsche Valkyrie (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "291", + "escort_upgrade_cost": "70000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "231", + "weapon_3": "138", + "weapon_4": "156", + "weapon_5": "162", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "80", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x008A", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 290: { + "resource_type": "ship", + "id": "290", + "name": "Pirate Valkyrie", + "cargo": "10", + "shields": "450", + "shield_recharge": "50", + "armor": "250", + "armor_recharge": "0", + "acceleration": "650", + "max_speed": "555", + "turning": "50", + "fuel": "500", + "free_mass": "0", + "max_guns": "6", + "max_turrets": "2", + "tech_level": "16", + "cost": "600000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "225", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "50", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Class III", + "short_name": "Pirate Valk.", + "communication_name": "Pirate Valkyrie", + "long_name": "Porsche Valkyrie (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "291", + "escort_upgrade_cost": "70000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "128", + "weapon_3": "135", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "80", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x008A", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 291: { + "resource_type": "ship", + "id": "291", + "name": "Pirate Valkyrie", + "cargo": "10", + "shields": "525", + "shield_recharge": "55", + "armor": "275", + "armor_recharge": "0", + "acceleration": "700", + "max_speed": "580", + "turning": "55", + "fuel": "500", + "free_mass": "0", + "max_guns": "6", + "max_turrets": "2", + "tech_level": "16", + "cost": "700000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "225", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "50", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Class IV", + "short_name": "Pirate Valk.", + "communication_name": "Pirate Valkyrie", + "long_name": "Porsche Valkyrie (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "156", + "weapon_2": "142", + "weapon_3": "135", + "weapon_4": "159", + "weapon_5": "230", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "4", + "weapon_3_count": "4", + "weapon_4_count": "2", + "weapon_5_count": "1", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "80", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "10", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x008A", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 292: { + "resource_type": "ship", + "id": "292", + "name": "Pirate Argosy", + "cargo": "30", + "shields": "260", + "shield_recharge": "19", + "armor": "375", + "armor_recharge": "0", + "acceleration": "375", + "max_speed": "265", + "turning": "30", + "fuel": "500", + "free_mass": "25", + "max_guns": "5", + "max_turrets": "2", + "tech_level": "16", + "cost": "250000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "150", + "length": "30", + "crew": "10", + "strength": "225", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "30", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "General Upgrades", + "short_name": "Pirate Argosy", + "communication_name": "Pirate Argosy", + "long_name": "Heraan Researched Argosy (Pirate Upgrades)", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "293", + "escort_upgrade_cost": "75000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "155", + "weapon_2": "128", + "weapon_3": "135", + "weapon_4": "159", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "150", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "40", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x008A", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 293: { + "resource_type": "ship", + "id": "293", + "name": "Pirate Argosy", + "cargo": "30", + "shields": "375", + "shield_recharge": "25", + "armor": "600", + "armor_recharge": "0", + "acceleration": "400", + "max_speed": "225", + "turning": "35", + "fuel": "500", + "free_mass": "25", + "max_guns": "5", + "max_turrets": "2", + "tech_level": "16", + "cost": "325000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "150", + "length": "30", + "crew": "10", + "strength": "225", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "60", + "max_ionization": "350", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Destroyer Version", + "short_name": "Pirate Argosy", + "communication_name": "Pirate Argosy", + "long_name": "Heraan Researched Argosy (Pirate Upgrades)", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "157", + "weapon_2": "129", + "weapon_3": "135", + "weapon_4": "161", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "40", + "weapon_4_ammo": "1000", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x008A", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 294: { + "resource_type": "ship", + "id": "294", + "name": "Pirate Argosy", + "cargo": "30", + "shields": "335", + "shield_recharge": "40", + "armor": "550", + "armor_recharge": "0", + "acceleration": "500", + "max_speed": "375", + "turning": "50", + "fuel": "500", + "free_mass": "25", + "max_guns": "5", + "max_turrets": "2", + "tech_level": "16", + "cost": "310000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "150", + "length": "30", + "crew": "10", + "strength": "225", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "60", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Blockade Runner", + "short_name": "Pirate Argosy", + "communication_name": "Pirate Argosy", + "long_name": "Heraan Researched Argosy (Pirate Upgrades)", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "155", + "weapon_2": "128", + "weapon_3": "135", + "weapon_4": "161", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "150", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "40", + "weapon_4_ammo": "800", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x008A", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 295: { + "resource_type": "ship", + "id": "295", + "name": "Aurora Carrier", + "cargo": "50", + "shields": "450", + "shield_recharge": "5", + "armor": "1900", + "armor_recharge": "0", + "acceleration": "150", + "max_speed": "115", + "turning": "14", + "fuel": "400", + "free_mass": "150", + "max_guns": "4", + "max_turrets": "8", + "tech_level": "17", + "cost": "12500000", + "death_delay": "165", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1750", + "length": "1200", + "crew": "250", + "strength": "475", + "government": "1129", + "escape_pod_count": "5", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "20", + "max_ionization": "330", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Va Ytreck Class", + "short_name": "Aur Carrier", + "communication_name": "Aur Carrier", + "long_name": "Auroran Industries Heavy Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "159", + "weapon_2": "161", + "weapon_3": "151", + "weapon_4": "152", + "weapon_5": "144", + "weapon_6": "157", + "weapon_7": "188", + "weapon_8": "189", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "2", + "weapon_6_count": "2", + "weapon_7_count": "1", + "weapon_8_count": "1", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "1000", + "weapon_3_ammo": "6", + "weapon_4_ammo": "1", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "-1", + "weapon_7_ammo": "1", + "weapon_8_ammo": "1", + "outfit_1": "242", + "outfit_2": "243", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 296: { + "resource_type": "ship", + "id": "296", + "name": "Aurora Carrier", + "cargo": "50", + "shields": "400", + "shield_recharge": "5", + "armor": "1700", + "armor_recharge": "0", + "acceleration": "225", + "max_speed": "150", + "turning": "23", + "fuel": "400", + "free_mass": "150", + "max_guns": "4", + "max_turrets": "6", + "tech_level": "17", + "cost": "11000000", + "death_delay": "165", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1750", + "length": "1200", + "crew": "250", + "strength": "475", + "government": "1129", + "escape_pod_count": "5", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Se Ytruck Gjinchar Class", + "short_name": "Aur Carrier", + "communication_name": "Aur Carrier", + "long_name": "Auroran Industries Heavy Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "153", + "escort_upgrade_cost": "400000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "159", + "weapon_2": "161", + "weapon_3": "151", + "weapon_4": "157", + "weapon_5": "158", + "weapon_6": "189", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "1", + "weapon_4_count": "2", + "weapon_5_count": "2", + "weapon_6_count": "1", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "1000", + "weapon_3_ammo": "5", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "1", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "243", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 297: { + "resource_type": "ship", + "id": "297", + "name": "Aurora Carrier", + "cargo": "50", + "shields": "400", + "shield_recharge": "5", + "armor": "1700", + "armor_recharge": "0", + "acceleration": "130", + "max_speed": "100", + "turning": "9", + "fuel": "400", + "free_mass": "150", + "max_guns": "4", + "max_turrets": "7", + "tech_level": "17", + "cost": "12000000", + "death_delay": "165", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1750", + "length": "1200", + "crew": "250", + "strength": "475", + "government": "1129", + "escape_pod_count": "5", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Va Ytreck Class", + "short_name": "Aur Carrier", + "communication_name": "Aur Carrier", + "long_name": "Auroran Industries Heavy Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "159", + "weapon_2": "161", + "weapon_3": "153", + "weapon_4": "152", + "weapon_5": "158", + "weapon_6": "151", + "weapon_7": "186", + "weapon_8": "187", + "weapon_1_count": "3", + "weapon_2_count": "4", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "3", + "weapon_6_count": "2", + "weapon_7_count": "1", + "weapon_8_count": "1", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "1000", + "weapon_3_ammo": "2", + "weapon_4_ammo": "2", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "2", + "weapon_7_ammo": "1", + "weapon_8_ammo": "1", + "outfit_1": "242", + "outfit_2": "243", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 298: { + "resource_type": "ship", + "id": "298", + "name": "Aurora Carrier", + "cargo": "50", + "shields": "375", + "shield_recharge": "4", + "armor": "1650", + "armor_recharge": "0", + "acceleration": "120", + "max_speed": "90", + "turning": "7", + "fuel": "400", + "free_mass": "150", + "max_guns": "4", + "max_turrets": "6", + "tech_level": "17", + "cost": "11000000", + "death_delay": "165", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1750", + "length": "1200", + "crew": "250", + "strength": "475", + "government": "1129", + "escape_pod_count": "3", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "275", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Moash - Ytrack", + "short_name": "Aur Carrier", + "communication_name": "Aur Carrier", + "long_name": "Auroran Industries Heavy Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "299", + "escort_upgrade_cost": "200000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "156", + "weapon_2": "161", + "weapon_3": "151", + "weapon_4": "152", + "weapon_5": "144", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "400", + "weapon_3_ammo": "4", + "weapon_4_ammo": "2", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "243", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 299: { + "resource_type": "ship", + "id": "299", + "name": "Aurora Carrier", + "cargo": "50", + "shields": "375", + "shield_recharge": "5", + "armor": "1700", + "armor_recharge": "0", + "acceleration": "125", + "max_speed": "95", + "turning": "9", + "fuel": "400", + "free_mass": "150", + "max_guns": "4", + "max_turrets": "6", + "tech_level": "17", + "cost": "11500000", + "death_delay": "165", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1750", + "length": "1200", + "crew": "250", + "strength": "475", + "government": "1129", + "escape_pod_count": "5", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "275", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Dani - Ytrack", + "short_name": "Aur Carrier", + "communication_name": "Aur Carrier", + "long_name": "Auroran Industries Heavy Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "300", + "escort_upgrade_cost": "300000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "156", + "weapon_2": "161", + "weapon_3": "151", + "weapon_4": "152", + "weapon_5": "144", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "500", + "weapon_3_ammo": "5", + "weapon_4_ammo": "3", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "243", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 300: { + "resource_type": "ship", + "id": "300", + "name": "Aurora Carrier", + "cargo": "50", + "shields": "400", + "shield_recharge": "5", + "armor": "1750", + "armor_recharge": "0", + "acceleration": "130", + "max_speed": "100", + "turning": "9", + "fuel": "400", + "free_mass": "175", + "max_guns": "4", + "max_turrets": "6", + "tech_level": "17", + "cost": "12000000", + "death_delay": "165", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1750", + "length": "1200", + "crew": "250", + "strength": "475", + "government": "1129", + "escape_pod_count": "7", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Vella - Ytrack", + "short_name": "Aur Carrier", + "communication_name": "Aur Carrier", + "long_name": "Auroran Industries Heavy Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "301", + "escort_upgrade_cost": "450000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "159", + "weapon_2": "161", + "weapon_3": "151", + "weapon_4": "152", + "weapon_5": "144", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "1000", + "weapon_3_ammo": "6", + "weapon_4_ammo": "3", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "243", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 301: { + "resource_type": "ship", + "id": "301", + "name": "Aurora Carrier", + "cargo": "50", + "shields": "400", + "shield_recharge": "5", + "armor": "1850", + "armor_recharge": "0", + "acceleration": "145", + "max_speed": "110", + "turning": "11", + "fuel": "400", + "free_mass": "200", + "max_guns": "4", + "max_turrets": "6", + "tech_level": "17", + "cost": "12500000", + "death_delay": "165", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1750", + "length": "1200", + "crew": "250", + "strength": "475", + "government": "1129", + "escape_pod_count": "9", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "20", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Tekel - Va Ytreck", + "short_name": "Aur Carrier", + "communication_name": "Aur Carrier", + "long_name": "Auroran Industries Heavy Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "302", + "escort_upgrade_cost": "650000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "159", + "weapon_2": "161", + "weapon_3": "151", + "weapon_4": "152", + "weapon_5": "144", + "weapon_6": "157", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "2", + "weapon_6_count": "2", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "1000", + "weapon_3_ammo": "6", + "weapon_4_ammo": "3", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "-1", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "243", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 302: { + "resource_type": "ship", + "id": "302", + "name": "Aurora Carrier", + "cargo": "50", + "shields": "500", + "shield_recharge": "10", + "armor": "2150", + "armor_recharge": "0", + "acceleration": "180", + "max_speed": "115", + "turning": "25", + "fuel": "400", + "free_mass": "225", + "max_guns": "6", + "max_turrets": "10", + "tech_level": "17", + "cost": "13500000", + "death_delay": "165", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1750", + "length": "1200", + "crew": "250", + "strength": "475", + "government": "1129", + "escape_pod_count": "10", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "350", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heraan - Va Ytreck", + "short_name": "Aur Carrier", + "communication_name": "Aur Carrier", + "long_name": "Auroran Industries Heavy Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "159", + "weapon_2": "161", + "weapon_3": "151", + "weapon_4": "152", + "weapon_5": "186", + "weapon_6": "187", + "weapon_7": "188", + "weapon_8": "189", + "weapon_1_count": "6", + "weapon_2_count": "4", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "2", + "weapon_6_count": "2", + "weapon_7_count": "1", + "weapon_8_count": "1", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "1000", + "weapon_3_ammo": "2", + "weapon_4_ammo": "2", + "weapon_5_ammo": "2", + "weapon_6_ammo": "2", + "weapon_7_ammo": "1", + "weapon_8_ammo": "1", + "outfit_1": "242", + "outfit_2": "243", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 303: { + "resource_type": "ship", + "id": "303", + "name": "Firebird", + "cargo": "5", + "shields": "27", + "shield_recharge": "10", + "armor": "77", + "armor_recharge": "0", + "acceleration": "850", + "max_speed": "500", + "turning": "81", + "fuel": "200", + "free_mass": "5", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "17", + "cost": "185000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "155", + "mass": "12", + "length": "8", + "crew": "1", + "strength": "55", + "government": "1129", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "60", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Themgaar Class", + "short_name": "Firebird", + "communication_name": "Firebird", + "long_name": "Auroran Industries Firebird", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "304", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "155", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "75", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 304: { + "resource_type": "ship", + "id": "304", + "name": "Firebird", + "cargo": "5", + "shields": "27", + "shield_recharge": "8", + "armor": "81", + "armor_recharge": "0", + "acceleration": "825", + "max_speed": "500", + "turning": "72", + "fuel": "200", + "free_mass": "5", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "17", + "cost": "240000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "155", + "mass": "12", + "length": "8", + "crew": "1", + "strength": "65", + "government": "1129", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "5", + "max_ionization": "60", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Va Themgiir Class", + "short_name": "Firebird", + "communication_name": "Firebird", + "long_name": "Auroran Industries Firebird", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "155", + "weapon_2": "143", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "30", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 305: { + "resource_type": "ship", + "id": "305", + "name": "Phoenix", + "cargo": "5", + "shields": "27", + "shield_recharge": "25", + "armor": "135", + "armor_recharge": "0", + "acceleration": "750", + "max_speed": "500", + "turning": "63", + "fuel": "300", + "free_mass": "0", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "17", + "cost": "195000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "156", + "mass": "13", + "length": "9", + "crew": "1", + "strength": "75", + "government": "1129", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "8", + "max_ionization": "90", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Va Themgaar Class", + "short_name": "Phoenix", + "communication_name": "Phoenix", + "long_name": "Auroran Industries Phoenix", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "306", + "escort_upgrade_cost": "60000", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "143", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "3", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "15", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 306: { + "resource_type": "ship", + "id": "306", + "name": "Phoenix", + "cargo": "5", + "shields": "40", + "shield_recharge": "25", + "armor": "175", + "armor_recharge": "0", + "acceleration": "750", + "max_speed": "500", + "turning": "63", + "fuel": "300", + "free_mass": "0", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "17", + "cost": "250000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "156", + "mass": "13", + "length": "9", + "crew": "1", + "strength": "110", + "government": "1129", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "120", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Frunch'ek Class", + "short_name": "Phoenix", + "communication_name": "Phoenix", + "long_name": "Auroran Industries Phoenix", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "155", + "weapon_2": "135", + "weapon_3": "156", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "3", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "35", + "weapon_2_ammo": "30", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x008B", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 307: { + "resource_type": "ship", + "id": "307", + "name": "Thunderhead", + "cargo": "15", + "shields": "150", + "shield_recharge": "15", + "armor": "290", + "armor_recharge": "0", + "acceleration": "550", + "max_speed": "400", + "turning": "60", + "fuel": "200", + "free_mass": "10", + "max_guns": "5", + "max_turrets": "0", + "tech_level": "5", + "cost": "320000", + "death_delay": "15", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "15", + "length": "12", + "crew": "1", + "strength": "120", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Heavy Gunboat Class", + "short_name": "Thunderhead", + "communication_name": "Thunderhead", + "long_name": "Civilian Thunderhead", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "309", + "escort_upgrade_cost": "30000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "166", + "weapon_2": "135", + "weapon_3": "129", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "32", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8120", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 308: { + "resource_type": "ship", + "id": "308", + "name": "Thunderhead", + "cargo": "15", + "shields": "120", + "shield_recharge": "15", + "armor": "150", + "armor_recharge": "0", + "acceleration": "700", + "max_speed": "525", + "turning": "80", + "fuel": "200", + "free_mass": "10", + "max_guns": "5", + "max_turrets": "0", + "tech_level": "5", + "cost": "280000", + "death_delay": "15", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "15", + "length": "12", + "crew": "1", + "strength": "120", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Heavy Fighter Class", + "short_name": "Thunderhead", + "communication_name": "Thunderhead", + "long_name": "Civilian Thunderhead", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "157", + "escort_upgrade_cost": "15000", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "166", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8120", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 309: { + "resource_type": "ship", + "id": "309", + "name": "Thunderhead", + "cargo": "15", + "shields": "150", + "shield_recharge": "15", + "armor": "240", + "armor_recharge": "0", + "acceleration": "550", + "max_speed": "400", + "turning": "60", + "fuel": "200", + "free_mass": "10", + "max_guns": "5", + "max_turrets": "0", + "tech_level": "5", + "cost": "350000", + "death_delay": "15", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "15", + "length": "12", + "crew": "1", + "strength": "120", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Light Destroyer Class", + "short_name": "Thunderhead", + "communication_name": "Thunderhead", + "long_name": "Civilian Thunderhead", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "142", + "weapon_2": "135", + "weapon_3": "129", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "32", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8120", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 310: { + "resource_type": "ship", + "id": "310", + "name": "Raven", + "cargo": "200", + "shields": "2000", + "shield_recharge": "60", + "armor": "1125", + "armor_recharge": "30", + "acceleration": "400", + "max_speed": "255", + "turning": "50", + "fuel": "1500", + "free_mass": "100", + "max_guns": "7", + "max_turrets": "5", + "tech_level": "19", + "cost": "15000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "145", + "mass": "1200", + "length": "1200", + "crew": "30", + "strength": "1450", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "1", + "skill_variation": "0", + "availability": "", + "appear_on": "b296 & !b1302", + "on_purchase": "b8888", + "deionize": "150", + "max_ionization": "1000", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Raven", + "communication_name": "Raven", + "long_name": "Raven", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "182", + "weapon_3": "154", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "4", + "weapon_3_count": "4", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "80", + "weapon_3_ammo": "8", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "212", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x025C", + "flags_2": "0x00C3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 311: { + "resource_type": "ship", + "id": "311", + "name": "Arachnid", + "cargo": "25", + "shields": "975", + "shield_recharge": "85", + "armor": "565", + "armor_recharge": "40", + "acceleration": "500", + "max_speed": "330", + "turning": "70", + "fuel": "1200", + "free_mass": "40", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "19", + "cost": "3000000", + "death_delay": "65", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "147", + "mass": "650", + "length": "165", + "crew": "10", + "strength": "750", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!b1303", + "on_purchase": "b8888", + "deionize": "100", + "max_ionization": "525", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Arachnid", + "communication_name": "Arachnid", + "long_name": "Arachnid", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "148", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "177", + "outfit_2": "245", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0050", + "flags_2": "0x0081", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 312: { + "resource_type": "ship", + "id": "312", + "name": "Dragon", + "cargo": "50", + "shields": "465", + "shield_recharge": "15", + "armor": "190", + "armor_recharge": "5", + "acceleration": "425", + "max_speed": "325", + "turning": "40", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "22", + "cost": "900000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "148", + "mass": "100", + "length": "50", + "crew": "10", + "strength": "375", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "45", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "kemi", + "short_name": "Dragon", + "communication_name": "Dragon", + "long_name": "Dragon", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "159", + "escort_upgrade_cost": "175000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "145", + "weapon_2": "170", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "30", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "244", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0140", + "flags_2": "0x0081", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 313: { + "resource_type": "ship", + "id": "313", + "name": "Dragon", + "cargo": "50", + "shields": "465", + "shield_recharge": "30", + "armor": "340", + "armor_recharge": "20", + "acceleration": "500", + "max_speed": "350", + "turning": "60", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "22", + "cost": "1275000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "148", + "mass": "100", + "length": "50", + "crew": "10", + "strength": "450", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!b1305", + "on_purchase": "b8888", + "deionize": "75", + "max_ionization": "375", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Dragon", + "communication_name": "Dragon", + "long_name": "Dragon", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "145", + "weapon_2": "170", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "90", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "244", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0140", + "flags_2": "0x0081", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 314: { + "resource_type": "ship", + "id": "314", + "name": "Manta", + "cargo": "0", + "shields": "80", + "shield_recharge": "30", + "armor": "40", + "armor_recharge": "10", + "acceleration": "950", + "max_speed": "575", + "turning": "85", + "fuel": "300", + "free_mass": "0", + "max_guns": "1", + "max_turrets": "0", + "tech_level": "19", + "cost": "150000", + "death_delay": "13", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "150", + "mass": "8", + "length": "10", + "crew": "1", + "strength": "250", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "30", + "max_ionization": "120", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "kemi", + "short_name": "Manta", + "communication_name": "Manta", + "long_name": "Manta", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "161", + "escort_upgrade_cost": "100000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "147", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8030", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 315: { + "resource_type": "ship", + "id": "315", + "name": "Manta", + "cargo": "0", + "shields": "180", + "shield_recharge": "60", + "armor": "90", + "armor_recharge": "30", + "acceleration": "1175", + "max_speed": "660", + "turning": "120", + "fuel": "300", + "free_mass": "0", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "19", + "cost": "350000", + "death_delay": "13", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "150", + "mass": "8", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "45", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Manta", + "communication_name": "Manta", + "long_name": "Manta", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "147", + "weapon_2": "145", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "15", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8050", + "flags_2": "0x0081", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 316: { + "resource_type": "ship", + "id": "316", + "name": "Scarab", + "cargo": "100", + "shields": "1015", + "shield_recharge": "50", + "armor": "640", + "armor_recharge": "30", + "acceleration": "475", + "max_speed": "275", + "turning": "60", + "fuel": "1000", + "free_mass": "60", + "max_guns": "4", + "max_turrets": "3", + "tech_level": "19", + "cost": "9500000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "146", + "mass": "700", + "length": "200", + "crew": "20", + "strength": "950", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "10", + "skill_variation": "10", + "availability": "", + "appear_on": "!b1302", + "on_purchase": "b8888", + "deionize": "120", + "max_ionization": "700", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Scarab", + "communication_name": "Scarab", + "long_name": "Scarab", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "154", + "weapon_3": "148", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "4", + "weapon_3_ammo": "60", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "235", + "outfit_2": "245", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0058", + "flags_2": "0x0083", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 317: { + "resource_type": "ship", + "id": "317", + "name": "Striker", + "cargo": "20", + "shields": "675", + "shield_recharge": "60", + "armor": "375", + "armor_recharge": "20", + "acceleration": "675", + "max_speed": "360", + "turning": "80", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "19", + "cost": "1400000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "149", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "425", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!b1304", + "on_purchase": "b8888", + "deionize": "90", + "max_ionization": "400", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Striker", + "communication_name": "Striker", + "long_name": "Striker", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "147", + "weapon_2": "145", + "weapon_3": "170", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "60", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0050", + "flags_2": "0x0083", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 318: { + "resource_type": "ship", + "id": "318", + "name": "Striker", + "cargo": "20", + "shields": "525", + "shield_recharge": "60", + "armor": "265", + "armor_recharge": "6", + "acceleration": "550", + "max_speed": "330", + "turning": "60", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "19", + "cost": "700000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "149", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "375", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "45", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "kemi", + "short_name": "Striker", + "communication_name": "Striker", + "long_name": "Striker", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "163", + "escort_upgrade_cost": "400000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "147", + "weapon_2": "145", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "15", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0050", + "flags_2": "0x0083", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 319: { + "resource_type": "ship", + "id": "319", + "name": "Arachnid;Cloaking", + "cargo": "25", + "shields": "975", + "shield_recharge": "85", + "armor": "565", + "armor_recharge": "40", + "acceleration": "500", + "max_speed": "330", + "turning": "70", + "fuel": "1200", + "free_mass": "40", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "19", + "cost": "4500000", + "death_delay": "65", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "650", + "length": "165", + "crew": "10", + "strength": "750", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "(b1303 | b1309) & !b324", + "on_purchase": "b8888", + "deionize": "100", + "max_ionization": "525", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Arachnid", + "communication_name": "Arachnid", + "long_name": "Arachnid", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "148", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "177", + "outfit_2": "245", + "outfit_3": "269", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0030", + "flags_2": "0x5381", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 320: { + "resource_type": "ship", + "id": "320", + "name": "Dragon;Cloaking", + "cargo": "50", + "shields": "565", + "shield_recharge": "30", + "armor": "340", + "armor_recharge": "20", + "acceleration": "500", + "max_speed": "350", + "turning": "60", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "22", + "cost": "2500000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "100", + "length": "50", + "crew": "10", + "strength": "450", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "b1305 & !b324", + "on_purchase": "b8888", + "deionize": "75", + "max_ionization": "375", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Dragon", + "communication_name": "Dragon", + "long_name": "Dragon", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "145", + "weapon_2": "170", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "90", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "244", + "outfit_2": "268", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0122", + "flags_2": "0x5381", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 321: { + "resource_type": "ship", + "id": "321", + "name": "Scarab;Cloaking", + "cargo": "100", + "shields": "1015", + "shield_recharge": "50", + "armor": "640", + "armor_recharge": "30", + "acceleration": "475", + "max_speed": "275", + "turning": "60", + "fuel": "1000", + "free_mass": "60", + "max_guns": "4", + "max_turrets": "3", + "tech_level": "19", + "cost": "9500000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "700", + "length": "200", + "crew": "20", + "strength": "950", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "(b1302 | b1308) & !b323", + "on_purchase": "b8888", + "deionize": "120", + "max_ionization": "700", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Scarab", + "communication_name": "Scarab", + "long_name": "Scarab", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "154", + "weapon_3": "148", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "4", + "weapon_3_ammo": "60", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "235", + "outfit_2": "245", + "outfit_3": "268", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0050", + "flags_2": "0x5383", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 322: { + "resource_type": "ship", + "id": "322", + "name": "Striker;Cloaking", + "cargo": "20", + "shields": "675", + "shield_recharge": "60", + "armor": "375", + "armor_recharge": "20", + "acceleration": "675", + "max_speed": "360", + "turning": "80", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "19", + "cost": "1400000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "-5", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "425", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "b1304 & !b324", + "on_purchase": "b8888", + "deionize": "90", + "max_ionization": "400", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Striker", + "communication_name": "Striker", + "long_name": "Striker", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "147", + "weapon_2": "145", + "weapon_3": "170", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "60", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "269", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0030", + "flags_2": "0x5383", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 323: { + "resource_type": "ship", + "id": "323", + "name": "Raven;Cloaking", + "cargo": "200", + "shields": "2000", + "shield_recharge": "60", + "armor": "1125", + "armor_recharge": "30", + "acceleration": "400", + "max_speed": "255", + "turning": "50", + "fuel": "1500", + "free_mass": "100", + "max_guns": "7", + "max_turrets": "5", + "tech_level": "19", + "cost": "15000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "1200", + "length": "1200", + "crew": "30", + "strength": "1450", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "1", + "skill_variation": "0", + "availability": "", + "appear_on": "(b296 & b1302) & !b323", + "on_purchase": "b8888", + "deionize": "150", + "max_ionization": "1000", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Raven", + "communication_name": "Raven", + "long_name": "Raven", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "182", + "weapon_3": "154", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "4", + "weapon_3_count": "4", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "80", + "weapon_3_ammo": "8", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "212", + "outfit_3": "268", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x005C", + "flags_2": "0x53C3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 324: { + "resource_type": "ship", + "id": "324", + "name": "Raven", + "cargo": "200", + "shields": "2000", + "shield_recharge": "60", + "armor": "1125", + "armor_recharge": "30", + "acceleration": "400", + "max_speed": "255", + "turning": "50", + "fuel": "1500", + "free_mass": "100", + "max_guns": "7", + "max_turrets": "5", + "tech_level": "19", + "cost": "15000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "1200", + "length": "1200", + "crew": "30", + "strength": "1450", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "1", + "skill_variation": "0", + "availability": "", + "appear_on": "b1306 & !b1307", + "on_purchase": "b8888", + "deionize": "150", + "max_ionization": "1000", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Raven", + "communication_name": "Raven", + "long_name": "Raven", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "182", + "weapon_3": "154", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "4", + "weapon_3_count": "4", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "80", + "weapon_3_ammo": "8", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "212", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x005C", + "flags_2": "0x00C3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 325: { + "resource_type": "ship", + "id": "325", + "name": "Raven;Cloaking", + "cargo": "200", + "shields": "2000", + "shield_recharge": "60", + "armor": "1125", + "armor_recharge": "30", + "acceleration": "400", + "max_speed": "255", + "turning": "50", + "fuel": "1500", + "free_mass": "100", + "max_guns": "7", + "max_turrets": "5", + "tech_level": "19", + "cost": "15000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "1200", + "length": "1200", + "crew": "30", + "strength": "1450", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "1", + "skill_variation": "0", + "availability": "", + "appear_on": "b1307", + "on_purchase": "b8888", + "deionize": "150", + "max_ionization": "1000", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Raven", + "communication_name": "Raven", + "long_name": "Raven", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "182", + "weapon_3": "154", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "4", + "weapon_3_count": "4", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "80", + "weapon_3_ammo": "8", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "212", + "outfit_3": "269", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x005C", + "flags_2": "0x53C3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 326: { + "resource_type": "ship", + "id": "326", + "name": "Arachnid;Cloaking+fast jump", + "cargo": "25", + "shields": "975", + "shield_recharge": "85", + "armor": "565", + "armor_recharge": "40", + "acceleration": "500", + "max_speed": "330", + "turning": "70", + "fuel": "1200", + "free_mass": "40", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "19", + "cost": "4500000", + "death_delay": "65", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "650", + "length": "165", + "crew": "10", + "strength": "750", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "b324", + "on_purchase": "b8888", + "deionize": "100", + "max_ionization": "525", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Arachnid", + "communication_name": "Arachnid", + "long_name": "Arachnid", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "184", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "177", + "outfit_2": "245", + "outfit_3": "269", + "outfit_4": "274", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0034", + "flags_2": "0x53A1", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 327: { + "resource_type": "ship", + "id": "327", + "name": "Dragon;Cloaking+fast jump", + "cargo": "50", + "shields": "565", + "shield_recharge": "30", + "armor": "340", + "armor_recharge": "20", + "acceleration": "500", + "max_speed": "350", + "turning": "60", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "22", + "cost": "2400000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "100", + "length": "50", + "crew": "10", + "strength": "450", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "b324", + "on_purchase": "b8888", + "deionize": "75", + "max_ionization": "375", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Dragon", + "communication_name": "Dragon", + "long_name": "Dragon", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "183", + "weapon_2": "170", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "90", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "244", + "outfit_2": "269", + "outfit_3": "274", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x43A1", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 328: { + "resource_type": "ship", + "id": "328", + "name": "Scarab;Cloaking+fast jump", + "cargo": "100", + "shields": "1015", + "shield_recharge": "50", + "armor": "640", + "armor_recharge": "30", + "acceleration": "475", + "max_speed": "275", + "turning": "60", + "fuel": "1000", + "free_mass": "60", + "max_guns": "4", + "max_turrets": "3", + "tech_level": "19", + "cost": "9500000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "700", + "length": "200", + "crew": "20", + "strength": "950", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "b323", + "on_purchase": "b8888", + "deionize": "120", + "max_ionization": "700", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Scarab", + "communication_name": "Scarab", + "long_name": "Scarab", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "154", + "weapon_3": "184", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "4", + "weapon_3_ammo": "60", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "235", + "outfit_2": "245", + "outfit_3": "274", + "outfit_4": "269", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0052", + "flags_2": "0x53A3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 329: { + "resource_type": "ship", + "id": "329", + "name": "Striker;Cloaking+fast jump", + "cargo": "20", + "shields": "675", + "shield_recharge": "60", + "armor": "375", + "armor_recharge": "20", + "acceleration": "675", + "max_speed": "360", + "turning": "80", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "19", + "cost": "1450000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "-5", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "425", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "b324", + "on_purchase": "b8888", + "deionize": "90", + "max_ionization": "400", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Striker", + "communication_name": "Striker", + "long_name": "Striker", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "147", + "weapon_2": "183", + "weapon_3": "170", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "60", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "274", + "outfit_3": "269", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0032", + "flags_2": "0x53E3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 330: { + "resource_type": "ship", + "id": "330", + "name": "Raven;Cloaking+fast jump", + "cargo": "200", + "shields": "2000", + "shield_recharge": "60", + "armor": "1125", + "armor_recharge": "30", + "acceleration": "400", + "max_speed": "255", + "turning": "50", + "fuel": "1500", + "free_mass": "100", + "max_guns": "7", + "max_turrets": "5", + "tech_level": "19", + "cost": "15000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "1200", + "length": "1200", + "crew": "30", + "strength": "1450", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "1", + "skill_variation": "0", + "availability": "", + "appear_on": "b323", + "on_purchase": "b8888", + "deionize": "150", + "max_ionization": "1000", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Raven", + "communication_name": "Raven", + "long_name": "Raven", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "185", + "weapon_3": "154", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "4", + "weapon_3_count": "4", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "80", + "weapon_3_ammo": "8", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "212", + "outfit_3": "274", + "outfit_4": "269", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x005C", + "flags_2": "0x53E3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 331: { + "resource_type": "ship", + "id": "331", + "name": "Mod Starbridge", + "cargo": "5", + "shields": "495", + "shield_recharge": "75", + "armor": "265", + "armor_recharge": "0", + "acceleration": "675", + "max_speed": "475", + "turning": "65", + "fuel": "700", + "free_mass": "0", + "max_guns": "6", + "max_turrets": "2", + "tech_level": "32", + "cost": "820000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "189", + "mass": "125", + "length": "20", + "crew": "2", + "strength": "300", + "government": "-1", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "50", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class D", + "short_name": "Mod Starbridge", + "communication_name": "Mod Starbridge", + "long_name": "Light Capital Class S-25 Starbridge C", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "332", + "escort_upgrade_cost": "110000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "156", + "weapon_2": "135", + "weapon_3": "128", + "weapon_4": "133", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "3", + "weapon_3_count": "4", + "weapon_4_count": "2", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "24", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "239", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0134", + "flags_2": "0x008B", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 332: { + "resource_type": "ship", + "id": "332", + "name": "Mod Starbridge", + "cargo": "3", + "shields": "750", + "shield_recharge": "100", + "armor": "450", + "armor_recharge": "0", + "acceleration": "700", + "max_speed": "500", + "turning": "75", + "fuel": "700", + "free_mass": "0", + "max_guns": "6", + "max_turrets": "2", + "tech_level": "32", + "cost": "950000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "189", + "mass": "125", + "length": "20", + "crew": "2", + "strength": "320", + "government": "-1", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "80", + "max_ionization": "400", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class E", + "short_name": "Mod Starbridge", + "communication_name": "Mod Starbridge", + "long_name": "Light Capital Class S-25 Starbridge C", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "158", + "weapon_2": "135", + "weapon_3": "128", + "weapon_4": "129", + "weapon_5": "133", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "1", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "239", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0134", + "flags_2": "0x008B", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 333: { + "resource_type": "ship", + "id": "333", + "name": "Pirate Viper", + "cargo": "10", + "shields": "75", + "shield_recharge": "15", + "armor": "40", + "armor_recharge": "0", + "acceleration": "830", + "max_speed": "500", + "turning": "75", + "fuel": "300", + "free_mass": "10", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "16", + "cost": "145000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "163", + "mass": "10", + "length": "7", + "crew": "1", + "strength": "70", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Missile Variant", + "short_name": "Pirate Viper", + "communication_name": "Pirate Viper", + "long_name": "F-23 Viper (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "334", + "escort_upgrade_cost": "100000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "231", + "weapon_2": "134", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8120", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 334: { + "resource_type": "ship", + "id": "334", + "name": "Pirate Viper", + "cargo": "10", + "shields": "80", + "shield_recharge": "20", + "armor": "45", + "armor_recharge": "0", + "acceleration": "850", + "max_speed": "500", + "turning": "80", + "fuel": "300", + "free_mass": "10", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "16", + "cost": "250000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "163", + "mass": "10", + "length": "7", + "crew": "1", + "strength": "80", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "25", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Beam Variant", + "short_name": "Pirate Viper", + "communication_name": "Pirate Viper", + "long_name": "F-23 Viper (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "166", + "weapon_2": "138", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "12", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8120", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 335: { + "resource_type": "ship", + "id": "335", + "name": "Viper", + "cargo": "5", + "shields": "50", + "shield_recharge": "15", + "armor": "30", + "armor_recharge": "0", + "acceleration": "925", + "max_speed": "525", + "turning": "85", + "fuel": "200", + "free_mass": "10", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "4", + "cost": "110000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "197", + "mass": "10", + "length": "7", + "crew": "1", + "strength": "35", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "40", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "10", + "max_ionization": "40", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Hvy Fighter Class", + "short_name": "Viper", + "communication_name": "Viper", + "long_name": "Comara Racing Viper", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "336", + "escort_upgrade_cost": "40000", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "128", + "weapon_2": "138", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8120", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 336: { + "resource_type": "ship", + "id": "336", + "name": "Viper", + "cargo": "5", + "shields": "60", + "shield_recharge": "20", + "armor": "30", + "armor_recharge": "0", + "acceleration": "950", + "max_speed": "550", + "turning": "90", + "fuel": "200", + "free_mass": "10", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "4", + "cost": "150000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "197", + "mass": "10", + "length": "7", + "crew": "1", + "strength": "40", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "40", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "14", + "max_ionization": "45", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Auroran Outfits Detected", + "short_name": "Viper", + "communication_name": "Viper", + "long_name": "Comara Racing Viper", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "155", + "weapon_2": "138", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "50", + "weapon_2_ammo": "12", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8120", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 337: { + "resource_type": "ship", + "id": "337", + "name": "Rebel Viper", + "cargo": "15", + "shields": "90", + "shield_recharge": "30", + "armor": "45", + "armor_recharge": "0", + "acceleration": "930", + "max_speed": "500", + "turning": "90", + "fuel": "400", + "free_mass": "10", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "15", + "cost": "200000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "124", + "mass": "10", + "length": "7", + "crew": "1", + "strength": "80", + "government": "1141", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "", + "deionize": "20", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Hvy Fighter Class", + "short_name": "Rebel Viper", + "communication_name": "Rebel Viper", + "long_name": "F-23 Viper (Rebel Variant)", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "339", + "escort_upgrade_cost": "60000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "231", + "weapon_2": "129", + "weapon_3": "138", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "12", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 338: { + "resource_type": "ship", + "id": "338", + "name": "Rebel Viper", + "cargo": "15", + "shields": "105", + "shield_recharge": "50", + "armor": "55", + "armor_recharge": "0", + "acceleration": "950", + "max_speed": "500", + "turning": "90", + "fuel": "400", + "free_mass": "10", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "15", + "cost": "155000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "124", + "mass": "10", + "length": "7", + "crew": "1", + "strength": "75", + "government": "1141", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "", + "deionize": "25", + "max_ionization": "60", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Interceptor Class", + "short_name": "Rebel Viper", + "communication_name": "Rebel Viper", + "long_name": "F-23 Viper (Rebel Variant)", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "337", + "escort_upgrade_cost": "45000", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "231", + "weapon_2": "138", + "weapon_3": "135", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "8", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 339: { + "resource_type": "ship", + "id": "339", + "name": "Rebel Viper", + "cargo": "10", + "shields": "180", + "shield_recharge": "60", + "armor": "90", + "armor_recharge": "0", + "acceleration": "900", + "max_speed": "475", + "turning": "75", + "fuel": "400", + "free_mass": "10", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "15", + "cost": "275000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "124", + "mass": "10", + "length": "7", + "crew": "1", + "strength": "120", + "government": "1141", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "", + "deionize": "40", + "max_ionization": "80", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Light Gunboat Class", + "short_name": "Rebel Viper", + "communication_name": "Rebel Viper", + "long_name": "F-23 Viper (Rebel Variant)", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "166", + "weapon_3": "135", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "10", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 340: { + "resource_type": "ship", + "id": "340", + "name": "Rebel Starbridge", + "cargo": "20", + "shields": "480", + "shield_recharge": "65", + "armor": "165", + "armor_recharge": "0", + "acceleration": "620", + "max_speed": "450", + "turning": "55", + "fuel": "500", + "free_mass": "10", + "max_guns": "5", + "max_turrets": "2", + "tech_level": "15", + "cost": "725000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "128", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "275", + "government": "1141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "50", + "max_ionization": "225", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class C", + "short_name": "Rebel\\\\nStarbridge", + "communication_name": "Rebel Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "342", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "136", + "weapon_3": "130", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "3", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "24", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "197", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 341: { + "resource_type": "ship", + "id": "341", + "name": "Rebel Starbridge", + "cargo": "20", + "shields": "445", + "shield_recharge": "59", + "armor": "145", + "armor_recharge": "0", + "acceleration": "580", + "max_speed": "420", + "turning": "50", + "fuel": "500", + "free_mass": "24", + "max_guns": "5", + "max_turrets": "2", + "tech_level": "15", + "cost": "725000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "128", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "275", + "government": "1141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "40", + "max_ionization": "210", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class C", + "short_name": "Rebel\\\\nStarbridge", + "communication_name": "Rebel Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "342", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "156", + "weapon_2": "136", + "weapon_3": "130", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "197", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 342: { + "resource_type": "ship", + "id": "342", + "name": "Rebel Starbridge", + "cargo": "10", + "shields": "525", + "shield_recharge": "70", + "armor": "225", + "armor_recharge": "0", + "acceleration": "660", + "max_speed": "460", + "turning": "60", + "fuel": "500", + "free_mass": "0", + "max_guns": "5", + "max_turrets": "2", + "tech_level": "15", + "cost": "800000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "128", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "300", + "government": "1141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "60", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class D", + "short_name": "Rebel\\\\nStarbridge", + "communication_name": "Rebel Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "343", + "escort_upgrade_cost": "65000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "158", + "weapon_2": "129", + "weapon_3": "135", + "weapon_4": "133", + "weapon_5": "230", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "3", + "weapon_3_count": "2", + "weapon_4_count": "1", + "weapon_5_count": "1", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "20", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "20", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "197", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 343: { + "resource_type": "ship", + "id": "343", + "name": "Rebel Starbridge", + "cargo": "10", + "shields": "675", + "shield_recharge": "90", + "armor": "300", + "armor_recharge": "0", + "acceleration": "700", + "max_speed": "475", + "turning": "70", + "fuel": "500", + "free_mass": "0", + "max_guns": "5", + "max_turrets": "2", + "tech_level": "15", + "cost": "875000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "128", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "325", + "government": "1141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "90", + "max_ionization": "400", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class E", + "short_name": "Rebel\\\\nStarbridge", + "communication_name": "Rebel Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "158", + "weapon_2": "129", + "weapon_3": "133", + "weapon_4": "219", + "weapon_5": "230", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "1", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "20", + "weapon_5_ammo": "30", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "197", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 344: { + "resource_type": "ship", + "id": "344", + "name": "Rebel Valkyrie", + "cargo": "20", + "shields": "450", + "shield_recharge": "55", + "armor": "150", + "armor_recharge": "0", + "acceleration": "600", + "max_speed": "425", + "turning": "45", + "fuel": "500", + "free_mass": "15", + "max_guns": "6", + "max_turrets": "2", + "tech_level": "15", + "cost": "425000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "127", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "225", + "government": "1141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "", + "deionize": "40", + "max_ionization": "130", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Class III", + "short_name": "Rebel Valkyrie", + "communication_name": "Rebel Valkyrie", + "long_name": "Porsche Valkyrie (Rebel Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "345", + "escort_upgrade_cost": "40000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "138", + "weapon_3": "231", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "80", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "197", + "outfit_2": "246", + "outfit_3": "247", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 345: { + "resource_type": "ship", + "id": "345", + "name": "Rebel Valkyrie", + "cargo": "20", + "shields": "475", + "shield_recharge": "60", + "armor": "170", + "armor_recharge": "0", + "acceleration": "650", + "max_speed": "555", + "turning": "50", + "fuel": "500", + "free_mass": "0", + "max_guns": "6", + "max_turrets": "2", + "tech_level": "15", + "cost": "475000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "127", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "250", + "government": "1141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "", + "deionize": "50", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Class IV", + "short_name": "Rebel Valkyrie", + "communication_name": "Rebel Valkyrie", + "long_name": "Porsche Valkyrie (Rebel Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "346", + "escort_upgrade_cost": "55000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "156", + "weapon_2": "135", + "weapon_3": "129", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "80", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "197", + "outfit_2": "246", + "outfit_3": "247", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 346: { + "resource_type": "ship", + "id": "346", + "name": "Rebel Valkyrie", + "cargo": "10", + "shields": "550", + "shield_recharge": "65", + "armor": "325", + "armor_recharge": "0", + "acceleration": "700", + "max_speed": "580", + "turning": "55", + "fuel": "500", + "free_mass": "0", + "max_guns": "6", + "max_turrets": "2", + "tech_level": "15", + "cost": "525000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "127", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "275", + "government": "1141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "", + "deionize": "75", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Class V", + "short_name": "Rebel Valkyrie", + "communication_name": "Rebel Valkyrie", + "long_name": "Porsche Valkyrie (Rebel Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "158", + "weapon_2": "156", + "weapon_3": "129", + "weapon_4": "133", + "weapon_5": "219", + "weapon_6": "230", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "2", + "weapon_6_count": "1", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "30", + "weapon_6_ammo": "10", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "197", + "outfit_2": "246", + "outfit_3": "247", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 347: { + "resource_type": "ship", + "id": "347", + "name": "Rebel Dragon", + "cargo": "50", + "shields": "600", + "shield_recharge": "40", + "armor": "300", + "armor_recharge": "0", + "acceleration": "480", + "max_speed": "330", + "turning": "60", + "fuel": "1000", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "1", + "tech_level": "15", + "cost": "4000000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "130", + "mass": "100", + "length": "50", + "crew": "10", + "strength": "425", + "government": "1141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!(b332 | b148) & (b128 | b179)", + "on_purchase": "b8888", + "deionize": "65", + "max_ionization": "350", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Carrier Class", + "short_name": "Rebel Dragon", + "communication_name": "Rebel Dragon", + "long_name": "Rebel Dragon", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "219", + "weapon_2": "147", + "weapon_3": "158", + "weapon_4": "192", + "weapon_5": "193", + "weapon_6": "194", + "weapon_7": "195", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "2", + "weapon_4_count": "1", + "weapon_5_count": "1", + "weapon_6_count": "1", + "weapon_7_count": "1", + "weapon_8_count": "0", + "weapon_1_ammo": "80", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "1", + "weapon_5_ammo": "1", + "weapon_6_ammo": "1", + "weapon_7_ammo": "1", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "197", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x0081", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 348: { + "resource_type": "ship", + "id": "348", + "name": "Rebel Destroyer", + "cargo": "50", + "shields": "800", + "shield_recharge": "30", + "armor": "850", + "armor_recharge": "0", + "acceleration": "260", + "max_speed": "190", + "turning": "35", + "fuel": "300", + "free_mass": "75", + "max_guns": "6", + "max_turrets": "3", + "tech_level": "15", + "cost": "2500000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "129", + "mass": "800", + "length": "150", + "crew": "50", + "strength": "375", + "government": "1141", + "escape_pod_count": "2", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "60", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Hvy Destroyer Class", + "short_name": "Rebel\\\\nDestroyer", + "communication_name": "Rebel Destroyer", + "long_name": "E-41 Destroyer (Rebel Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "349", + "escort_upgrade_cost": "750000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "133", + "weapon_2": "136", + "weapon_3": "129", + "weapon_4": "139", + "weapon_5": "132", + "weapon_6": "158", + "weapon_7": "230", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "2", + "weapon_5_count": "1", + "weapon_6_count": "2", + "weapon_7_count": "2", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "20", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "60", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "-1", + "weapon_7_ammo": "30", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4130", + "flags_2": "0x0083", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 349: { + "resource_type": "ship", + "id": "349", + "name": "Rebel Destroyer", + "cargo": "50", + "shields": "900", + "shield_recharge": "50", + "armor": "975", + "armor_recharge": "0", + "acceleration": "255", + "max_speed": "180", + "turning": "45", + "fuel": "300", + "free_mass": "75", + "max_guns": "6", + "max_turrets": "3", + "tech_level": "15", + "cost": "3250000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "129", + "mass": "800", + "length": "150", + "crew": "50", + "strength": "350", + "government": "1141", + "escape_pod_count": "2", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "60", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Sup Hvy Destroyer Class", + "short_name": "Rebel\\\\nDestroyer", + "communication_name": "Rebel Destroyer", + "long_name": "E-41 Destroyer (Rebel Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "350", + "escort_upgrade_cost": "750000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "133", + "weapon_2": "136", + "weapon_3": "129", + "weapon_4": "139", + "weapon_5": "147", + "weapon_6": "158", + "weapon_7": "128", + "weapon_8": "219", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "1", + "weapon_6_count": "2", + "weapon_7_count": "1", + "weapon_8_count": "1", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "90", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "-1", + "weapon_7_ammo": "-1", + "weapon_8_ammo": "20", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4130", + "flags_2": "0x0083", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 350: { + "resource_type": "ship", + "id": "350", + "name": "Rebel Destroyer", + "cargo": "50", + "shields": "790", + "shield_recharge": "30", + "armor": "825", + "armor_recharge": "0", + "acceleration": "285", + "max_speed": "210", + "turning": "40", + "fuel": "300", + "free_mass": "75", + "max_guns": "6", + "max_turrets": "3", + "tech_level": "15", + "cost": "4000000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "129", + "mass": "800", + "length": "150", + "crew": "50", + "strength": "375", + "government": "1141", + "escape_pod_count": "2", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "45", + "max_ionization": "220", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Carrier Class", + "short_name": "Rebel\\\\nDestroyer", + "communication_name": "Rebel Destroyer", + "long_name": "E-41 Destroyer (Rebel Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "133", + "weapon_2": "136", + "weapon_3": "129", + "weapon_4": "139", + "weapon_5": "192", + "weapon_6": "193", + "weapon_7": "194", + "weapon_8": "195", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "2", + "weapon_5_count": "2", + "weapon_6_count": "1", + "weapon_7_count": "1", + "weapon_8_count": "1", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "90", + "weapon_5_ammo": "2", + "weapon_6_ammo": "1", + "weapon_7_ammo": "1", + "weapon_8_ammo": "1", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4130", + "flags_2": "0x0083", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 351: { + "resource_type": "ship", + "id": "351", + "name": "Fed Scout Ship", + "cargo": "25", + "shields": "250", + "shield_recharge": "35", + "armor": "200", + "armor_recharge": "0", + "acceleration": "650", + "max_speed": "500", + "turning": "65", + "fuel": "900", + "free_mass": "30", + "max_guns": "5", + "max_turrets": "1", + "tech_level": "14", + "cost": "400000", + "death_delay": "35", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "172", + "mass": "75", + "length": "20", + "crew": "4", + "strength": "180", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "4", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "8", + "max_ionization": "70", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Fighter Class", + "short_name": "Fed Scout Ship", + "communication_name": "Fed Scout Ship", + "long_name": "Sigma Shipyards H-28 Scout Ship", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "231", + "weapon_2": "138", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "197", + "outfit_2": "240", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x0088", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 352: { + "resource_type": "ship", + "id": "352", + "name": "Rebel Thunderhead", + "cargo": "15", + "shields": "105", + "shield_recharge": "25", + "armor": "50", + "armor_recharge": "0", + "acceleration": "720", + "max_speed": "500", + "turning": "70", + "fuel": "400", + "free_mass": "10", + "max_guns": "5", + "max_turrets": "0", + "tech_level": "15", + "cost": "300000", + "death_delay": "15", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "125", + "mass": "20", + "length": "10", + "crew": "3", + "strength": "95", + "government": "1141", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "", + "deionize": "30", + "max_ionization": "100", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Rebel Upgrade", + "short_name": "Rebel\\\\nThunderhead", + "communication_name": "Thunderhead", + "long_name": "Rebel Thunderhead", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "353", + "escort_upgrade_cost": "35000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "231", + "weapon_2": "135", + "weapon_3": "166", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0144", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 353: { + "resource_type": "ship", + "id": "353", + "name": "Rebel Thunderhead", + "cargo": "15", + "shields": "135", + "shield_recharge": "45", + "armor": "70", + "armor_recharge": "0", + "acceleration": "775", + "max_speed": "550", + "turning": "75", + "fuel": "400", + "free_mass": "10", + "max_guns": "5", + "max_turrets": "0", + "tech_level": "15", + "cost": "350000", + "death_delay": "15", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "125", + "mass": "20", + "length": "10", + "crew": "3", + "strength": "105", + "government": "1141", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "", + "deionize": "50", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Rebel Upgrade", + "short_name": "Rebel\\\\nThunderhead", + "communication_name": "Thunderhead", + "long_name": "Rebel Thunderhead", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "231", + "weapon_2": "219", + "weapon_3": "166", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0144", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 354: { + "resource_type": "ship", + "id": "354", + "name": "Pirate Thunderhead", + "cargo": "10", + "shields": "150", + "shield_recharge": "25", + "armor": "260", + "armor_recharge": "0", + "acceleration": "650", + "max_speed": "450", + "turning": "60", + "fuel": "300", + "free_mass": "5", + "max_guns": "5", + "max_turrets": "0", + "tech_level": "16", + "cost": "500000", + "death_delay": "15", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "164", + "mass": "15", + "length": "12", + "crew": "1", + "strength": "150", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "80", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Upgraded After Capture", + "short_name": "Pirate\\\\nThunderhead", + "communication_name": "Thunderhead", + "long_name": "Pirate Thunderhead", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "166", + "weapon_2": "135", + "weapon_3": "156", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "20", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 355: { + "resource_type": "ship", + "id": "355", + "name": "Rebel Dragon", + "cargo": "50", + "shields": "450", + "shield_recharge": "20", + "armor": "225", + "armor_recharge": "0", + "acceleration": "450", + "max_speed": "325", + "turning": "50", + "fuel": "1000", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "1", + "tech_level": "15", + "cost": "4000000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "130", + "mass": "100", + "length": "50", + "crew": "10", + "strength": "375", + "government": "1141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!(b332 | b148) & b753", + "on_purchase": "b8888", + "deionize": "55", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heavy Destroyer Class", + "short_name": "Rebel Dragon", + "communication_name": "Rebel Dragon", + "long_name": "Rebel Dragon", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "357", + "escort_upgrade_cost": "1000000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "219", + "weapon_2": "147", + "weapon_3": "230", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "60", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "20", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "197", + "outfit_4": "234", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x4281", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 356: { + "resource_type": "ship", + "id": "356", + "name": "Rebel Destroyer", + "cargo": "50", + "shields": "765", + "shield_recharge": "21", + "armor": "775", + "armor_recharge": "0", + "acceleration": "265", + "max_speed": "200", + "turning": "30", + "fuel": "300", + "free_mass": "75", + "max_guns": "6", + "max_turrets": "3", + "tech_level": "15", + "cost": "2500000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "129", + "mass": "800", + "length": "150", + "crew": "50", + "strength": "350", + "government": "1141", + "escape_pod_count": "2", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "35", + "max_ionization": "190", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Destroyer Class", + "short_name": "Rebel\\\\nDestroyer", + "communication_name": "Rebel Destroyer", + "long_name": "E-41 Destroyer (Rebel Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "358", + "escort_upgrade_cost": "500000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "133", + "weapon_2": "136", + "weapon_3": "129", + "weapon_4": "139", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "2", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "90", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4130", + "flags_2": "0x4283", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 357: { + "resource_type": "ship", + "id": "357", + "name": "Rebel Dragon", + "cargo": "50", + "shields": "600", + "shield_recharge": "40", + "armor": "300", + "armor_recharge": "0", + "acceleration": "480", + "max_speed": "330", + "turning": "60", + "fuel": "1000", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "1", + "tech_level": "15", + "cost": "5000000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "130", + "mass": "100", + "length": "50", + "crew": "10", + "strength": "425", + "government": "1141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "!(b332 | b148) & b753", + "on_purchase": "b8888", + "deionize": "65", + "max_ionization": "350", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Carrier Class", + "short_name": "Rebel Dragon", + "communication_name": "Rebel Dragon", + "long_name": "Rebel Dragon", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "219", + "weapon_2": "147", + "weapon_3": "158", + "weapon_4": "192", + "weapon_5": "193", + "weapon_6": "194", + "weapon_7": "195", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "2", + "weapon_4_count": "1", + "weapon_5_count": "1", + "weapon_6_count": "1", + "weapon_7_count": "1", + "weapon_8_count": "0", + "weapon_1_ammo": "80", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "1", + "weapon_5_ammo": "1", + "weapon_6_ammo": "1", + "weapon_7_ammo": "1", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "197", + "outfit_4": "234", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x4281", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 358: { + "resource_type": "ship", + "id": "358", + "name": "Rebel Destroyer", + "cargo": "50", + "shields": "700", + "shield_recharge": "30", + "armor": "850", + "armor_recharge": "0", + "acceleration": "260", + "max_speed": "190", + "turning": "35", + "fuel": "300", + "free_mass": "75", + "max_guns": "6", + "max_turrets": "3", + "tech_level": "15", + "cost": "3000000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "129", + "mass": "800", + "length": "150", + "crew": "50", + "strength": "375", + "government": "1141", + "escape_pod_count": "2", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "60", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Hvy Destroyer Class", + "short_name": "Rebel\\\\nDestroyer", + "communication_name": "Rebel Destroyer", + "long_name": "E-41 Destroyer (Rebel Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "359", + "escort_upgrade_cost": "750000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "133", + "weapon_2": "136", + "weapon_3": "129", + "weapon_4": "139", + "weapon_5": "132", + "weapon_6": "158", + "weapon_7": "230", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "2", + "weapon_5_count": "1", + "weapon_6_count": "2", + "weapon_7_count": "2", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "20", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "60", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "-1", + "weapon_7_ammo": "30", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "234", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4130", + "flags_2": "0x4283", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 359: { + "resource_type": "ship", + "id": "359", + "name": "Rebel Destroyer", + "cargo": "50", + "shields": "900", + "shield_recharge": "50", + "armor": "975", + "armor_recharge": "0", + "acceleration": "255", + "max_speed": "180", + "turning": "45", + "fuel": "300", + "free_mass": "75", + "max_guns": "6", + "max_turrets": "3", + "tech_level": "15", + "cost": "3750000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "129", + "mass": "800", + "length": "150", + "crew": "50", + "strength": "350", + "government": "1141", + "escape_pod_count": "2", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "60", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Sup Hvy Destroyer Class", + "short_name": "Rebel\\\\nDestroyer", + "communication_name": "Rebel Destroyer", + "long_name": "E-41 Destroyer (Rebel Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "360", + "escort_upgrade_cost": "750000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "133", + "weapon_2": "136", + "weapon_3": "129", + "weapon_4": "139", + "weapon_5": "147", + "weapon_6": "158", + "weapon_7": "231", + "weapon_8": "219", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "1", + "weapon_6_count": "2", + "weapon_7_count": "1", + "weapon_8_count": "1", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "90", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "-1", + "weapon_7_ammo": "-1", + "weapon_8_ammo": "20", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "234", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4130", + "flags_2": "0x4283", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 360: { + "resource_type": "ship", + "id": "360", + "name": "Rebel Destroyer", + "cargo": "50", + "shields": "690", + "shield_recharge": "30", + "armor": "825", + "armor_recharge": "0", + "acceleration": "285", + "max_speed": "210", + "turning": "40", + "fuel": "300", + "free_mass": "75", + "max_guns": "6", + "max_turrets": "3", + "tech_level": "15", + "cost": "4500000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "129", + "mass": "800", + "length": "150", + "crew": "50", + "strength": "375", + "government": "1141", + "escape_pod_count": "2", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "45", + "max_ionization": "220", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Carrier Class", + "short_name": "Rebel\\\\nDestroyer", + "communication_name": "Rebel Destroyer", + "long_name": "E-41 Destroyer (Rebel Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "133", + "weapon_2": "136", + "weapon_3": "129", + "weapon_4": "139", + "weapon_5": "192", + "weapon_6": "193", + "weapon_7": "194", + "weapon_8": "195", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "2", + "weapon_5_count": "2", + "weapon_6_count": "1", + "weapon_7_count": "1", + "weapon_8_count": "1", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "90", + "weapon_5_ammo": "2", + "weapon_6_ammo": "1", + "weapon_7_ammo": "1", + "weapon_8_ammo": "1", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "234", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4130", + "flags_2": "0x4283", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 361: { + "resource_type": "ship", + "id": "361", + "name": "Shuttle;Second-Hand - poor", + "cargo": "9", + "shields": "27", + "shield_recharge": "8", + "armor": "27", + "armor_recharge": "0", + "acceleration": "480", + "max_speed": "380", + "turning": "37", + "fuel": "300", + "free_mass": "7", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "3", + "cost": "4995", + "death_delay": "25", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "200", + "mass": "15", + "length": "8", + "crew": "1", + "strength": "1", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "1", + "max_ionization": "5", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "50", + "hire_random": "55", + "on_capture": "", + "on_retire": "", + "subtitle": "Version A", + "short_name": "Shuttle\\\\n- used -", + "communication_name": "Shuttle", + "long_name": "Sigma Shipyards Alpha class Shuttle", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "128", + "escort_upgrade_cost": "6000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "128", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0100", + "flags_2": "0x0088", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 362: { + "resource_type": "ship", + "id": "362", + "name": "Shuttle;Second-Hand - upgraded", + "cargo": "12", + "shields": "33", + "shield_recharge": "10", + "armor": "33", + "armor_recharge": "0", + "acceleration": "530", + "max_speed": "410", + "turning": "43", + "fuel": "300", + "free_mass": "8", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "3", + "cost": "60000", + "death_delay": "25", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "200", + "mass": "15", + "length": "8", + "crew": "1", + "strength": "2", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "1", + "max_ionization": "5", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "20", + "hire_random": "25", + "on_capture": "", + "on_retire": "", + "subtitle": "Version A", + "short_name": "Shuttle\\\\n- used -", + "communication_name": "Shuttle", + "long_name": "Sigma Shipyards Alpha class Shuttle", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "128", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "184", + "outfit_2": "185", + "outfit_3": "186", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0088", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 363: { + "resource_type": "ship", + "id": "363", + "name": "Heavy Shuttle;Second-Hand - poor", + "cargo": "14", + "shields": "42", + "shield_recharge": "8", + "armor": "42", + "armor_recharge": "0", + "acceleration": "450", + "max_speed": "360", + "turning": "35", + "fuel": "400", + "free_mass": "11", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "3", + "cost": "9995", + "death_delay": "25", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "199", + "mass": "25", + "length": "12", + "crew": "2", + "strength": "2", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "2", + "max_ionization": "7", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "50", + "hire_random": "55", + "on_capture": "", + "on_retire": "", + "subtitle": "Version A", + "short_name": "Heavy Shuttle\\\\n- used -", + "communication_name": "Heavy Shuttle", + "long_name": "Sigma Shipyards Epsilon Class Heavy Shuttle", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "129", + "escort_upgrade_cost": "10000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "128", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0088", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 364: { + "resource_type": "ship", + "id": "364", + "name": "Heavy Shuttle;Second-Hand - upgrade", + "cargo": "15", + "shields": "50", + "shield_recharge": "12", + "armor": "50", + "armor_recharge": "0", + "acceleration": "500", + "max_speed": "400", + "turning": "42", + "fuel": "400", + "free_mass": "6", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "4", + "cost": "75000", + "death_delay": "25", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "199", + "mass": "25", + "length": "12", + "crew": "2", + "strength": "3", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "2", + "max_ionization": "7", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "35", + "hire_random": "40", + "on_capture": "", + "on_retire": "", + "subtitle": "Version A", + "short_name": "Heavy Shuttle\\\\n- used -", + "communication_name": "Heavy Shuttle", + "long_name": "Sigma Shipyards Epsilon Class Heavy Shuttle", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "231", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "184", + "outfit_2": "185", + "outfit_3": "186", + "outfit_4": "256", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0088", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 365: { + "resource_type": "ship", + "id": "365", + "name": "Pegasus;Second-Hand - poor", + "cargo": "950", + "shields": "400", + "shield_recharge": "19", + "armor": "105", + "armor_recharge": "0", + "acceleration": "140", + "max_speed": "140", + "turning": "23", + "fuel": "700", + "free_mass": "15", + "max_guns": "1", + "max_turrets": "1", + "tech_level": "20", + "cost": "1250000", + "death_delay": "175", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "181", + "mass": "2000", + "length": "100", + "crew": "10", + "strength": "75", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "b33 & !(b424 | b46)", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "175", + "key_carried": "0", + "contribute_bits": "0x0000000000000021", + "require_bits": "0x0000004000000000", + "buy_random": "30", + "hire_random": "25", + "on_capture": "", + "on_retire": "", + "subtitle": "12b Model", + "short_name": "Pegasus\\\\n- used -", + "communication_name": "Pegasus", + "long_name": "Sigma Shipyards Beta Model Pegasus Transport", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "132", + "escort_upgrade_cost": "800000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "131", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0100", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 366: { + "resource_type": "ship", + "id": "366", + "name": "Pegasus;Second-Hand - upgraded", + "cargo": "900", + "shields": "415", + "shield_recharge": "22", + "armor": "115", + "armor_recharge": "0", + "acceleration": "175", + "max_speed": "160", + "turning": "27", + "fuel": "700", + "free_mass": "0", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "20", + "cost": "2750000", + "death_delay": "175", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "181", + "mass": "2000", + "length": "100", + "crew": "10", + "strength": "75", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "b33 & !(b424 | b46)", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "175", + "key_carried": "0", + "contribute_bits": "0x0000000000000021", + "require_bits": "0x0000004000000000", + "buy_random": "15", + "hire_random": "10", + "on_capture": "", + "on_retire": "", + "subtitle": "12b Model", + "short_name": "Pegasus\\\\n- used -", + "communication_name": "Pegasus", + "long_name": "Sigma Shipyards Beta Model Pegasus Transport", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "131", + "weapon_2": "129", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "184", + "outfit_2": "185", + "outfit_3": "186", + "outfit_4": "197", + "outfit_5": "193", + "outfit_6": "180", + "outfit_7": "260", + "outfit_8": "257", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "2", + "outfit_6_count": "3", + "outfit_7_count": "1", + "outfit_8_count": "1", + "flags_1": "0x0120", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 367: { + "resource_type": "ship", + "id": "367", + "name": "Starbridge;Second-Hand - poor", + "cargo": "20", + "shields": "420", + "shield_recharge": "55", + "armor": "125", + "armor_recharge": "0", + "acceleration": "535", + "max_speed": "385", + "turning": "45", + "fuel": "500", + "free_mass": "35", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "5", + "cost": "400000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "189", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "250", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "!b424", + "appear_on": "", + "on_purchase": "", + "deionize": "30", + "max_ionization": "190", + "key_carried": "0", + "contribute_bits": "0x0000000080000001", + "require_bits": "0x0000000300000000", + "buy_random": "35", + "hire_random": "40", + "on_capture": "", + "on_retire": "", + "subtitle": "Class A", + "short_name": "Starbridge\\\\n- used -", + "communication_name": "Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "133", + "escort_upgrade_cost": "250000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "6", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 368: { + "resource_type": "ship", + "id": "368", + "name": "Starbridge;Second-Hand - upgraded", + "cargo": "15", + "shields": "435", + "shield_recharge": "64", + "armor": "135", + "armor_recharge": "0", + "acceleration": "550", + "max_speed": "400", + "turning": "50", + "fuel": "500", + "free_mass": "0", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "5", + "cost": "650000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "189", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "250", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "!b424", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000080000001", + "require_bits": "0x0000000B00000000", + "buy_random": "25", + "hire_random": "30", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class C", + "short_name": "Starbridge\\\\n- used -", + "communication_name": "Star Bridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "197", + "escort_upgrade_cost": "40000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "135", + "weapon_3": "130", + "weapon_4": "131", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "1", + "weapon_3_count": "1", + "weapon_4_count": "1", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "239", + "outfit_3": "184", + "outfit_4": "185", + "outfit_5": "186", + "outfit_6": "180", + "outfit_7": "197", + "outfit_8": "256", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "1", + "outfit_6_count": "3", + "outfit_7_count": "1", + "outfit_8_count": "2", + "flags_1": "0x0120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 369: { + "resource_type": "ship", + "id": "369", + "name": "Terrapin;Second-Hand - poor", + "cargo": "125", + "shields": "210", + "shield_recharge": "14", + "armor": "65", + "armor_recharge": "0", + "acceleration": "225", + "max_speed": "160", + "turning": "30", + "fuel": "400", + "free_mass": "20", + "max_guns": "1", + "max_turrets": "0", + "tech_level": "4", + "cost": "110000", + "death_delay": "65", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "195", + "mass": "175", + "length": "25", + "crew": "4", + "strength": "20", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "8", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "55", + "hire_random": "65", + "on_capture": "", + "on_retire": "", + "subtitle": "Standard", + "short_name": "Terrapin\\\\n- used -", + "communication_name": "Terrapin", + "long_name": "Terrapin Light Freighter", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "136", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "-1", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "0", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 370: { + "resource_type": "ship", + "id": "370", + "name": "Terrapin;Second-Hand - upgraded", + "cargo": "95", + "shields": "225", + "shield_recharge": "15", + "armor": "75", + "armor_recharge": "0", + "acceleration": "300", + "max_speed": "200", + "turning": "40", + "fuel": "400", + "free_mass": "8", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "4", + "cost": "400000", + "death_delay": "65", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "195", + "mass": "175", + "length": "25", + "crew": "4", + "strength": "20", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "8", + "max_ionization": "50", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "25", + "hire_random": "35", + "on_capture": "", + "on_retire": "", + "subtitle": "Standard", + "short_name": "Terrapin\\\\n- used -", + "communication_name": "Terrapin", + "long_name": "Terrapin Light Freighter", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "203", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "129", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "180", + "outfit_2": "184", + "outfit_3": "185", + "outfit_4": "197", + "outfit_5": "228", + "outfit_6": "256", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "3", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "2", + "outfit_6_count": "3", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 371: { + "resource_type": "ship", + "id": "371", + "name": "Valkyrie;Second-Hand - poor", + "cargo": "20", + "shields": "375", + "shield_recharge": "15", + "armor": "100", + "armor_recharge": "0", + "acceleration": "450", + "max_speed": "415", + "turning": "35", + "fuel": "500", + "free_mass": "40", + "max_guns": "5", + "max_turrets": "1", + "tech_level": "5", + "cost": "200000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "191", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "200", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "100", + "key_carried": "0", + "contribute_bits": "0x0000000040000001", + "require_bits": "0x0000000000000000", + "buy_random": "50", + "hire_random": "60", + "on_capture": "", + "on_retire": "", + "subtitle": "Class I", + "short_name": "Valkyrie\\\\n- used -", + "communication_name": "Valkyrie", + "long_name": "Porsche Valkyrie", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "137", + "escort_upgrade_cost": "175000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "128", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0088", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 372: { + "resource_type": "ship", + "id": "372", + "name": "Valkyrie;Second-Hand - upgraded", + "cargo": "20", + "shields": "425", + "shield_recharge": "25", + "armor": "135", + "armor_recharge": "0", + "acceleration": "500", + "max_speed": "450", + "turning": "40", + "fuel": "500", + "free_mass": "7", + "max_guns": "5", + "max_turrets": "1", + "tech_level": "5", + "cost": "600000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "191", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "200", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "!b424", + "appear_on": "", + "on_purchase": "", + "deionize": "20", + "max_ionization": "100", + "key_carried": "0", + "contribute_bits": "0x0000000040000001", + "require_bits": "0x0000000B00000000", + "buy_random": "40", + "hire_random": "50", + "on_capture": "", + "on_retire": "", + "subtitle": "Class II", + "short_name": "Valkyrie\\\\n- used -", + "communication_name": "Valkyrie", + "long_name": "Porsche Valkyrie", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "279", + "escort_upgrade_cost": "35000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "231", + "weapon_3": "138", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "60", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "239", + "outfit_3": "184", + "outfit_4": "185", + "outfit_5": "180", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "3", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0088", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 373: { + "resource_type": "ship", + "id": "373", + "name": "RAGE Gunboat", + "cargo": "10", + "shields": "375", + "shield_recharge": "12", + "armor": "345", + "armor_recharge": "2", + "acceleration": "475", + "max_speed": "375", + "turning": "40", + "fuel": "500", + "free_mass": "20", + "max_guns": "5", + "max_turrets": "2", + "tech_level": "14", + "cost": "2500000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "174", + "mass": "150", + "length": "23", + "crew": "4", + "strength": "450", + "government": "1128", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "35", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000300000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Corvette Class", + "short_name": "RAGE Gunboat", + "communication_name": "RAGE Gunboat", + "long_name": "Reactive Armour General Equipment Gunboat", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "144", + "weapon_2": "145", + "weapon_3": "137", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "5", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "197", + "outfit_2": "240", + "outfit_3": "241", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0032", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 374: { + "resource_type": "ship", + "id": "374", + "name": "Unrelenting", + "cargo": "100", + "shields": "975", + "shield_recharge": "20", + "armor": "1125", + "armor_recharge": "0", + "acceleration": "275", + "max_speed": "235", + "turning": "35", + "fuel": "600", + "free_mass": "120", + "max_guns": "8", + "max_turrets": "6", + "tech_level": "9999", + "cost": "0", + "death_delay": "140", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "169", + "mass": "1850", + "length": "490", + "crew": "220", + "strength": "575", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "75", + "max_ionization": "400", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heavily Upgraded", + "short_name": "Pirate Carr.", + "communication_name": "Assoc.", + "long_name": "Greyshoulders Dockyards Pirate Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "133", + "weapon_2": "169", + "weapon_3": "160", + "weapon_4": "158", + "weapon_5": "230", + "weapon_6": "132", + "weapon_7": "176", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "2", + "weapon_4_count": "4", + "weapon_5_count": "3", + "weapon_6_count": "4", + "weapon_7_count": "2", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "4", + "weapon_3_ammo": "8", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "21", + "weapon_6_ammo": "-1", + "weapon_7_ammo": "2", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "265", + "outfit_3": "228", + "outfit_4": "227", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "2", + "outfit_4_count": "2", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 375: { + "resource_type": "ship", + "id": "375", + "name": "Zephyr", + "cargo": "50", + "shields": "190", + "shield_recharge": "32", + "armor": "750", + "armor_recharge": "40", + "acceleration": "500", + "max_speed": "400", + "turning": "60", + "fuel": "1200", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "18", + "cost": "800000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "144", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "400", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "b279", + "appear_on": "b319 & !b1301", + "on_purchase": "b8888", + "deionize": "45", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Zephyr", + "communication_name": "Zephyr", + "long_name": "Zephyr", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "147", + "weapon_2": "145", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "177", + "outfit_3": "268", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0054", + "flags_2": "0x5282", + "flags_3": "0x0101", + "end_of_resource": "EOR" + }, + 376: { + "resource_type": "ship", + "id": "376", + "name": "Zephyr;Cloaking", + "cargo": "50", + "shields": "190", + "shield_recharge": "32", + "armor": "750", + "armor_recharge": "40", + "acceleration": "500", + "max_speed": "400", + "turning": "60", + "fuel": "1200", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "18", + "cost": "950000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "-5", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "400", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "b279", + "appear_on": "b319", + "on_purchase": "b8888", + "deionize": "45", + "max_ionization": "300", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Zephyr", + "communication_name": "Zephyr", + "long_name": "Zephyr", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "147", + "weapon_2": "145", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "177", + "outfit_3": "268", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0054", + "flags_2": "0x5282", + "flags_3": "0x0101", + "end_of_resource": "EOR" + }, + 377: { + "resource_type": "ship", + "id": "377", + "name": "Pegasus;rogue", + "cargo": "1000", + "shields": "400", + "shield_recharge": "22", + "armor": "110", + "armor_recharge": "0", + "acceleration": "175", + "max_speed": "125", + "turning": "30", + "fuel": "700", + "free_mass": "15", + "max_guns": "3", + "max_turrets": "2", + "tech_level": "20", + "cost": "2000000", + "death_delay": "175", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "181", + "mass": "2000", + "length": "100", + "crew": "10", + "strength": "75", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "b4322", + "deionize": "20", + "max_ionization": "175", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000004000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b4322", + "on_retire": "!b4322", + "subtitle": "Upgraded Weapons", + "short_name": "Pegasus", + "communication_name": "Pegasus", + "long_name": "Sigma Shipyards Beta Model Pegasus Transport", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "194", + "escort_upgrade_cost": "350000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "129", + "weapon_2": "131", + "weapon_3": "139", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "20", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0080", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 378: { + "resource_type": "ship", + "id": "378", + "name": "Kestrel", + "cargo": "50", + "shields": "1500", + "shield_recharge": "100", + "armor": "1500", + "armor_recharge": "50", + "acceleration": "500", + "max_speed": "350", + "turning": "45", + "fuel": "800", + "free_mass": "30", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "8000", + "cost": "50000000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "189", + "mass": "700", + "length": "150", + "crew": "1", + "strength": "400", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "4", + "skill_variation": "100", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "80", + "max_ionization": "500", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "100", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Kestrel", + "communication_name": "Frigate", + "long_name": "Atinoda Kestrel escort frigate", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "129", + "weapon_2": "230", + "weapon_3": "144", + "weapon_4": "169", + "weapon_5": "166", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "1", + "weapon_5_count": "1", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "2", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0108", + "flags_2": "0x0080", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 379: { + "resource_type": "ship", + "id": "379", + "name": "Asteroid Miner", + "cargo": "100", + "shields": "100", + "shield_recharge": "15", + "armor": "40", + "armor_recharge": "0", + "acceleration": "200", + "max_speed": "300", + "turning": "35", + "fuel": "600", + "free_mass": "20", + "max_guns": "6", + "max_turrets": "0", + "tech_level": "3", + "cost": "150000", + "death_delay": "65", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "190", + "mass": "90", + "length": "30", + "crew": "6", + "strength": "20", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "!b424", + "appear_on": "", + "on_purchase": "", + "deionize": "6", + "max_ionization": "35", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "90", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Prospector", + "short_name": "Asteroid\\\\nMiner", + "communication_name": "Roid Miner", + "long_name": "Sigma Shipyards Asteroid Miner", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "181", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "271", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0080", + "flags_3": "0x0103", + "end_of_resource": "EOR" + }, + 380: { + "resource_type": "ship", + "id": "380", + "name": "Aurora Thunderforge", + "cargo": "75", + "shields": "700", + "shield_recharge": "50", + "armor": "1100", + "armor_recharge": "0", + "acceleration": "395", + "max_speed": "340", + "turning": "20", + "fuel": "500", + "free_mass": "25", + "max_guns": "8", + "max_turrets": "6", + "tech_level": "200", + "cost": "14000000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1400", + "length": "500", + "crew": "100", + "strength": "900", + "government": "1129", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "b168", + "appear_on": "b169", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "60", + "hire_random": "1", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Vell-os Class", + "short_name": "Aur Th-Forge", + "communication_name": "Aur Th-Forge", + "long_name": "Heraan Industries Thunderforge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "135", + "weapon_2": "161", + "weapon_3": "162", + "weapon_4": "157", + "weapon_5": "232", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "4", + "weapon_5_count": "4", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "200", + "weapon_2_ammo": "2000", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4131", + "flags_2": "0x0082", + "flags_3": "0x0140", + "end_of_resource": "EOR" + }, + 381: { + "resource_type": "ship", + "id": "381", + "name": "Vell-os Dart", + "cargo": "5", + "shields": "50", + "shield_recharge": "100", + "armor": "8", + "armor_recharge": "1", + "acceleration": "1250", + "max_speed": "600", + "turning": "100", + "fuel": "300", + "free_mass": "10", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "1", + "cost": "0", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "140", + "mass": "6", + "length": "10", + "crew": "0", + "strength": "250", + "government": "1136", + "escape_pod_count": "0", + "fuel_regeneration": "8", + "skill_variation": "10", + "availability": "b422", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "50", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "buy_random": "100", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Dart", + "communication_name": "Vell-os Dart", + "long_name": "Vell-os Dart", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "-1", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "0", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x003C", + "flags_2": "0x00F9", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 382: { + "resource_type": "ship", + "id": "382", + "name": "Vell-os Arrow", + "cargo": "60", + "shields": "500", + "shield_recharge": "50", + "armor": "30", + "armor_recharge": "4", + "acceleration": "650", + "max_speed": "425", + "turning": "60", + "fuel": "1000", + "free_mass": "20", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "1", + "cost": "0", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "138", + "mass": "60", + "length": "30", + "crew": "0", + "strength": "500", + "government": "1136", + "escape_pod_count": "0", + "fuel_regeneration": "4", + "skill_variation": "5", + "availability": "b367", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "60", + "max_ionization": "350", + "key_carried": "0", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "buy_random": "100", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Arrow", + "communication_name": "Vell-os Arrow", + "long_name": "Vell-os Arrow", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "-1", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "0", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x003C", + "flags_2": "0x00F9", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 383: { + "resource_type": "ship", + "id": "383", + "name": "Vell-os Javelin", + "cargo": "100", + "shields": "800", + "shield_recharge": "60", + "armor": "60", + "armor_recharge": "8", + "acceleration": "500", + "max_speed": "375", + "turning": "40", + "fuel": "1200", + "free_mass": "50", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "1", + "cost": "0", + "death_delay": "100", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "136", + "mass": "200", + "length": "100", + "crew": "0", + "strength": "750", + "government": "1136", + "escape_pod_count": "0", + "fuel_regeneration": "2", + "skill_variation": "0", + "availability": "b371", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "70", + "max_ionization": "500", + "key_carried": "0", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "buy_random": "100", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "", + "short_name": "Javelin", + "communication_name": "Vell-os Javelin", + "long_name": "Vell-os Javelin", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "-1", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "0", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x005C", + "flags_2": "0x00F2", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 384: { + "resource_type": "ship", + "id": "384", + "name": "Abomination", + "cargo": "20", + "shields": "185", + "shield_recharge": "6", + "armor": "400", + "armor_recharge": "0", + "acceleration": "475", + "max_speed": "350", + "turning": "50", + "fuel": "400", + "free_mass": "40", + "max_guns": "3", + "max_turrets": "2", + "tech_level": "17", + "cost": "400000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "157", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Frunch'ek Class", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Auroran Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "233", + "weapon_2": "234", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x008A", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 385: { + "resource_type": "ship", + "id": "385", + "name": "Abomination", + "cargo": "20", + "shields": "195", + "shield_recharge": "4", + "armor": "185", + "armor_recharge": "0", + "acceleration": "410", + "max_speed": "330", + "turning": "27", + "fuel": "300", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "2", + "tech_level": "17", + "cost": "400000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Moash - Va Themgiir", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Moash Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "233", + "weapon_2": "234", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 386: { + "resource_type": "ship", + "id": "386", + "name": "Abomination", + "cargo": "20", + "shields": "150", + "shield_recharge": "5", + "armor": "190", + "armor_recharge": "0", + "acceleration": "415", + "max_speed": "340", + "turning": "36", + "fuel": "300", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "2", + "tech_level": "17", + "cost": "400000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "30", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Dani - Va Themgiir", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Dani Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "233", + "weapon_2": "234", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "3", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "15", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 387: { + "resource_type": "ship", + "id": "387", + "name": "Abomination", + "cargo": "20", + "shields": "160", + "shield_recharge": "6", + "armor": "330", + "armor_recharge": "0", + "acceleration": "420", + "max_speed": "345", + "turning": "36", + "fuel": "400", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "2", + "tech_level": "17", + "cost": "400000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "30", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Vella - Frunch'ek", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Vella Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "233", + "weapon_2": "234", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "20", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0089", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 388: { + "resource_type": "ship", + "id": "388", + "name": "Abomination", + "cargo": "20", + "shields": "185", + "shield_recharge": "8", + "armor": "350", + "armor_recharge": "0", + "acceleration": "435", + "max_speed": "355", + "turning": "36", + "fuel": "400", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "2", + "tech_level": "17", + "cost": "400000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "30", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Tekel - Frunch'ek", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Tekel Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "233", + "weapon_2": "234", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "4", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "20", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x008A", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 389: { + "resource_type": "ship", + "id": "389", + "name": "Abomination", + "cargo": "20", + "shields": "200", + "shield_recharge": "12", + "armor": "425", + "armor_recharge": "0", + "acceleration": "475", + "max_speed": "390", + "turning": "45", + "fuel": "500", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "3", + "tech_level": "17", + "cost": "400000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "30", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heraan - Va French'ek", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Heraan Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "233", + "weapon_2": "234", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "5", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "40", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x008B", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 390: { + "resource_type": "ship", + "id": "390", + "name": "Phoenix", + "cargo": "5", + "shields": "30", + "shield_recharge": "15", + "armor": "120", + "armor_recharge": "0", + "acceleration": "650", + "max_speed": "430", + "turning": "60", + "fuel": "300", + "free_mass": "0", + "max_guns": "1", + "max_turrets": "2", + "tech_level": "17", + "cost": "150000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "156", + "mass": "13", + "length": "9", + "crew": "1", + "strength": "80", + "government": "1129", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "4", + "max_ionization": "75", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Va Thamgiir Class", + "short_name": "Phoenix", + "communication_name": "Phoenix", + "long_name": "Auroran Industries Phoenix", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "305", + "escort_upgrade_cost": "45000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "233", + "weapon_2": "234", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8130", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 391: { + "resource_type": "ship", + "id": "391", + "name": "Shuttle;economy at work", + "cargo": "10", + "shields": "30", + "shield_recharge": "10", + "armor": "30", + "armor_recharge": "0", + "acceleration": "500", + "max_speed": "400", + "turning": "70", + "fuel": "300", + "free_mass": "8", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "3", + "cost": "10000", + "death_delay": "25", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "200", + "mass": "15", + "length": "8", + "crew": "0", + "strength": "2", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "1", + "max_ionization": "5", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Version A", + "short_name": "Shuttle", + "communication_name": "Shuttle", + "long_name": "Sigma Shipyards Alpha class Shuttle", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "188", + "escort_upgrade_cost": "5000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "128", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0088", + "flags_3": "0x0302", + "end_of_resource": "EOR" + }, + 392: { + "resource_type": "ship", + "id": "392", + "name": "Heavy Shuttle;economy at work", + "cargo": "15", + "shields": "45", + "shield_recharge": "10", + "armor": "45", + "armor_recharge": "0", + "acceleration": "485", + "max_speed": "390", + "turning": "60", + "fuel": "400", + "free_mass": "12", + "max_guns": "2", + "max_turrets": "0", + "tech_level": "4", + "cost": "17500", + "death_delay": "25", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "199", + "mass": "25", + "length": "12", + "crew": "0", + "strength": "3", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "2", + "max_ionization": "7", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Version A", + "short_name": "Heavy Shuttle", + "communication_name": "Heavy Shuttle", + "long_name": "Sigma Shipyards Epsilon Class Heavy Shuttle", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "189", + "escort_upgrade_cost": "10000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "128", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0088", + "flags_3": "0x0302", + "end_of_resource": "EOR" + }, + 393: { + "resource_type": "ship", + "id": "393", + "name": "Cargo Drone;economy at work", + "cargo": "5", + "shields": "20", + "shield_recharge": "2", + "armor": "20", + "armor_recharge": "0", + "acceleration": "200", + "max_speed": "400", + "turning": "40", + "fuel": "200", + "free_mass": "0", + "max_guns": "0", + "max_turrets": "0", + "tech_level": "4", + "cost": "2000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "198", + "mass": "10", + "length": "4", + "crew": "0", + "strength": "1", + "government": "184", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "1", + "max_ionization": "3", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "", + "short_name": "Cargo Drone", + "communication_name": "Cargo Drone", + "long_name": "Cargo Drone", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "-1", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "0", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0124", + "flags_2": "0x0099", + "flags_3": "0x0302", + "end_of_resource": "EOR" + }, + 394: { + "resource_type": "ship", + "id": "394", + "name": "Sprite", + "cargo": "500", + "shields": "300", + "shield_recharge": "25", + "armor": "40", + "armor_recharge": "0", + "acceleration": "300", + "max_speed": "300", + "turning": "40", + "fuel": "800", + "free_mass": "0", + "max_guns": "1", + "max_turrets": "0", + "tech_level": "18", + "cost": "500000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "143", + "mass": "1500", + "length": "100", + "crew": "0", + "strength": "100", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "!(b424 & b324)", + "appear_on": "!b324", + "on_purchase": "", + "deionize": "45", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "", + "short_name": "Sprite", + "communication_name": "Polaris Sprite", + "long_name": "Sprite", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "-1", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "0", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0000", + "flags_2": "0x0080", + "flags_3": "0x0102", + "end_of_resource": "EOR" + }, + 395: { + "resource_type": "ship", + "id": "395", + "name": "Abomination;Hune", + "cargo": "20", + "shields": "220", + "shield_recharge": "25", + "armor": "500", + "armor_recharge": "0", + "acceleration": "525", + "max_speed": "400", + "turning": "55", + "fuel": "200", + "free_mass": "30", + "max_guns": "5", + "max_turrets": "5", + "tech_level": "17", + "cost": "400000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "30", + "mass": "50", + "length": "10", + "crew": "1", + "strength": "300", + "government": "189", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "10", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heraan - Va French'ek", + "short_name": "Abomination", + "communication_name": "Abomination", + "long_name": "Heraan Industries Abomination", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "162", + "weapon_2": "135", + "weapon_3": "161", + "weapon_4": "155", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "5", + "weapon_3_count": "2", + "weapon_4_count": "5", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "25", + "weapon_3_ammo": "200", + "weapon_4_ammo": "500", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x008B", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 396: { + "resource_type": "ship", + "id": "396", + "name": "Aurora Carrier;Karrod", + "cargo": "50", + "shields": "420", + "shield_recharge": "10", + "armor": "1700", + "armor_recharge": "0", + "acceleration": "180", + "max_speed": "115", + "turning": "25", + "fuel": "400", + "free_mass": "55", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "17", + "cost": "12000000", + "death_delay": "165", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1750", + "length": "525", + "crew": "250", + "strength": "475", + "government": "182", + "escape_pod_count": "10", + "fuel_regeneration": "0", + "skill_variation": "10", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "350", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Heraan - Va Ytreck", + "short_name": "Aur Carrier", + "communication_name": "Aur Carrier", + "long_name": "Auroran Industries Heavy Carrier", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "158", + "weapon_2": "161", + "weapon_3": "151", + "weapon_4": "152", + "weapon_5": "186", + "weapon_6": "187", + "weapon_7": "188", + "weapon_8": "189", + "weapon_1_count": "6", + "weapon_2_count": "4", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "2", + "weapon_6_count": "2", + "weapon_7_count": "1", + "weapon_8_count": "1", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "1000", + "weapon_3_ammo": "2", + "weapon_4_ammo": "2", + "weapon_5_ammo": "2", + "weapon_6_ammo": "2", + "weapon_7_ammo": "1", + "weapon_8_ammo": "1", + "outfit_1": "242", + "outfit_2": "241", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0131", + "flags_2": "0x0082", + "flags_3": "0x0000", + "end_of_resource": "EOR" + }, + 397: { + "resource_type": "ship", + "id": "397", + "name": "Aurora Cruiser;Duradar", + "cargo": "75", + "shields": "175", + "shield_recharge": "2", + "armor": "1445", + "armor_recharge": "0", + "acceleration": "210", + "max_speed": "185", + "turning": "20", + "fuel": "300", + "free_mass": "50", + "max_guns": "5", + "max_turrets": "3", + "tech_level": "17", + "cost": "1500000", + "death_delay": "125", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "20", + "mass": "1200", + "length": "470", + "crew": "150", + "strength": "425", + "government": "188", + "escape_pod_count": "2", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "!b333", + "on_purchase": "b8888", + "deionize": "25", + "max_ionization": "250", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Moash - Dechanik", + "short_name": "Aur Cruiser", + "communication_name": "Aur Cruiser", + "long_name": "Moash Industries Heavy Cruiser", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "252", + "escort_upgrade_cost": "75000", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "158", + "weapon_2": "156", + "weapon_3": "161", + "weapon_4": "134", + "weapon_5": "162", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "3", + "weapon_5_count": "2", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "200", + "weapon_4_ammo": "40", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "242", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x4121", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 398: { + "resource_type": "ship", + "id": "398", + "name": "Starbridge", + "cargo": "30", + "shields": "430", + "shield_recharge": "64", + "armor": "135", + "armor_recharge": "0", + "acceleration": "550", + "max_speed": "400", + "turning": "50", + "fuel": "500", + "free_mass": "40", + "max_guns": "4", + "max_turrets": "2", + "tech_level": "5", + "cost": "500000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "189", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "250", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "", + "appear_on": "b8888", + "on_purchase": "b8888", + "deionize": "30", + "max_ionization": "200", + "key_carried": "0", + "contribute_bits": "0x0000000080000001", + "require_bits": "0x0000000300000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class A", + "short_name": "Starbridge", + "communication_name": "Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "195", + "escort_upgrade_cost": "40000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "135", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "10", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "239", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 399: { + "resource_type": "ship", + "id": "399", + "name": "Valkyrie", + "cargo": "20", + "shields": "400", + "shield_recharge": "20", + "armor": "120", + "armor_recharge": "0", + "acceleration": "500", + "max_speed": "450", + "turning": "40", + "fuel": "500", + "free_mass": "30", + "max_guns": "5", + "max_turrets": "1", + "tech_level": "5", + "cost": "275000", + "death_delay": "25", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "191", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "200", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "", + "appear_on": "b8888", + "on_purchase": "", + "deionize": "20", + "max_ionization": "100", + "key_carried": "0", + "contribute_bits": "0x0000000040000001", + "require_bits": "0x0000000300000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Class I", + "short_name": "Valkyrie", + "communication_name": "Valkyrie", + "long_name": "Porsche Valkyrie", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "280", + "escort_upgrade_cost": "35000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "128", + "weapon_3": "138", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "50", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "238", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0088", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 400: { + "resource_type": "ship", + "id": "400", + "name": "Pirate Starbridge", + "cargo": "20", + "shields": "440", + "shield_recharge": "59", + "armor": "140", + "armor_recharge": "0", + "acceleration": "560", + "max_speed": "410", + "turning": "50", + "fuel": "500", + "free_mass": "30", + "max_guns": "6", + "max_turrets": "1", + "tech_level": "16", + "cost": "725000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "165", + "mass": "98", + "length": "20", + "crew": "2", + "strength": "275", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "b8888", + "on_purchase": "b8888", + "deionize": "35", + "max_ionization": "220", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Class B", + "short_name": "Pir Starbridge", + "communication_name": "Pirate Starbridge", + "long_name": "Light Capital Class S-25 Starbridge", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "231", + "escort_upgrade_cost": "60000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "128", + "weapon_3": "135", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "12", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 401: { + "resource_type": "ship", + "id": "401", + "name": "Pirate Valkyrie", + "cargo": "20", + "shields": "410", + "shield_recharge": "25", + "armor": "130", + "armor_recharge": "0", + "acceleration": "550", + "max_speed": "475", + "turning": "40", + "fuel": "500", + "free_mass": "25", + "max_guns": "6", + "max_turrets": "2", + "tech_level": "16", + "cost": "425000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "164", + "mass": "150", + "length": "25", + "crew": "4", + "strength": "225", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "25", + "availability": "", + "appear_on": "b8888", + "on_purchase": "", + "deionize": "25", + "max_ionization": "125", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Class II", + "short_name": "Pirate Valk.", + "communication_name": "Pirate Valkyrie", + "long_name": "Porsche Valkyrie (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "289", + "escort_upgrade_cost": "50000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "129", + "weapon_2": "128", + "weapon_3": "138", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "80", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x008A", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 402: { + "resource_type": "ship", + "id": "402", + "name": "Pirate Argosy", + "cargo": "30", + "shields": "230", + "shield_recharge": "19", + "armor": "315", + "armor_recharge": "0", + "acceleration": "310", + "max_speed": "240", + "turning": "30", + "fuel": "400", + "free_mass": "25", + "max_guns": "5", + "max_turrets": "2", + "tech_level": "16", + "cost": "250000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "167", + "mass": "150", + "length": "30", + "crew": "10", + "strength": "225", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "20", + "availability": "", + "appear_on": "b8888", + "on_purchase": "", + "deionize": "20", + "max_ionization": "235", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Stolen Tech", + "short_name": "Pirate Argosy", + "communication_name": "Pirate Argosy", + "long_name": "Heraan Researched Argosy (Pirate Upgrades)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "294", + "escort_upgrade_cost": "55000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "155", + "weapon_2": "128", + "weapon_3": "138", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "800", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "15", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x008A", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 403: { + "resource_type": "ship", + "id": "403", + "name": "Pirate Enterprise", + "cargo": "225", + "shields": "400", + "shield_recharge": "19", + "armor": "645", + "armor_recharge": "0", + "acceleration": "210", + "max_speed": "210", + "turning": "25", + "fuel": "500", + "free_mass": "40", + "max_guns": "4", + "max_turrets": "3", + "tech_level": "16", + "cost": "700000", + "death_delay": "50", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "168", + "mass": "255", + "length": "55", + "crew": "35", + "strength": "325", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "15", + "availability": "", + "appear_on": "b8888", + "on_purchase": "", + "deionize": "25", + "max_ionization": "275", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Stolen Tech", + "short_name": "Pir Enterprise", + "communication_name": "Pirate Enterprise", + "long_name": "Auroran Industries Enterprise (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "236", + "escort_upgrade_cost": "100000", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "157", + "weapon_2": "144", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "248", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 404: { + "resource_type": "ship", + "id": "404", + "name": "Pirate Viper", + "cargo": "5", + "shields": "60", + "shield_recharge": "12", + "armor": "40", + "armor_recharge": "0", + "acceleration": "800", + "max_speed": "500", + "turning": "70", + "fuel": "300", + "free_mass": "10", + "max_guns": "3", + "max_turrets": "0", + "tech_level": "16", + "cost": "200000", + "death_delay": "10", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "163", + "mass": "10", + "length": "7", + "crew": "1", + "strength": "65", + "government": "1137", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "30", + "availability": "", + "appear_on": "b8888", + "on_purchase": "", + "deionize": "8", + "max_ionization": "44", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Heavy Fighter Class", + "short_name": "Pirate Viper", + "communication_name": "Pirate Viper", + "long_name": "F-23 Viper (Pirate Upgrade)", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "333", + "escort_upgrade_cost": "35000", + "escort_sell_value": "0", + "escort_type": "0", + "weapon_1": "128", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8120", + "flags_2": "0x0089", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 405: { + "resource_type": "ship", + "id": "405", + "name": "Rebel Dragon", + "cargo": "50", + "shields": "600", + "shield_recharge": "40", + "armor": "300", + "armor_recharge": "0", + "acceleration": "480", + "max_speed": "330", + "turning": "60", + "fuel": "1000", + "free_mass": "30", + "max_guns": "3", + "max_turrets": "1", + "tech_level": "15", + "cost": "3000000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "130", + "mass": "100", + "length": "50", + "crew": "10", + "strength": "425", + "government": "1141", + "escape_pod_count": "1", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "b8888", + "deionize": "65", + "max_ionization": "350", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Carrier Class", + "short_name": "Rebel Dragon", + "communication_name": "Rebel Dragon", + "long_name": "Rebel Dragon", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "219", + "weapon_2": "147", + "weapon_3": "158", + "weapon_4": "192", + "weapon_5": "193", + "weapon_6": "194", + "weapon_7": "195", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "1", + "weapon_3_count": "2", + "weapon_4_count": "1", + "weapon_5_count": "1", + "weapon_6_count": "1", + "weapon_7_count": "1", + "weapon_8_count": "0", + "weapon_1_ammo": "80", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "1", + "weapon_5_ammo": "1", + "weapon_6_ammo": "1", + "weapon_7_ammo": "1", + "weapon_8_ammo": "0", + "outfit_1": "246", + "outfit_2": "247", + "outfit_3": "197", + "outfit_4": "234", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0130", + "flags_2": "0x4281", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 406: { + "resource_type": "ship", + "id": "406", + "name": "Raven;Cloaking+fast jump", + "cargo": "200", + "shields": "2000", + "shield_recharge": "60", + "armor": "1125", + "armor_recharge": "30", + "acceleration": "400", + "max_speed": "255", + "turning": "50", + "fuel": "1500", + "free_mass": "100", + "max_guns": "7", + "max_turrets": "5", + "tech_level": "19", + "cost": "10000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "1200", + "length": "1200", + "crew": "30", + "strength": "1450", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "1", + "skill_variation": "0", + "availability": "", + "appear_on": "b1307", + "on_purchase": "b8888", + "deionize": "150", + "max_ionization": "1000", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Raven", + "communication_name": "Raven", + "long_name": "Raven", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "185", + "weapon_3": "154", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "4", + "weapon_3_count": "4", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "80", + "weapon_3_ammo": "8", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "212", + "outfit_3": "274", + "outfit_4": "269", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x005C", + "flags_2": "0x53E3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 407: { + "resource_type": "ship", + "id": "407", + "name": "Scarab;Cloaking+fast jump", + "cargo": "100", + "shields": "1015", + "shield_recharge": "50", + "armor": "640", + "armor_recharge": "30", + "acceleration": "475", + "max_speed": "275", + "turning": "60", + "fuel": "1000", + "free_mass": "60", + "max_guns": "4", + "max_turrets": "3", + "tech_level": "19", + "cost": "5000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "700", + "length": "200", + "crew": "20", + "strength": "950", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "b1307", + "on_purchase": "b8888", + "deionize": "120", + "max_ionization": "700", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Scarab", + "communication_name": "Scarab", + "long_name": "Scarab", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "154", + "weapon_3": "184", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "4", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "4", + "weapon_3_ammo": "60", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "235", + "outfit_2": "245", + "outfit_3": "274", + "outfit_4": "269", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0052", + "flags_2": "0x53A3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 408: { + "resource_type": "ship", + "id": "408", + "name": "Arachnid;Cloaking+fast jump", + "cargo": "25", + "shields": "975", + "shield_recharge": "85", + "armor": "565", + "armor_recharge": "40", + "acceleration": "500", + "max_speed": "330", + "turning": "70", + "fuel": "1200", + "free_mass": "40", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "19", + "cost": "2000000", + "death_delay": "65", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "650", + "length": "165", + "crew": "10", + "strength": "750", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "b324", + "on_purchase": "b8888", + "deionize": "100", + "max_ionization": "525", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Arachnid", + "communication_name": "Arachnid", + "long_name": "Arachnid", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "184", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "30", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "177", + "outfit_2": "245", + "outfit_3": "269", + "outfit_4": "274", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0034", + "flags_2": "0x53A1", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 409: { + "resource_type": "ship", + "id": "409", + "name": "Dragon;Cloaking+fast jump", + "cargo": "50", + "shields": "565", + "shield_recharge": "30", + "armor": "340", + "armor_recharge": "20", + "acceleration": "500", + "max_speed": "350", + "turning": "60", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "2", + "tech_level": "22", + "cost": "350000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "0", + "mass": "100", + "length": "50", + "crew": "10", + "strength": "450", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "b324", + "on_purchase": "b8888", + "deionize": "75", + "max_ionization": "375", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Dragon", + "communication_name": "Dragon", + "long_name": "Dragon", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "183", + "weapon_2": "170", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "3", + "weapon_2_count": "2", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "90", + "weapon_2_ammo": "-1", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "244", + "outfit_2": "269", + "outfit_3": "274", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x43A1", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 410: { + "resource_type": "ship", + "id": "410", + "name": "Striker;Cloaking+fast jump", + "cargo": "20", + "shields": "675", + "shield_recharge": "60", + "armor": "375", + "armor_recharge": "20", + "acceleration": "675", + "max_speed": "360", + "turning": "80", + "fuel": "1000", + "free_mass": "30", + "max_guns": "2", + "max_turrets": "1", + "tech_level": "19", + "cost": "800000", + "death_delay": "30", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "-5", + "mass": "90", + "length": "50", + "crew": "2", + "strength": "425", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "", + "appear_on": "b324", + "on_purchase": "b8888", + "deionize": "90", + "max_ionization": "400", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Striker", + "communication_name": "Striker", + "long_name": "Striker", + "movie_file": "", + "escort_ai": "4", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "1", + "weapon_1": "147", + "weapon_2": "183", + "weapon_3": "170", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "60", + "weapon_3_ammo": "-1", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "274", + "outfit_3": "269", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0032", + "flags_2": "0x53E3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 411: { + "resource_type": "ship", + "id": "411", + "name": "Raven;Cloaking+fast jump+inertia", + "cargo": "200", + "shields": "2000", + "shield_recharge": "60", + "armor": "1125", + "armor_recharge": "30", + "acceleration": "500", + "max_speed": "300", + "turning": "55", + "fuel": "1500", + "free_mass": "100", + "max_guns": "7", + "max_turrets": "5", + "tech_level": "19", + "cost": "10000000", + "death_delay": "75", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "-3", + "mass": "1200", + "length": "1200", + "crew": "30", + "strength": "1450", + "government": "1130", + "escape_pod_count": "0", + "fuel_regeneration": "1", + "skill_variation": "0", + "availability": "b9999", + "appear_on": "", + "on_purchase": "", + "deionize": "150", + "max_ionization": "1000", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Nil'kimas", + "short_name": "Raven", + "communication_name": "Raven", + "long_name": "Raven", + "movie_file": "", + "escort_ai": "3", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "2", + "weapon_1": "146", + "weapon_2": "185", + "weapon_3": "154", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "4", + "weapon_2_count": "4", + "weapon_3_count": "4", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "80", + "weapon_3_ammo": "8", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "245", + "outfit_2": "212", + "outfit_3": "274", + "outfit_4": "269", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "1", + "outfit_3_count": "1", + "outfit_4_count": "1", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x005C", + "flags_2": "0x53A3", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 412: { + "resource_type": "ship", + "id": "412", + "name": "Rebel IDA Frigate", + "cargo": "50", + "shields": "625", + "shield_recharge": "20", + "armor": "850", + "armor_recharge": "0", + "acceleration": "300", + "max_speed": "215", + "turning": "35", + "fuel": "500", + "free_mass": "75", + "max_guns": "6", + "max_turrets": "4", + "tech_level": "15", + "cost": "5000000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "178", + "mass": "650", + "length": "180", + "crew": "100", + "strength": "450", + "government": "141", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "(b134 | b189) & P30", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "70", + "hire_random": "40", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Rebel Upgrade I", + "short_name": "Rebel\\\\nIDA Frigate", + "communication_name": "Rebel IDA Frigate", + "long_name": "Rebel IDA Frigate", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "413", + "escort_upgrade_cost": "250000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "133", + "weapon_2": "136", + "weapon_3": "192", + "weapon_4": "132", + "weapon_5": "129", + "weapon_6": "231", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "1", + "weapon_2_count": "2", + "weapon_3_count": "1", + "weapon_4_count": "2", + "weapon_5_count": "2", + "weapon_6_count": "4", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "60", + "weapon_3_ammo": "4", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "-1", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0121", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 413: { + "resource_type": "ship", + "id": "413", + "name": "Rebel IDA Frigate", + "cargo": "30", + "shields": "625", + "shield_recharge": "20", + "armor": "850", + "armor_recharge": "0", + "acceleration": "300", + "max_speed": "215", + "turning": "35", + "fuel": "500", + "free_mass": "30", + "max_guns": "8", + "max_turrets": "4", + "tech_level": "15", + "cost": "6000000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "178", + "mass": "650", + "length": "180", + "crew": "100", + "strength": "450", + "government": "141", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "b9999", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Rebel Upgrade II", + "short_name": "Rebel\\\\nIDA Frigate", + "communication_name": "Rebel IDA Frigate", + "long_name": "Rebel IDA Frigate", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "414", + "escort_upgrade_cost": "250000", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "133", + "weapon_2": "136", + "weapon_3": "192", + "weapon_4": "132", + "weapon_5": "129", + "weapon_6": "231", + "weapon_7": "156", + "weapon_8": "-1", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "2", + "weapon_6_count": "4", + "weapon_7_count": "2", + "weapon_8_count": "0", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "60", + "weapon_3_ammo": "8", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "-1", + "weapon_7_ammo": "-1", + "weapon_8_ammo": "0", + "outfit_1": "240", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0120", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 414: { + "resource_type": "ship", + "id": "414", + "name": "Rebel IDA Frigate", + "cargo": "20", + "shields": "700", + "shield_recharge": "40", + "armor": "900", + "armor_recharge": "0", + "acceleration": "350", + "max_speed": "250", + "turning": "40", + "fuel": "500", + "free_mass": "30", + "max_guns": "10", + "max_turrets": "4", + "tech_level": "15", + "cost": "7000000", + "death_delay": "40", + "explosion_1": "4", + "explosion_2": "1005", + "display_weight": "178", + "mass": "650", + "length": "180", + "crew": "100", + "strength": "450", + "government": "141", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "5", + "availability": "b9999", + "appear_on": "!(b332 | b148)", + "on_purchase": "b8888", + "deionize": "15", + "max_ionization": "150", + "key_carried": "0", + "contribute_bits": "0x0000000000000001", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "b8888", + "on_retire": "", + "subtitle": "Rebel Upgrade III", + "short_name": "Rebel\\\\nIDA Frigate", + "communication_name": "Rebel IDA Frigate", + "long_name": "Rebel IDA Frigate", + "movie_file": "", + "escort_ai": "2", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "133", + "weapon_2": "136", + "weapon_3": "192", + "weapon_4": "132", + "weapon_5": "129", + "weapon_6": "231", + "weapon_7": "156", + "weapon_8": "147", + "weapon_1_count": "2", + "weapon_2_count": "2", + "weapon_3_count": "2", + "weapon_4_count": "2", + "weapon_5_count": "2", + "weapon_6_count": "4", + "weapon_7_count": "2", + "weapon_8_count": "2", + "weapon_1_ammo": "-1", + "weapon_2_ammo": "60", + "weapon_3_ammo": "8", + "weapon_4_ammo": "-1", + "weapon_5_ammo": "-1", + "weapon_6_ammo": "-1", + "weapon_7_ammo": "-1", + "weapon_8_ammo": "-1", + "outfit_1": "240", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "1", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x0122", + "flags_2": "0x0082", + "flags_3": "0x0100", + "end_of_resource": "EOR" + }, + 895: { + "resource_type": "ship", + "id": "895", + "name": "Escape Pod", + "cargo": "0", + "shields": "0", + "shield_recharge": "0", + "armor": "0", + "armor_recharge": "0", + "acceleration": "400", + "max_speed": "2000", + "turning": "10", + "fuel": "0", + "free_mass": "0", + "max_guns": "0", + "max_turrets": "0", + "tech_level": "32767", + "cost": "0", + "death_delay": "20", + "explosion_1": "4", + "explosion_2": "5", + "display_weight": "0", + "mass": "1", + "length": "2", + "crew": "1", + "strength": "1", + "government": "-1", + "escape_pod_count": "0", + "fuel_regeneration": "0", + "skill_variation": "0", + "availability": "", + "appear_on": "", + "on_purchase": "", + "deionize": "1", + "max_ionization": "5", + "key_carried": "0", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "buy_random": "0", + "hire_random": "0", + "on_capture": "", + "on_retire": "", + "subtitle": "Survival Craft", + "short_name": "Escape Pod", + "communication_name": "Escape Pod", + "long_name": "Escape Pod", + "movie_file": "", + "escort_ai": "1", + "escort_upgrade_to": "-1", + "escort_upgrade_cost": "0", + "escort_sell_value": "0", + "escort_type": "3", + "weapon_1": "-1", + "weapon_2": "-1", + "weapon_3": "-1", + "weapon_4": "-1", + "weapon_5": "-1", + "weapon_6": "-1", + "weapon_7": "-1", + "weapon_8": "-1", + "weapon_1_count": "0", + "weapon_2_count": "0", + "weapon_3_count": "0", + "weapon_4_count": "0", + "weapon_5_count": "0", + "weapon_6_count": "0", + "weapon_7_count": "0", + "weapon_8_count": "0", + "weapon_1_ammo": "0", + "weapon_2_ammo": "0", + "weapon_3_ammo": "0", + "weapon_4_ammo": "0", + "weapon_5_ammo": "0", + "weapon_6_ammo": "0", + "weapon_7_ammo": "0", + "weapon_8_ammo": "0", + "outfit_1": "-1", + "outfit_2": "-1", + "outfit_3": "-1", + "outfit_4": "-1", + "outfit_5": "-1", + "outfit_6": "-1", + "outfit_7": "-1", + "outfit_8": "-1", + "outfit_1_count": "0", + "outfit_2_count": "0", + "outfit_3_count": "0", + "outfit_4_count": "0", + "outfit_5_count": "0", + "outfit_6_count": "0", + "outfit_7_count": "0", + "outfit_8_count": "0", + "flags_1": "0x8100", + "flags_2": "0x0000", + "flags_3": "0x0000", + "end_of_resource": "EOR" + } +} \ No newline at end of file diff --git a/worlds/evn/rules.py b/worlds/evn/rules.py new file mode 100644 index 000000000000..d2c59639fca9 --- /dev/null +++ b/worlds/evn/rules.py @@ -0,0 +1,153 @@ +from __future__ import annotations + +from typing import TYPE_CHECKING + +from BaseClasses import CollectionState +from worlds.generic.Rules import add_rule, set_rule + +if TYPE_CHECKING: + from .world import EVNWorld + + +COMPLETION_LOCATIONS = { + "Take Polaris Home;Rebel I22 LAST-354": 354, + "Take Llyrell to Korell; Vellos31 LAST-417": 417, + "Take Krane to Earth;Fed43 LAST-474": 474, + "A Parting Gift;Fed26 (forced) LAST-596": 596, + "Return to Heraan;Auroran 029 LAST-686": 686, + "Destroy McGowan;Pirate 011 LAST-712": 712, + "Return to Ar'Za Iusia;Polaris 46-887": 887, +} + +def set_all_rules(world: EVNWorld) -> None: + # In order for AP to generate an item layout that is actually possible for the player to complete, + # we need to define rules for our Entrances and Locations. + # Note: Regions do not have rules, the Entrances connecting them do! + # We'll do entrances first, then locations, and then finally we set our victory condition. + + set_all_entrance_rules(world) + set_all_location_rules(world) + set_completion_condition(world) + + +def set_all_entrance_rules(world: EVNWorld) -> None: + test = 1 + # # First, we need to actually grab our entrances. Luckily, there is a helper method for this. + # overworld_to_bottom_right_room = world.get_entrance("Overworld to Bottom Right Room") + # overworld_to_top_left_room = world.get_entrance("Overworld to Top Left Room") + # right_room_to_final_boss_room = world.get_entrance("Right Room to Final Boss Room") + + # # An access rule is a function. We can define this function like any other function. + # # This function must accept exactly one parameter: A "CollectionState". + # # A CollectionState describes the current progress of the players in the multiworld, i.e. what items they have, + # # which regions they've reached, etc. + # # In an access rule, we can ask whether the player has a collected a certain item. + # # We can do this via the state.has(...) function. + # # This function takes an item name, a player number, and an optional count parameter (more on that below) + # # Since a rule only takes a CollectionState parameter, but we also need the player number in the state.has call, + # # our function needs to be locally defined so that it has access to the player number from the outer scope. + # # In our case, we are inside a function that has access to the "world" parameter, so we can use world.player. + # def can_destroy_bush(state: CollectionState) -> bool: + # return state.has("Sword", world.player) + + # # Now we can set our "can_destroy_bush" rule to our entrance which requires slashing a bush to clear the path. + # # One way to set rules is via the set_rule() function, which works on both Entrances and Locations. + # set_rule(overworld_to_bottom_right_room, can_destroy_bush) + + # # Because the function has to be defined locally, most worlds prefer the lambda syntax. + # set_rule(overworld_to_top_left_room, lambda state: state.has("Key", world.player)) + + # # Conditions can depend on event items. + # set_rule(right_room_to_final_boss_room, lambda state: state.has("Top Left Room Button Pressed", world.player)) + + # # Some entrance rules may only apply if the player enabled certain options. + # # In our case, if the hammer option is enabled, we need to add the Hammer requirement to the Entrance from + # # Overworld to the Top Middle Room. + # if world.options.hammer: + # overworld_to_top_middle_room = world.get_entrance("Overworld to Top Middle Room") + # set_rule(overworld_to_top_middle_room, lambda state: state.has("Hammer", world.player)) + + +def set_all_location_rules(world: EVNWorld) -> None: + # NOTE: I'll have to care for missions that can't be repeated. Ex: the first tutorial mission - if you say "no" to accepting it, you can't get it later. + + # Let's see if event names have to be unique... + for loc_completion_name in COMPLETION_LOCATIONS.keys(): + #world.multiworld.get_location(loc_completion_name, world.player).place_locked_item(world.create_event("Victory")) + world.multiworld.get_location(loc_completion_name, world.player).place_locked_item(world.create_item("Victory")) + + # if loc_name in COMPLETION_LOCATIONS: + # evregion.add_event(loc_name, "Victory", location_type=EVNLocation, item_type=items.EVNItem) + + + # Location rules work no differently from Entrance rules. + # Most of our locations are chests that can simply be opened by walking up to them. + # Thus, their logical requirements are covered by the Entrance rules of the Entrances that were required to + # reach the region that the chest sits in. + # However, our two enemies work differently. + # Entering the room with the enemy is not enough, you also need to have enough combat items to be able to defeat it. + # So, we need to set requirements on the Locations themselves. + # Since combat is a bit more complicated, we'll use this chance to cover some advanced access rule concepts. + + # Sometimes, you may want to have different rules depending on the player's chosen options. + # There is a wrong way to do this, and a right way to do this. Let's do the wrong way first. + # right_room_enemy = world.get_location("Right Room Enemy Drop") + + # # DON'T DO THIS!!!! + # set_rule( + # right_room_enemy, + # lambda state: ( + # state.has("Sword", world.player) + # and (not world.options.hard_mode or state.has_any(("Shield", "Health Upgrade"), world.player)) + # ), + # ) + # # DON'T DO THIS!!!! + + # # Now, what's actually wrong with this? It works perfectly fine, right? + # # If hard mode disabled, Sword is enough. If hard mode is enabled, we also need a Shield or a Health Upgrade. + # # The access rule we just wrote does this correctly, so what's the problem? + # # The problem is performance. + # # Most of your world code doesn't need to be perfectly performant, since it just runs once per slot. + # # However, access rules in particular are by far the hottest code path in Archipelago. + # # An access rule will potentially be called thousands or even millions of times over the course of one generation. + # # As a result, access rules are the one place where it's really worth putting in some effort to optimize. + # # What's the performance problem here? + # # Every time our access rule is called, it has to evaluate whether world.options.hard_mode is True or False. + # # Wouldn't it be better if in easy mode, the access rule only checked for Sword to begin with? + # # Wouldn't it also be better if in hard mode, it already knew it had to check Shield and Health Upgrade as well? + # # Well, we can achieve this by doing the "if world.options.hard_mode" check outside the set_rule call, + # # and instead having two *different* set_rule calls depending on which case we're in. + + # if world.options.hard_mode: + # # If you have multiple conditions, you can obviously chain them via "or" or "and". + # # However, there are also the nice helper functions "state.has_any" and "state.has_all". + # set_rule( + # right_room_enemy, + # lambda state: ( + # state.has("Sword", world.player) and state.has_any(("Shield", "Health Upgrade"), world.player) + # ), + # ) + # else: + # set_rule(right_room_enemy, lambda state: state.has("Sword", world.player)) + + # # Another way to chain multiple conditions is via the add_rule function. + # # This makes the access rules a bit slower though, so it should only be used if your structure justifies it. + # # In our case, it's pretty useful because hard mode and easy mode have different requirements. + # final_boss = world.get_location("Final Boss Defeated") + + # # For the "known" requirements, it's still better to chain them using a normal "and" condition. + # add_rule(final_boss, lambda state: state.has_all(("Sword", "Shield"), world.player)) + + # if world.options.hard_mode: + # # You can check for multiple copies of an item by using the optional count parameter of state.has(). + # add_rule(final_boss, lambda state: state.has("Health Upgrade", world.player, 2)) + + +def set_completion_condition(world: EVNWorld) -> None: + # Finally, we need to set a completion condition for our world, defining what the player needs to win the game. + # You can just set a completion condition directly like any other condition, referencing items the player receives: + #world.multiworld.completion_condition[world.player] = lambda state: state.has_all(("Starbridge"), world.player) + + # In our case, we went for the Victory event design pattern (see create_events() in locations.py). + # So lets undo what we just did, and instead set the completion condition to: + world.multiworld.completion_condition[world.player] = lambda state: state.has("Victory", world.player) diff --git a/worlds/evn/web_world.py b/worlds/evn/web_world.py new file mode 100644 index 000000000000..c1550cbd0d18 --- /dev/null +++ b/worlds/evn/web_world.py @@ -0,0 +1,50 @@ +from BaseClasses import Tutorial +from worlds.AutoWorld import WebWorld + +# from .options import option_groups, option_presets + + +# For our game to display correctly on the website, we need to define a WebWorld subclass. +class EVNWebWorld(WebWorld): + # We need to override the "game" field of the WebWorld superclass. + # This must be the same string as the regular World class. + game = "EVN" + + # Your game pages will have a visual theme (affecting e.g. the background image). + # You can choose between dirt, grass, grassFlowers, ice, jungle, ocean, partyTime, and stone. + theme = "jungle" + + # A WebWorld can have any number of tutorials, but should always have at least an English setup guide. + # Many WebWorlds just have one setup guide, but some have multiple, e.g. for different languages. + # We need to create a Tutorial object for every setup guide. + # In order, we need to provide a title, a description, a language, a filepath, a link, and authors. + # The filepath is relative to a "/docs/" directory in the root folder of your apworld. + # The "link" parameter is unused, but we still need to provide it. + setup_en = Tutorial( + "Multiworld Setup Guide", + "A guide to setting up EVN for MultiWorld.", + "English", + "setup_en.md", + "setup/en", + ["NewSoupVi"], + ) + # Let's have our setup guide in German as well. + # Do not translate the title and description! + # WebHost needs them to be the same to identify that it is the same tutorial. + # This lets it display the tutorials more compactly. + # setup_de = Tutorial( + # "Multiworld Setup Guide", + # "A guide to setting up APQuest for MultiWorld.", + # "German", + # "setup_de.md", + # "setup/de", + # ["NewSoupVi"], + # ) + + # We add these tutorials to our WebWorld by overriding the "tutorials" field. + # tutorials = [setup_en, setup_de] + tutorials = [setup_en] + + # If we have option groups and/or option presets, we need to specify these here as well. + # option_groups = option_groups + # options_presets = option_presets diff --git a/worlds/evn/world.py b/worlds/evn/world.py new file mode 100644 index 000000000000..9be1001a241d --- /dev/null +++ b/worlds/evn/world.py @@ -0,0 +1,209 @@ +from collections.abc import Mapping +import os +from typing import Any +from venv import logger + +# Imports of base Archipelago modules must be absolute. +from worlds.AutoWorld import World +from worlds.evn.patchfile import EVNContainer + +# Imports of your world's files must be relative. +from . import items, locations, regions, rules, web_world +# from . import web_world +from . import options as evn_options # rename due to a name conflict with World.options + +from .rezdata import misns, ships + +GAME_NAME = "EV Nova" + +class EVNWorld(World): + """ + EVN, also known as Escape Velocity Nova, is a space trading and combat simulation game. + The third installment in the Escape Velocity series, EVN offers players an expansive universe to explore, + filled with diverse factions, intricate storylines, and a vast array of ships and equipment. + """ + + # The docstring should contain a description of the game, to be displayed on the WebHost. + + # You must override the "game" field to say the name of the game. + #game = "EV Nova" + game = GAME_NAME + + # The WebWorld is a definition class that governs how this world will be displayed on the website. + web = web_world.EVNWebWorld() + + # This is how we associate the options defined in our options.py with our world. + # (Note: options.py has been imported as "evn_options" at the top of this file to avoid a name conflict) + options_dataclass = evn_options.EVNOptions + # options: evn_options.EVNOptions # Common mistake: This has to be a colon (:), not an equals sign (=). + + # Our world class must have a static location_name_to_id and item_name_to_id defined. + # We define these in regions.py and items.py respectively, so we just set them here. + #location_name_to_id = locations.LOCATION_NAME_TO_ID + location_name_to_id = locations.loc_name_to_id + #item_name_to_id = items.ITEM_NAME_TO_ID + + #TODO: consider this design style + # are we sure this isn't empty at the time of world class definition? If so, we can just set item_name_to_id = items.item_name_to_id and avoid the redundant lookup in items.py. + #item_name_to_id = {data["name"]: item_id for item_id, data in items.ev_item_bank.items()} + item_name_to_id = items.item_name_to_id + # item_name_groups = Items.item_name_groups + + # location_name_to_id = {data["name"]: loc_id for loc_id, data in Locations.location_table.items()} + # location_name_groups = Locations.location_name_groups + + # There is always one region that the generator starts from & assumes you can always go back to. + # This defaults to "Menu", but you can change it by overriding origin_region_name. + origin_region_name = "Universe" + + # Our world class must have certain functions ("steps") that get called during generation. + # The main ones are: create_regions, set_rules, create_items. + # For better structure and readability, we put each of these in their own file. + def create_regions(self) -> None: + regions.create_and_connect_regions(self) + locations.create_all_locations(self) + + def set_rules(self) -> None: + rules.set_all_rules(self) + + def create_items(self) -> None: + items.create_all_items(self) + + # Our world class must also have a create_item function that can create any one of our items by name at any time. + # We also put this in a different file, the same one that create_items is in. + def create_item(self, name: str) -> items.EVNItem: + return items.create_item_with_correct_classification(self, name) + + # For features such as item links and panic-method start inventory, AP may ask your world to create extra filler. + # The way it does this is by calling get_filler_item_name. + # For this purpose, your world *must* have at least one infinitely repeatable item (usually filler). + # You must override this function and return this infinitely repeatable item's name. + # In our case, we defined a function called get_random_filler_item_name for this purpose in our items.py. + def get_filler_item_name(self) -> str: + return items.get_random_filler_item_name(self) + + # There may be data that the game client will need to modify the behavior of the game. + # This is what slot_data exists for. Upon every client connection, the slot's slot_data is sent to the client. + # slot_data is just a dictionary using basic types, that will be converted to json when sent to the client. + def fill_slot_data(self) -> Mapping[str, Any]: + # If you need access to the player's chosen options on the client side, there is a helper for that. + return self.options.as_dict( + "shuffle_systems" + ) + + # This function is called to generate the output mod file for the player. + # Will present as a download link for the player on the website once generation is complete. + def generate_output(self, output_directory: str): + mod_name = self.multiworld.get_out_file_name_base(self.player).replace("_", "-") + logger.info(f"Generating output mod for player {self.player} with mod name {mod_name} in directory {output_directory}") + mod_dir = os.path.join(output_directory, mod_name) + mod_files = { + #f"test.txt": "Hello World!", # Placeholder file content. TODO: Replace with actual mod files. Can utilize helper functions to export the items into useful data strings. + "zzzapdata.txt": f"{self.prep_plugins_output()}", # The "zzz_" prefix is to ensure this file is last in the load order, so that all our data is loaded after any potential mod changes to the missions table. + } + mod = EVNContainer( + mod_files, + mod_dir, + output_directory, + self.player, + self.multiworld.get_file_safe_player_name(self.player), + ) + mod.write() + + def prep_plugins_output(self) -> str: + """ + This exports our modified data into a text file format that can be converted into a game plugin. That's how the game's data will be initially altered to reflect the generated item placements. + """ + output_file_string = "" + + # Missions + # first, the column headers + for column in misns.misn_columns.keys(): + output_file_string += f'"{misns.misn_columns[column]}"\t' + output_file_string += "\r\n" + # then, the mission data + for mission in misns.misn_table.keys(): + temp_mission = misns.misn_table[mission] + for column in misns.misn_columns.keys(): + current_val = temp_mission[column] + default_val = current_val + "\t" + #if type(current_val) == str: #everything is a string because of how the data is filled. + #logger.info(f"current_val type: {type(current_val)}, value: {current_val} and misns.MisnDict[column] type: {misns.MisnDict.__annotations__[column]} for column {column}") + col_anno = misns.MisnDict.__annotations__[column] + #logger.info(f"misns.MisnDict annotations: {misns.MisnDict.__annotations__[column]} - equal to str? {col_anno == str} or class str? {col_anno == ''} ") + #if col_anno == '': + if col_anno == str: + default_val = f'"{current_val}"\t' + # We need to inject our special bit, as that's how the client will be able to properly inform the server which mission was completed. + if column == "on_success": + # WARNING: if we ever change this format for location names, we need to change it in both the location creation code in locations.py and this export code here, to ensure the lookups work properly. We could consider making this more robust by storing the location name directly in the mission table, but that would require a lot of changes to the mission table and mission creation code, so for now we will just be careful to maintain this format. + # So, consider fetching this somehow instead of reconstructing it from the mission name and ID. That would be more robust and less error prone, but would require a lot of changes to the mission table and mission creation code, so for now we will just be careful to maintain this format. + #target_name = temp_mission["name"].strip() + "-" + temp_mission["id"] # this is the format we used for location names. We want to export the location name corresponding to the mission's on_success location, so we can use it for item placement in the plugin. + #target_name = self.location_name_to_id[mission] + target_id = locations.loc_type_offset["misn"] + mission + #logger.info(f"self.location_id_to_name keys: {self.location_id_to_name.keys()}") + #if target_id in self.location_id_to_name: # blank for some reason... maybe that's a bad sign? + #target_name = self.location_id_to_name[target_id] + if target_id in locations.ev_location_bank: + #associated_location = self.multiworld.get_location(target_name, self.player) + #associated_location = self.get_location(target_name) + associated_location = locations.ev_location_bank[target_id] + new_id = associated_location.address + if (new_id is not None): + if (current_val is not None) and (current_val != ""): + output_file_string += f'"b{new_id} {current_val}"\t' # No logic needed for this one + else: + output_file_string += f'"b{new_id}"\t' # We inject the "b" bit to indicate this is a location ID, so the client can properly parse it and know to look for an item at that location. + else: + logger.info(f"Warning: on_success location {target_id} for mission {temp_mission['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the mission table and location creation code to debug this issue.") + output_file_string += default_val + else: + #logger.info(f"Warning: on_success location {target_name} for mission {temp_mission['name']} not found in location_name_to_id. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the mission table and location creation code to debug this issue.") + logger.info(f"Warning: on_success location id {target_id} for mission {temp_mission['name']} not found in location_id_to_name. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the mission table and location creation code to debug this issue.") + output_file_string += default_val + else: + output_file_string += default_val + output_file_string += "\r\n" + + # Handle other data tables in a similar way... + # prelude with two new lines to separate from the missions table. There should be a blank line between each type table. + + # Ships + output_file_string += "\r\n" + for column in ships.ship_columns.keys(): + output_file_string += f'"{ships.ship_columns[column]}"\t' + output_file_string += "\r\n" + # then, the ship data + for ship in ships.ship_table.keys(): + temp_ship = ships.ship_table[ship] + for column in ships.ship_columns.keys(): + current_val = temp_ship[column] + default_val = current_val + "\t" + col_anno = ships.ShipDict.__annotations__[column] + if col_anno == str: + default_val = f'"{current_val}"\t' + + if column == "availability": + # We need to inject our special bit here as well, so the client can know when to unlock the ship. + target_id = items.type_offset["ship"] + ship + if target_id in items.ev_item_bank: + associated_item = items.ev_item_bank[target_id] + new_id = associated_item.code + if (new_id is not None): + if (current_val is not None) and (current_val != ""): + output_file_string += f'"b{new_id} & ({current_val})"\t' # !Logic needed for this one! + else: + output_file_string += f'"b{new_id}"\t' + else: + logger.info(f"Warning: availability location {target_id} for ship {temp_ship['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the ship table and location creation code to debug this issue.") + output_file_string += default_val + else: + logger.info(f"Warning: availability location {target_id} for ship {temp_ship['name']} not found in ev_item_bank. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the ship table and location creation code to debug this issue.") + output_file_string += default_val + else: + output_file_string += default_val + output_file_string += "\r\n" + + logger.info(f"output file string prepared: {output_file_string[:1000]}...") # Log the first 1000 characters of the output for debugging purposes. Be careful with this if the output can be very large, as it may cause performance issues or clutter the logs. + + return output_file_string \ No newline at end of file From a13100956d5716505d6a02dc5ed4feaee131fe07 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sat, 7 Feb 2026 21:10:17 -0800 Subject: [PATCH 02/30] EVN: fix: replaced test vals with full data sets All missions and ships now included instead of selected test range. --- worlds/evn/items.py | 24 ++++++++-------- worlds/evn/locations.py | 63 ++++++++++++++++++++++++++--------------- worlds/evn/regions.py | 4 +++ 3 files changed, 56 insertions(+), 35 deletions(-) diff --git a/worlds/evn/items.py b/worlds/evn/items.py index 7c9317ae753e..dd9533761663 100644 --- a/worlds/evn/items.py +++ b/worlds/evn/items.py @@ -207,10 +207,10 @@ def create_all_items(world: EVNWorld) -> None: # copy might be expensive, but need to because we'll add duplicates due to filler later #itempool = ev_item_bank.values().__copy__() - #itempool = [] - # for item_id in ev_item_bank: - # if (item_id < 9900 or item_id >= 9906): # don't add credits to regular itempool, since they're just filler. We'll add them as needed in the filler section later. - # itempool.append(ev_item_bank[item_id]) + itempool = [] + for item_id in ev_item_bank: + if ((item_id < 9900 or item_id >= 9906) and item_id != STRING_COMPLETE_BIT): # don't add credits to regular itempool, since they're just filler. We'll add them as needed in the filler section later. + itempool.append(ev_item_bank[item_id]) # TESTING: Just add a few to match with our testing locations for now, and then we can expand the itempool later. # itempool = [ @@ -227,14 +227,14 @@ def create_all_items(world: EVNWorld) -> None: # for item in item_name_to_id.keys(): # logger.info(f"item_name_to_id key: {item}, value: {item_name_to_id[item]}") - itempool = [ - world.create_item("Fed Patrol Boat215"), - world.create_item("Pirate Starbridge148"), - world.create_item("Rebel Dragon180"), - world.create_item("Vell-os Arrow382"), - world.create_item("Unrelenting374"), - world.create_item("Abomination384"), - ] + # itempool = [ + # world.create_item("Fed Patrol Boat215"), + # world.create_item("Pirate Starbridge148"), + # world.create_item("Rebel Dragon180"), + # world.create_item("Vell-os Arrow382"), + # world.create_item("Unrelenting374"), + # world.create_item("Abomination384"), + # ] # Some items may only exist if the player enables certain options. # In our case, If the hammer option is enabled, the sixth item is the Hammer. diff --git a/worlds/evn/locations.py b/worlds/evn/locations.py index 204b829b7da6..8964183a0926 100644 --- a/worlds/evn/locations.py +++ b/worlds/evn/locations.py @@ -25,25 +25,26 @@ # purchase items # first explore of a sys # _ -LOCATION_NAME_TO_ID = { - # Location IDs don't need to be sequential, as long as they're unique and greater than 0. - # "Example_Mission": 10, - # "Fed Mission 1": 11, - # "Fed Mission Final": 12, - "Delivery to Earth; Vellos1-128": 128, - "Visit Vell-os Homeworld; Vellos2-129": 129, - "Head to Sol;Tutorial 001-251": 251, - "Trade between Earth and Port Kane;Tutorial 002-630": 630, # Do *not* lock progression behind this mission - "United Shipping Intro;United Shipping1-504": 504, - "Un. Shipping Delivery;United Shipping1a-505": 505, - "Take Polaris Home;Rebel I22 LAST-354": 354, - "Take Llyrell to Korell; Vellos31 LAST-417": 417, - "Take Krane to Earth;Fed43 LAST-474": 474, - "A Parting Gift;Fed26 (forced) LAST-596": 596, - "Return to Heraan;Auroran 029 LAST-686": 686, - "Destroy McGowan;Pirate 011 LAST-712": 712, - "Return to Ar'Za Iusia;Polaris 46-887": 887, -} +# FOR TESTING +# LOCATION_NAME_TO_ID = { +# # Location IDs don't need to be sequential, as long as they're unique and greater than 0. +# # "Example_Mission": 10, +# # "Fed Mission 1": 11, +# # "Fed Mission Final": 12, +# "Delivery to Earth; Vellos1-128": 128, +# "Visit Vell-os Homeworld; Vellos2-129": 129, +# "Head to Sol;Tutorial 001-251": 251, +# "Trade between Earth and Port Kane;Tutorial 002-630": 630, # Do *not* lock progression behind this mission +# "United Shipping Intro;United Shipping1-504": 504, +# "Un. Shipping Delivery;United Shipping1a-505": 505, +# "Take Polaris Home;Rebel I22 LAST-354": 354, +# "Take Llyrell to Korell; Vellos31 LAST-417": 417, +# "Take Krane to Earth;Fed43 LAST-474": 474, +# "A Parting Gift;Fed26 (forced) LAST-596": 596, +# "Return to Heraan;Auroran 029 LAST-686": 686, +# "Destroy McGowan;Pirate 011 LAST-712": 712, +# "Return to Ar'Za Iusia;Polaris 46-887": 887, +# } # to add other checks, such as outfits, give them their own offset and range. loc_type_offset: Dict[str, int] = { @@ -185,18 +186,34 @@ def create_regular_locations(world: EVNWorld) -> None: # ) # TODO: replace with looping through out mission bank - for loc_name in LOCATION_NAME_TO_ID.keys(): + #for loc_name in LOCATION_NAME_TO_ID.keys(): + # for evregion in world.get_regions(): + # if can_accept_location(evregion, loc_name): + # evregion.add_locations( + # get_location_names_with_ids(world, [loc_name]) + # , EVNLocation + # ) + # break + # # If found above, then it should break out back to the top of this loop right? + # # So if we are here, we can assume that it is not a universe specific location and we can add it to universe. + # universe.add_locations( + # get_location_names_with_ids(world, [loc_name]) + # , EVNLocation + # ) + + + for key, loc in ev_location_bank.items(): for evregion in world.get_regions(): - if can_accept_location(evregion, loc_name): + if can_accept_location(evregion, loc.name): evregion.add_locations( - get_location_names_with_ids(world, [loc_name]) + get_location_names_with_ids(world, [loc.name]) , EVNLocation ) break # If found above, then it should break out back to the top of this loop right? # So if we are here, we can assume that it is not a universe specific location and we can add it to universe. universe.add_locations( - get_location_names_with_ids(world, [loc_name]) + get_location_names_with_ids(world, [loc.name]) , EVNLocation ) diff --git a/worlds/evn/regions.py b/worlds/evn/regions.py index d837d83013af..520ee4d52410 100644 --- a/worlds/evn/regions.py +++ b/worlds/evn/regions.py @@ -24,6 +24,10 @@ "Universe" : [], "Fed String" : ["Fed"], # Fed story mission string "Vellos" : ["Vellos", "Vell-os"], + "Polaris" : ["Polaris"], + "Auroran" : ["Auroran"], + "Rebel" : ["Rebel"], + "Pirate" : ["Pirate"], } ### Region subclass helper functions ### From 8f17e9a327c7a1c740c5063a748e02d6128146f2 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sun, 8 Feb 2026 01:14:40 -0800 Subject: [PATCH 03/30] EVN: fix: resolved schema error w name to id dicts Having an empty dictionary that was loaded on first call was causing a schema error in AP. So, if you make them a reference to a function instead, that seems to work. --- worlds/evn/items.py | 224 ++++++++-------------------------------- worlds/evn/locations.py | 138 ++++++++----------------- worlds/evn/world.py | 7 +- 3 files changed, 89 insertions(+), 280 deletions(-) diff --git a/worlds/evn/items.py b/worlds/evn/items.py index dd9533761663..9ab5445f4eb0 100644 --- a/worlds/evn/items.py +++ b/worlds/evn/items.py @@ -34,31 +34,16 @@ # "Fed Patrol Boat": 142, # } -# # Items should have a defined default classification. -# # In our case, we will make a dictionary from item name to classification. -# DEFAULT_ITEM_CLASSIFICATIONS = { -# # "Key": ItemClassification.progression, -# # "Sword": ItemClassification.progression | ItemClassification.useful, # Items can have multiple classifications. -# # "Shield": ItemClassification.progression, -# # "Hammer": ItemClassification.progression, -# # "Health Upgrade": ItemClassification.useful, -# # "Confetti Cannon": ItemClassification.filler, -# # "Math Trap": ItemClassification.trap, -# "Credits": ItemClassification.filler, -# "Fed Patrol Boat": ItemClassification.useful, -# "Starbridge": ItemClassification.progression, -# } - type_offset: Dict[str, int] = { "Credits": 9900, # Special case! These won't actually be set - the client will check for these ids and make its own adjustment. "ship": 1550, # 1550 - 1999 will be ships. We have 450 ships, so this should be safe. } -# the int key will be our control bit used by the client to identify the item -ev_item_bank: Dict[int, EVNItem] = {} - -item_name_to_id: Dict[str, int] = {} -#item_name_to_id: Dict[str, int] = {data.name: item_id for item_id, data in ev_item_bank.items()} +#EVNItemData = TypedDict("EVNItemData", {"name": str, "classification": ItemClassification, "code": int}) +class EVNItemData(TypedDict, total=False): + name: str + classification: ItemClassification + code: int # Each Item instance must correctly report the "game" it belongs to. # To make this simple, it is common practice to subclass the basic Item class and override the "game" field. @@ -76,61 +61,48 @@ class EVNItem(Item): # location: Optional[Location] -def create_item_bank(world: EVNWorld) -> None: - # wild. For some reason this was updating ev_item_bank, but treating item_name_to_id as a local variable and not updating it, even though we declared it as global. So, explicity informing the function that both are globals. - global ev_item_bank, item_name_to_id - # Completion / Victory - ev_item_bank[STRING_COMPLETE_BIT] = EVNItem( - "Victory", - ItemClassification.progression, - STRING_COMPLETE_BIT, - world.player, - ) +def get_items() -> Dict[int, EVNItemData]: + ret_bank: Dict[int, EVNItemData] = {} - # Credits - # issues with fillers not being copies / new versions... can't reuse these. - # for credit_name in CREDIT_IDS.keys(): - # item_id = CREDIT_IDS[credit_name] - # ev_item_bank[item_id] = EVNItem( - # credit_name, - # ItemClassification.filler, - # item_id, - # world.player, - # ) + ret_bank[STRING_COMPLETE_BIT] = EVNItemData( + name="Victory", + classification=ItemClassification.progression, + code=STRING_COMPLETE_BIT, + ) # ships # turns out, the ship names are not unique due to the various models. We could add the subname, but just cat ID. for ship in ships.ship_table.keys(): temp_ship = ships.ship_table[ship] item_id = type_offset["ship"] + (int)(temp_ship["id"]) # Probably a safer way to test this? Fails if not int somehow probably. - ev_item_bank[item_id] = EVNItem( - temp_ship["name"].strip() + temp_ship["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. - ItemClassification.progression, - item_id, - world.player, + ret_bank[item_id] = EVNItemData( + name=temp_ship["name"].strip() + temp_ship["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. + classification=ItemClassification.progression, + code=item_id, ) - - # misn - logger.info(f"data bank size: {len(ev_item_bank)}") + logger.info(f"data bank size: {len(ret_bank)}") + return ret_bank + - item_name_to_id = {data.name: item_id for item_id, data in ev_item_bank.items()} +#ev_item_bank: Dict[int, EVNItemData] = get_items() +ev_item_bank = get_items() + +def get_item_ids() -> Dict[str, int]: + # helper function to get the item name to ID mapping from our ev_item_bank. We have to do it this way since the ev_item_bank is generated dynamically from the game's data files, so we can't just hardcode an item_name_to_id mapping like in APQuest. + global ev_item_bank + + #return {data.name: item_id for item_id, data in ev_item_bank.items()} + return {data["name"]: item_id for item_id, data in ev_item_bank.items()} #because it is now a dict, not a full regular class... + + +#item_name_to_id: Dict[str, int] = get_item_ids() +item_name_to_id = get_item_ids() # Ontop of our regular itempool, our world must be able to create arbitrary amounts of filler as requested by core. # To do this, it must define a function called world.get_filler_item_name(), which we will define in world.py later. # For now, let's make a function that returns the name of a random filler item here in items.py. def get_random_filler_item_name(world: EVNWorld) -> str: - # APQuest has an option called "trap_chance". - # This is the percentage chance that each filler item is a Math Trap instead of a Confetti Cannon. - # For this purpose, we need to use a random generator. - - # IMPORTANT: Whenever you need to use a random generator, you must use world.random. - # This ensures that generating with the same generator seed twice yields the same output. - # DO NOT use a bare random object from Python's built-in random module. - # if world.random.randint(0, 99) < world.options.trap_chance: - # return "Math Trap" - # return "Confetti Cannon" - # TODO: rando between 9900 and 9905 for various amounts of credits. # Credits1 = 10k # Credits5 = 50k @@ -149,19 +121,6 @@ def get_random_filler_item_name(world: EVNWorld) -> str: def create_item_with_correct_classification(world: EVNWorld, name: str) -> EVNItem: - # # Our world class must have a create_item() function that can create any of our items by name at any time. - # # So, we make this helper function that creates the item by name with the correct classification. - # # Note: This function's content could just be the contents of world.create_item in world.py directly, - # # but it seemed nicer to have it in its own function over here in items.py. - # classification = DEFAULT_ITEM_CLASSIFICATIONS[name] - - # # It is perfectly normal and valid for an item's classification to differ based on the player's options. - # # In our case, Health Upgrades are only relevant to logic (and thus labeled as "progression") in hard mode. - # # if name == "Health Upgrade" and world.options.hard_mode: - # # classification = ItemClassification.progression - - # return EVNItem(name, classification, ITEM_NAME_TO_ID[name], world.player) - #if (itempool.) if name in CREDIT_IDS: item_id = CREDIT_IDS[name] return EVNItem( @@ -171,97 +130,25 @@ def create_item_with_correct_classification(world: EVNWorld, name: str) -> EVNIt world.player, ) - # Instead of using a predefined lookup table like ITEM_NAME_TO_ID, we can also just look up the item in our ev_item_bank by name and return it. - if (not ev_item_bank or ev_item_bank == {}): - create_item_bank(world) - # Surely there is a simpler way? This seems inefficient. - #return ev_item_bank[[item_id for item_id in ev_item_bank if ev_item_bank[item_id].name == name][0]] - #return ev_item_bank[item_name_to_id[name]] item_id = item_name_to_id[name] - return ev_item_bank[item_id] + partial_item_data = ev_item_bank[item_id] + return EVNItem( + partial_item_data["name"], + partial_item_data["classification"], + partial_item_data["code"], + world.player, + ) # With those two helper functions defined, let's now get to actually creating and submitting our itempool. def create_all_items(world: EVNWorld) -> None: - # This is the function in which we will create all the items that this world submits to the multiworld item pool. - # There must be exactly as many items as there are locations. - # In our case, there are either six or seven locations. - # We must make sure that when there are six locations, there are six items, - # and when there are seven locations, there are seven items. - - # Creating items should generally be done via the world's create_item method. - # First, we create a list containing all the items that always exist. - - # itempool: list[Item] = [ - # world.create_item("Fed Patrol Boat"), - # world.create_item("Starbridge"), - # # world.create_item("Key"), - # # world.create_item("Sword"), - # # world.create_item("Shield"), - # # world.create_item("Health Upgrade"), - # # world.create_item("Health Upgrade"), - # ] - - if (not ev_item_bank or ev_item_bank == {}): - create_item_bank(world) - - # copy might be expensive, but need to because we'll add duplicates due to filler later - #itempool = ev_item_bank.values().__copy__() itempool = [] for item_id in ev_item_bank: if ((item_id < 9900 or item_id >= 9906) and item_id != STRING_COMPLETE_BIT): # don't add credits to regular itempool, since they're just filler. We'll add them as needed in the filler section later. - itempool.append(ev_item_bank[item_id]) - - # TESTING: Just add a few to match with our testing locations for now, and then we can expand the itempool later. - # itempool = [ - # world.create_item("Fed Patrol Boat"), - # world.create_item("Starbridge"), - # world.create_item("Rebel Dragon"), - # world.create_item("Vell-os Javelin"), - # world.create_item("Unrelenting"), - # world.create_item("Abomination"), - # ] - - # logger.info(f"items in ev_item_bank: {[ev_item_bank[item_id].name for item_id in ev_item_bank]}") - # logger.info(f"item_name_to_id keys: {list(item_name_to_id.keys())}") - # for item in item_name_to_id.keys(): - # logger.info(f"item_name_to_id key: {item}, value: {item_name_to_id[item]}") - - # itempool = [ - # world.create_item("Fed Patrol Boat215"), - # world.create_item("Pirate Starbridge148"), - # world.create_item("Rebel Dragon180"), - # world.create_item("Vell-os Arrow382"), - # world.create_item("Unrelenting374"), - # world.create_item("Abomination384"), - # ] - - # Some items may only exist if the player enables certain options. - # In our case, If the hammer option is enabled, the sixth item is the Hammer. - # Otherwise, we add a filler Confetti Cannon. - # if world.options.hammer: - # # Once again, it is important to stress that even though the Hammer doesn't always exist, - # # it must be present in the worlds item_name_to_id. - # # Whether it is actually in the itempool is determined purely by whether we create and add the item here. - # itempool.append(world.create_item("Hammer")) - - # Archipelago requires that each world submits as many locations as it submits items. - # This is where we can use our filler and trap items. - # APQuest has two of these: The Confetti Cannon and the Math Trap. - # (Unfortunately, Archipelago is a bit ambiguous about its terminology here: - # "filler" is an ItemClassification separate from "trap", but in a lot of its functions, - # Archipelago will use "filler" to just mean "an additional item created to fill out the itempool". - # "Filler" in this sense can technically have any ItemClassification, - # but most commonly ItemClassification.filler or ItemClassification.trap. - # Starting here, the word "filler" will be used to collectively refer to APQuest's Confetti Cannon and Math Trap, - # which are ItemClassification.filler and ItemClassification.trap respectively.) - # Creating filler items works the same as any other item. But there is a question: - # How many filler items do we actually need to create? - # In regions.py, we created either six or seven locations depending on the "extra_starting_chest" option. - # In this function, we have created five or six items depending on whether the "hammer" option is enabled. - # We *could* have a really complicated if-else tree checking the options again, but there is a better way. - # We can compare the size of our itempool so far to the number of locations in our world. + #itempool.append(ev_item_bank[item_id]) + itempool.append(create_item_with_correct_classification(world, ev_item_bank[item_id]["name"])) + # The length of our itempool is easy to determine, since we have it as a list. number_of_items = len(itempool) logger.info(f"number of items before filler: {number_of_items}") @@ -291,32 +178,5 @@ def create_all_items(world: EVNWorld) -> None: if (needed_number_of_filler_items > 0): itempool += [world.create_filler() for _ in range(needed_number_of_filler_items)] - # But... is that the right option for your game? Let's explore that. - # For some games, the concepts of "regular itempool filler" and "additionally created filler" are different. - # These games might want / require specific amounts of specific filler items in their regular pool. - # To achieve this, they will have to intentionally create the correct quantities using world.create_item(). - # They may still use world.create_filler() to fill up the rest of their itempool with "repeatable filler", - # after creating their "specific quantity" filler and still having room left over. - - # But there are many other games which *only* have infinitely repeatable filler items. - # They don't care about specific amounts of specific filler items, instead only caring about the proportions. - # In this case, world.create_filler() can just be used for the entire filler itempool. - # APQuest is one of these games: - # Regardless of whether it's filler for the regular itempool or additional filler for item links / etc., - # we always just want a Confetti Cannon or a Math Trap depending on the "trap_chance" option. - # We defined this behavior in our get_random_filler_item_name() function, which in world.py, - # we'll bind to world.get_filler_item_name(). So, we can just use world.create_filler() for all of our filler. - - # Anyway. With our world's itempool finalized, we now need to submit it to the multiworld itempool. - # This is how the generator actually knows about the existence of our items. world.multiworld.itempool += itempool - # Sometimes, you might want the player to start with certain items already in their inventory. - # These items are called "precollected items". - # They will be sent as soon as they connect for the first time (depending on your client's item handling flag). - # Players can add precollected items themselves via the generic "start_inventory" option. - # If you want to add your own precollected items, you can do so via world.push_precollected(). - # if world.options.start_with_one_confetti_cannon: - # # We're adding a filler item, but you can also add progression items to the player's precollected inventory. - # starting_confetti_cannon = world.create_item("Confetti Cannon") - # world.push_precollected(starting_confetti_cannon) diff --git a/worlds/evn/locations.py b/worlds/evn/locations.py index 8964183a0926..3b7bd9d0faa3 100644 --- a/worlds/evn/locations.py +++ b/worlds/evn/locations.py @@ -1,9 +1,9 @@ from __future__ import annotations -from typing import TYPE_CHECKING, Dict +from typing import TYPE_CHECKING, Dict, Optional, TypedDict from venv import logger -from BaseClasses import ItemClassification, Location +from BaseClasses import ItemClassification, Location, Region from worlds.evn.regions import can_accept_location # Is this an improper import? from .rezdata import misns @@ -51,10 +51,12 @@ "misn": 2000, # 2000 - 2999 will be missions. We have 1000 misns, so this should be safe. } -# the int key will be our control bit used by the client to identify the item -ev_location_bank: Dict[int, EVNLocation] = {} +class EVNLocationData(TypedDict, total=False): + name: str + address: Optional[int] + #parent_region: Optional[Region] + -loc_name_to_id: Dict[str, int] = {} # Each Location instance must correctly report the "game" it belongs to. @@ -74,43 +76,49 @@ class EVNLocation(Location): # item_rule: Callable[[Item], bool] = staticmethod(lambda item: True) # item: Optional[Item] = None -def create_loc_bank(world: EVNWorld) -> None: +def get_locations() -> Dict[int, EVNLocationData]: # wild. For some reason this was updating ev_item_bank, but treating item_name_to_id as a local variable and not updating it, even though we declared it as global. So, explicity informing the function that both are globals. - global ev_location_bank, loc_name_to_id - + ret_data: Dict[int, EVNLocationData] = {} + # Missions for mission in misns.misn_table.keys(): temp_mission = misns.misn_table[mission] loc_id = loc_type_offset["misn"] + (int)(temp_mission["id"]) # Probably a safer way to test this? Fails if not int somehow probably. #logger.info(f"creating location for mission {temp_mission['name']} with id {loc_id}. final name: {temp_mission['name'].strip() + '-' + temp_mission['id']}") - ev_location_bank[loc_id] = EVNLocation( - world.player, - temp_mission["name"].strip() + "-" + temp_mission["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. - loc_id, - world.player, + ret_data[loc_id] = EVNLocationData( + name=temp_mission["name"].strip() + "-" + temp_mission["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. + address=loc_id, ) + + return ret_data - loc_name_to_id = {data.name: loc_id for loc_id, data in ev_location_bank.items()} - # logger.info(f"example location name: {ev_location_bank[2630].name}") - # logger.info(f"mission table keys: {ev_location_bank.keys()}") - # logger.info(f"location name to id: {loc_name_to_id.keys()}") - # logger.info(f"example lookup: {loc_name_to_id['Trade between Earth and Port Kane;Tutorial 002-630']}") - -# Let's make one more helper method before we begin actually creating locations. -# Later on in the code, we'll want specific subsections of LOCATION_NAME_TO_ID. -# To reduce the chance of copy-paste errors writing something like {"Chest": LOCATION_NAME_TO_ID["Chest"]}, -# let's make a helper method that takes a list of location names and returns them as a dict with their IDs. -# Note: There is a minor typing quirk here. Some functions want location addresses to be an "int | None", -# so while our function here only ever returns dict[str, int], we annotate it as dict[str, int | None]. -#def get_location_names_with_ids(location_names: list[str]) -> dict[str, int | None]: - #return {location_name: LOCATION_NAME_TO_ID[location_name] for location_name in location_names} -def get_location_names_with_ids(world: EVNWorld, location_names: list[str]) -> dict[str, int | None]: - if (not ev_location_bank or ev_location_bank == {}): - create_loc_bank(world) + #loc_name_to_id = {data.name: loc_id for loc_id, data in ev_location_bank.items()} + + +# the int key will be our control bit used by the client to identify the item +ev_location_bank = get_locations() + +def get_location_ids() -> Dict[str, int]: + global ev_location_bank + + return {data["name"]: item_id for item_id, data in ev_location_bank.items()} + +loc_name_to_id = get_location_ids() + + +def get_location_names_with_ids(world: EVNWorld, location_names: list[str]) -> Dict[str, int | None]: # Surely there is a simpler way? This seems inefficient. #return ev_location_bank[[loc_id for loc_id in ev_location_bank if ev_location_bank[loc_id].name == name][0]] #return ev_location_bank[loc_name_to_id[name]] - return {name: loc_name_to_id[name] for name in location_names if name in loc_name_to_id} + #return {name: loc_name_to_id[name] for name in location_names if name in loc_name_to_id} + ret_dict: Dict[str, int | None] = {} + for name in location_names: + if name in loc_name_to_id: + ret_dict[name] = loc_name_to_id[name] + else: + ret_dict[name] = None + logger.info(f"location id not found for {name}") + return ret_dict def create_all_locations(world: EVNWorld) -> None: @@ -119,71 +127,10 @@ def create_all_locations(world: EVNWorld) -> None: def create_regular_locations(world: EVNWorld) -> None: - - if (not ev_location_bank or ev_location_bank == {}): - create_loc_bank(world) - # Finally, we need to put the Locations ("checks") into their regions. # Once again, before we do anything, we can grab our regions we created by using world.get_region() universe = world.get_region("Universe") - # One way to create locations is by just creating them directly via their constructor. - # example_mission = EVNLocation( - # world.player, "Example Mission", world.location_name_to_id["Example_Mission"], universe - # ) - - # # You can then add them to the region. - # universe.locations.append(example_mission) - # A simpler way to do this is by using the region.add_locations helper. - # For this, you need to have a dict of location names to their IDs (i.e. a subset of location_name_to_id) - # Aha! So that's why we made that "get_location_names_with_ids" helper method earlier. - # You also need to pass your overridden Location class. - # bottom_right_room_locations = get_location_names_with_ids( - # ["Bottom Right Room Left Chest", "Bottom Right Room Right Chest"] - # ) - # bottom_right_room.add_locations(bottom_right_room_locations, EVNLocation) - - # universe.add_locations( - # get_location_names_with_ids(["Example_Mission"]) - # , EVNLocation - # ) - - # top_left_room_locations = get_location_names_with_ids(["Top Left Room Chest"]) - # top_left_room.add_locations(top_left_room_locations, EVNLocation) - - # right_room_locations = get_location_names_with_ids(["Right Room Enemy Drop"]) - # right_room.add_locations(right_room_locations, EVNLocation) - - # # Locations may be in different regions depending on the player's options. - # # In our case, the hammer option puts the Top Middle Chest into its own room called Top Middle Room. - # top_middle_room_locations = get_location_names_with_ids(["Top Middle Chest"]) - # if world.options.hammer: - # top_middle_room = world.get_region("Top Middle Room") - # top_middle_room.add_locations(top_middle_room_locations, EVNLocation) - # else: - # overworld.add_locations(top_middle_room_locations, EVNLocation) - - # # Locations may exist only if the player enables certain options. - # # In our case, the extra_starting_chest option adds the Bottom Left Extra Chest location. - # if world.options.extra_starting_chest: - # # Once again, it is important to stress that even though the Bottom Left Extra Chest location doesn't always - # # exist, it must still always be present in the world's location_name_to_id. - # # Whether the location actually exists in the seed is purely determined by whether we create and add it here. - # bottom_left_extra_chest = get_location_names_with_ids(["Bottom Left Extra Chest"]) - # overworld.add_locations(bottom_left_extra_chest, EVNLocation) - - # fed_string = world.get_region("Fed String") - # fed_string.add_locations( - # get_location_names_with_ids(["Fed Mission 1", "Fed Mission Final"]) - # , EVNLocation - # ) - - # for evnloc in LOCATION_NAME_TO_ID.keys(): - # if string_has_value(evnloc, "Fed Mission"): - # fed_string.add_locations( - # get_location_names_with_ids([evnloc]) - # , EVNLocation - # ) # TODO: replace with looping through out mission bank #for loc_name in LOCATION_NAME_TO_ID.keys(): @@ -204,16 +151,17 @@ def create_regular_locations(world: EVNWorld) -> None: for key, loc in ev_location_bank.items(): for evregion in world.get_regions(): - if can_accept_location(evregion, loc.name): + #if can_accept_location(evregion, loc.name): + if can_accept_location(evregion, loc["name"]): evregion.add_locations( - get_location_names_with_ids(world, [loc.name]) + get_location_names_with_ids(world, [loc["name"]]) , EVNLocation ) break # If found above, then it should break out back to the top of this loop right? # So if we are here, we can assume that it is not a universe specific location and we can add it to universe. universe.add_locations( - get_location_names_with_ids(world, [loc.name]) + get_location_names_with_ids(world, [loc["name"]]) , EVNLocation ) diff --git a/worlds/evn/world.py b/worlds/evn/world.py index 9be1001a241d..91f115e40f27 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -148,7 +148,8 @@ def prep_plugins_output(self) -> str: #associated_location = self.multiworld.get_location(target_name, self.player) #associated_location = self.get_location(target_name) associated_location = locations.ev_location_bank[target_id] - new_id = associated_location.address + #new_id = self.location_id_to_name[target_id].address if target_id in self.location_id_to_name else None + new_id = associated_location["address"] if (new_id is not None): if (current_val is not None) and (current_val != ""): output_file_string += f'"b{new_id} {current_val}"\t' # No logic needed for this one @@ -187,8 +188,8 @@ def prep_plugins_output(self) -> str: # We need to inject our special bit here as well, so the client can know when to unlock the ship. target_id = items.type_offset["ship"] + ship if target_id in items.ev_item_bank: - associated_item = items.ev_item_bank[target_id] - new_id = associated_item.code + #associated_item = items.ev_item_bank[target_id] + new_id = items.ev_item_bank[target_id]["code"] if "code" in items.ev_item_bank[target_id] else None if (new_id is not None): if (current_val is not None) and (current_val != ""): output_file_string += f'"b{new_id} & ({current_val})"\t' # !Logic needed for this one! From c873010b951043c747931d4e5b8d512d0491c0d4 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sun, 8 Feb 2026 16:32:30 -0800 Subject: [PATCH 04/30] EVN: fix: added control file to dls for evn Now dumps the location IDs into a file that EVN will read from. This is to reduce the amount of location sends to AP servers, particularly for IDs they don't know. --- worlds/evn/world.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/worlds/evn/world.py b/worlds/evn/world.py index 91f115e40f27..ba62fd655216 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -100,6 +100,7 @@ def generate_output(self, output_directory: str): mod_files = { #f"test.txt": "Hello World!", # Placeholder file content. TODO: Replace with actual mod files. Can utilize helper functions to export the items into useful data strings. "zzzapdata.txt": f"{self.prep_plugins_output()}", # The "zzz_" prefix is to ensure this file is last in the load order, so that all our data is loaded after any potential mod changes to the missions table. + "aplocids.txt": f"{self.prep_emittable_loc_ids()}", # this is just a qol filter to keep EVN client from sending bit IDs the server doesn't care about. } mod = EVNContainer( mod_files, @@ -110,6 +111,12 @@ def generate_output(self, output_directory: str): ) mod.write() + def prep_emittable_loc_ids(self) -> str: + ret_str = "" + for loc_id in locations.ev_location_bank.keys(): + ret_str += f"{loc_id}\r\n" + return ret_str + def prep_plugins_output(self) -> str: """ This exports our modified data into a text file format that can be converted into a game plugin. That's how the game's data will be initially altered to reflect the generated item placements. From a3499b8530e56dd1da42b674e3196923b42f2ffb Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sun, 8 Feb 2026 18:46:57 -0800 Subject: [PATCH 05/30] EVN: feat: option for story string selection Added handling for selecting a specific story string to be the win condition also blocks other story strings from starting (mostly) --- worlds/evn/items.py | 6 ++++-- worlds/evn/locations.py | 1 + worlds/evn/options.py | 41 +++++++++++++++++++++++++++++++++++++++-- worlds/evn/regions.py | 31 +++++++++++++++++++++++++++---- worlds/evn/rules.py | 29 ++++++++++++++++++++++++----- worlds/evn/world.py | 20 ++++++++++++++++++-- 6 files changed, 113 insertions(+), 15 deletions(-) diff --git a/worlds/evn/items.py b/worlds/evn/items.py index 9ab5445f4eb0..783dd4f46a5c 100644 --- a/worlds/evn/items.py +++ b/worlds/evn/items.py @@ -164,9 +164,11 @@ def create_all_items(world: EVNWorld) -> None: #needed_number_of_filler_items = number_of_unfilled_locations - number_of_items # There's probably a more elegant way to do this, but we also need to subtract the number of completion locations, since those will be filled with event items instead of regular items. # basically, they aren't created *until* we start filling locations over in rules... so we have to account for them here. - needed_number_of_filler_items = number_of_unfilled_locations - number_of_items - len(rules.COMPLETION_LOCATIONS) # also need to subtract the number of completion locations, since those will be filled with event items instead of regular items. + #needed_number_of_filler_items = number_of_unfilled_locations - number_of_items - len(rules.COMPLETION_LOCATIONS) # also need to subtract the number of completion locations, since those will be filled with event items instead of regular items. + # NOTE: removing 1 for the single completion location we have now that options forces story string choice. + needed_number_of_filler_items = number_of_unfilled_locations - number_of_items - 1 logger.info(f"number of filler items needed: {needed_number_of_filler_items}") - logger.info(f"number of completion locations: {len(rules.COMPLETION_LOCATIONS)}") + #logger.info(f"number of completion locations: {len(rules.COMPLETION_LOCATIONS)}") # Finally, we create that many filler items and add them to the itempool. # To create our filler, we could just use world.create_item("Confetti Cannon"). diff --git a/worlds/evn/locations.py b/worlds/evn/locations.py index 3b7bd9d0faa3..9e1bfbe8391f 100644 --- a/worlds/evn/locations.py +++ b/worlds/evn/locations.py @@ -49,6 +49,7 @@ # to add other checks, such as outfits, give them their own offset and range. loc_type_offset: Dict[str, int] = { "misn": 2000, # 2000 - 2999 will be missions. We have 1000 misns, so this should be safe. + "misn-block": 9955, } class EVNLocationData(TypedDict, total=False): diff --git a/worlds/evn/options.py b/worlds/evn/options.py index cec47f340a3d..7de6a379de3f 100644 --- a/worlds/evn/options.py +++ b/worlds/evn/options.py @@ -1,6 +1,6 @@ from dataclasses import dataclass -from Options import Choice, OptionGroup, PerGameCommonOptions, Range, Toggle +from Options import Choice, DefaultOnToggle, OptionGroup, PerGameCommonOptions, Range, Toggle # In this file, we define the options the player can pick. # The most common types of options are Toggle, Range and Choice. @@ -32,10 +32,25 @@ class ShuffleSystems(Toggle): """ Shuffle the locations of all explorable systems in the universe. + (Not Implemented) """ - display_name = "Shuffle Systems" +class IncludeOutfits(DefaultOnToggle): + """ + Outfits will also need to be found and unlocked in order to purchase. Does not affect outfits ships come with naturally, but you may not be able to buy more ammo. + (Not Implemented) + """ + display_name = "Include Outfits in shuffle" + +class OutfitChecks(Toggle): + """ + Will add Outfits that are purely checks. Purchasing them will unlock items for players. + (Not Implemented) + """ + display_name = "Include Outfits as Checks" + + # class Hammer(Toggle): # """ @@ -110,12 +125,34 @@ class ShuffleSystems(Toggle): # # For example, we could make it so "player_sprite: kitty" resolves to "player_sprite: cat" like this: # alias_kitty = option_cat +class ChosenString(Choice): + """ + Pick which major story string the player will follow. Other story strings will be disabled. + NOTE: Rebels - only line 1 is implemented! Also, can only get to it through bounty hunters. Not recommended at this time. + NOTE2: Beware Wild Geese - branches not yet handled (ex: choose pirate, end up in auroran) + + default: vellos + """ + display_name = "Major Story String" + + option_vellos = 0 + option_fed = 1 + option_rebel = 2 + option_pirate = 3 + option_auroran = 4 + option_polaris = 5 + + default = option_vellos + # We must now define a dataclass inheriting from PerGameCommonOptions that we put all our options in. # This is in the format "option_name_in_snake_case: OptionClassName". @dataclass class EVNOptions(PerGameCommonOptions): shuffle_systems: ShuffleSystems + include_outfits: IncludeOutfits + outfit_checks: OutfitChecks + chosen_string: ChosenString # # If we want to group our options by similar type, we can do so as well. This looks nice on the website. diff --git a/worlds/evn/regions.py b/worlds/evn/regions.py index 520ee4d52410..b78b7098fc2f 100644 --- a/worlds/evn/regions.py +++ b/worlds/evn/regions.py @@ -4,6 +4,8 @@ from BaseClasses import Entrance, Region +from .options import ChosenString + import re if TYPE_CHECKING: @@ -22,7 +24,7 @@ # TODO: Add the other regions REGION_KEYS = { "Universe" : [], - "Fed String" : ["Fed"], # Fed story mission string + "Fed" : ["Fed"], # Fed story mission string "Vellos" : ["Vellos", "Vell-os"], "Polaris" : ["Polaris"], "Auroran" : ["Auroran"], @@ -106,9 +108,30 @@ def connect_regions(world: EVNWorld) -> None: universe = world.get_region("Universe") # fed_string = world.get_region("Fed String") - # universe.connect(fed_string, "Universe to Fed String") - for evregion in REGION_KEYS.keys(): - if evregion != "Universe": + # # universe.connect(fed_string, "Universe to Fed String") + # for evregion in REGION_KEYS.keys(): + # if evregion != "Universe": + # universe.connect(world.get_region(evregion), f"Universe to {evregion}") + + evregion = "Vellos" + # Default is vellos + match world.options.chosen_string.value: + case ChosenString.option_fed: + evregion = "Fed" + universe.connect(world.get_region(evregion), f"Universe to {evregion}") + case ChosenString.option_rebel: + evregion = "Rebel" + universe.connect(world.get_region(evregion), f"Universe to {evregion}") + case ChosenString.option_pirate: + evregion = "Pirate" + universe.connect(world.get_region(evregion), f"Universe to {evregion}") + case ChosenString.option_auroran: + evregion = "Auroran" + universe.connect(world.get_region(evregion), f"Universe to {evregion}") + case ChosenString.option_polaris: + evregion = "Polaris" + universe.connect(world.get_region(evregion), f"Universe to {evregion}") + case _: universe.connect(world.get_region(evregion), f"Universe to {evregion}") # Okay, now we can get connecting. For this, we need to create Entrances. diff --git a/worlds/evn/rules.py b/worlds/evn/rules.py index d2c59639fca9..9b097f4c3e49 100644 --- a/worlds/evn/rules.py +++ b/worlds/evn/rules.py @@ -5,6 +5,8 @@ from BaseClasses import CollectionState from worlds.generic.Rules import add_rule, set_rule +from .options import ChosenString + if TYPE_CHECKING: from .world import EVNWorld @@ -71,14 +73,31 @@ def set_all_entrance_rules(world: EVNWorld) -> None: def set_all_location_rules(world: EVNWorld) -> None: # NOTE: I'll have to care for missions that can't be repeated. Ex: the first tutorial mission - if you say "no" to accepting it, you can't get it later. - # Let's see if event names have to be unique... - for loc_completion_name in COMPLETION_LOCATIONS.keys(): - #world.multiworld.get_location(loc_completion_name, world.player).place_locked_item(world.create_event("Victory")) - world.multiworld.get_location(loc_completion_name, world.player).place_locked_item(world.create_item("Victory")) + # # Let's see if event names have to be unique... + # for loc_completion_name in COMPLETION_LOCATIONS.keys(): + # #world.multiworld.get_location(loc_completion_name, world.player).place_locked_item(world.create_event("Victory")) + # world.multiworld.get_location(loc_completion_name, world.player).place_locked_item(world.create_item("Victory")) # if loc_name in COMPLETION_LOCATIONS: # evregion.add_event(loc_name, "Victory", location_type=EVNLocation, item_type=items.EVNItem) - + + # Default is vellos + match world.options.chosen_string.value: + case ChosenString.option_fed: + world.multiworld.get_location("Take Krane to Earth;Fed43 LAST-474", world.player).place_locked_item(world.create_item("Victory")) + # forced fed. Not sure how to handle that yet. + #world.multiworld.get_location("A Parting Gift;Fed26 (forced) LAST-596", world.player).place_locked_item(world.create_item("Victory")) + case ChosenString.option_rebel: + world.multiworld.get_location("Take Polaris Home;Rebel I22 LAST-354", world.player).place_locked_item(world.create_item("Victory")) + case ChosenString.option_pirate: + world.multiworld.get_location("Destroy McGowan;Pirate 011 LAST-712", world.player).place_locked_item(world.create_item("Victory")) + case ChosenString.option_auroran: + world.multiworld.get_location("Return to Heraan;Auroran 029 LAST-686", world.player).place_locked_item(world.create_item("Victory")) + case ChosenString.option_polaris: + world.multiworld.get_location("Return to Ar'Za Iusia;Polaris 46-887", world.player).place_locked_item(world.create_item("Victory")) + case _: + # default case - vellos + world.multiworld.get_location("Take Llyrell to Korell; Vellos31 LAST-417", world.player).place_locked_item(world.create_item("Victory")) # Location rules work no differently from Entrance rules. # Most of our locations are chests that can simply be opened by walking up to them. diff --git a/worlds/evn/world.py b/worlds/evn/world.py index ba62fd655216..4d5ce846e227 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -85,11 +85,12 @@ def get_filler_item_name(self) -> str: # There may be data that the game client will need to modify the behavior of the game. # This is what slot_data exists for. Upon every client connection, the slot's slot_data is sent to the client. # slot_data is just a dictionary using basic types, that will be converted to json when sent to the client. + # NOTE: not currently making use of this in any way really on the client. def fill_slot_data(self) -> Mapping[str, Any]: # If you need access to the player's chosen options on the client side, there is a helper for that. return self.options.as_dict( - "shuffle_systems" - ) + "shuffle_systems" + ) # otherwise, I'll need to finish adding the options / details. # This function is called to generate the output mod file for the player. # Will present as a download link for the player on the website once generation is complete. @@ -124,6 +125,19 @@ def prep_plugins_output(self) -> str: output_file_string = "" # Missions + + # We've added the option for story string choice, so let's enforce that in the plugin by making the other strings not startable. + block_missions = { + evn_options.ChosenString.option_vellos: 128, #"Delivery to Earth; Vellos1" + evn_options.ChosenString.option_fed: 428, #"Federation Resupply;Fed1" + #evn_options.ChosenString.option_rebel: 3, #rebels can ONLY come from other lines, so don't I guess + evn_options.ChosenString.option_pirate: 693, #"Pick Up Cargo From Sol;Pirate 001" + evn_options.ChosenString.option_auroran: 653, #Take Supplies to Dominance + evn_options.ChosenString.option_polaris: 150, #Transport Mu'Randa + } + + block_missions[self.options.chosen_string.value] = 0 #so we won't block the one that was chosen. + # first, the column headers for column in misns.misn_columns.keys(): output_file_string += f'"{misns.misn_columns[column]}"\t' @@ -169,6 +183,8 @@ def prep_plugins_output(self) -> str: #logger.info(f"Warning: on_success location {target_name} for mission {temp_mission['name']} not found in location_name_to_id. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the mission table and location creation code to debug this issue.") logger.info(f"Warning: on_success location id {target_id} for mission {temp_mission['name']} not found in location_id_to_name. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the mission table and location creation code to debug this issue.") output_file_string += default_val + elif column == "available_bits" and mission in block_missions.values(): + output_file_string += f'"b{locations.loc_type_offset['misn-block']} & ({current_val})"\t' #we know it is a bit string, and we know these ones have bits, so don't need to protect as much else: output_file_string += default_val output_file_string += "\r\n" From 1ce63159c8c315b537e3e0464a6da0507a0779ff Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sun, 8 Feb 2026 21:10:55 -0800 Subject: [PATCH 06/30] EVN: feat: added outf and options Should've been two commits... Added outf to the item pool Added new option flags: include outfits, 100% available items/ships, ships/outf at any shop --- worlds/evn/items.py | 22 +- worlds/evn/options.py | 14 +- worlds/evn/rezdata/outfits.py | 7821 +++++++++++++++++++++++++++++++++ worlds/evn/world.py | 47 +- 4 files changed, 7899 insertions(+), 5 deletions(-) create mode 100644 worlds/evn/rezdata/outfits.py diff --git a/worlds/evn/items.py b/worlds/evn/items.py index 783dd4f46a5c..add79914d6c1 100644 --- a/worlds/evn/items.py +++ b/worlds/evn/items.py @@ -7,7 +7,7 @@ from BaseClasses import Item, ItemClassification from . import rules -from .rezdata import ships +from .rezdata import ships, outfits if TYPE_CHECKING: from .world import EVNWorld @@ -34,9 +34,11 @@ # "Fed Patrol Boat": 142, # } +# maxes are noted but not yet enforced or in the data type_offset: Dict[str, int] = { "Credits": 9900, # Special case! These won't actually be set - the client will check for these ids and make its own adjustment. - "ship": 1550, # 1550 - 1999 will be ships. We have 450 ships, so this should be safe. + "ship": 1550, # 1550 - 1999 will be ships. We have 288/450 ships, so this should be safe. + "outf": 3100, # 3100 - 3500 for outfs. We have 242/400 outf, should be good } #EVNItemData = TypedDict("EVNItemData", {"name": str, "classification": ItemClassification, "code": int}) @@ -44,6 +46,7 @@ class EVNItemData(TypedDict, total=False): name: str classification: ItemClassification code: int + origin: str | None # Each Item instance must correctly report the "game" it belongs to. # To make this simple, it is common practice to subclass the basic Item class and override the "game" field. @@ -79,6 +82,18 @@ def get_items() -> Dict[int, EVNItemData]: name=temp_ship["name"].strip() + temp_ship["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. classification=ItemClassification.progression, code=item_id, + origin="ship" + ) + + # outf + for outf in outfits.outf_table.keys(): + temp_outf = outfits.outf_table[outf] + item_id = type_offset["outf"] + (int)(temp_outf["id"]) # Probably a safer way to test this? Fails if not int somehow probably. + ret_bank[item_id] = EVNItemData( + name=temp_outf["name"].strip() + temp_outf["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. + classification=ItemClassification.progression | ItemClassification.useful, # or useful? + code=item_id, + origin="outf" ) logger.info(f"data bank size: {len(ret_bank)}") @@ -145,7 +160,8 @@ def create_all_items(world: EVNWorld) -> None: itempool = [] for item_id in ev_item_bank: if ((item_id < 9900 or item_id >= 9906) and item_id != STRING_COMPLETE_BIT): # don't add credits to regular itempool, since they're just filler. We'll add them as needed in the filler section later. - #itempool.append(ev_item_bank[item_id]) + if (not world.options.include_outfits and ev_item_bank[item_id]["origin"] == "outf"): + continue itempool.append(create_item_with_correct_classification(world, ev_item_bank[item_id]["name"])) diff --git a/worlds/evn/options.py b/worlds/evn/options.py index 7de6a379de3f..149f5e9314ec 100644 --- a/worlds/evn/options.py +++ b/worlds/evn/options.py @@ -39,7 +39,6 @@ class ShuffleSystems(Toggle): class IncludeOutfits(DefaultOnToggle): """ Outfits will also need to be found and unlocked in order to purchase. Does not affect outfits ships come with naturally, but you may not be able to buy more ammo. - (Not Implemented) """ display_name = "Include Outfits in shuffle" @@ -50,6 +49,17 @@ class OutfitChecks(Toggle): """ display_name = "Include Outfits as Checks" +class AlwaysAvailableShops(Toggle): + """ + When on, ships and outf will always show up in shops (if unlocked) + """ + display_name = "Shops Always Stock" + +class IgnoreTechReq(Toggle): + """ + When on, tech level requirements are ignored. Any unlocked ships / outf will be available at any spob with shipyard / outfitters. + """ + display_name = "Ignore Tech Requirements" # class Hammer(Toggle): @@ -153,6 +163,8 @@ class EVNOptions(PerGameCommonOptions): include_outfits: IncludeOutfits outfit_checks: OutfitChecks chosen_string: ChosenString + always_avail_shops: AlwaysAvailableShops + ignore_tech: IgnoreTechReq # # If we want to group our options by similar type, we can do so as well. This looks nice on the website. diff --git a/worlds/evn/rezdata/outfits.py b/worlds/evn/rezdata/outfits.py new file mode 100644 index 000000000000..71e03538db1b --- /dev/null +++ b/worlds/evn/rezdata/outfits.py @@ -0,0 +1,7821 @@ +# This file is auto generated by a custom script, mostly. Some manual editting (particularly with the types) +# With how EVN plugins work, we essentially have to reconstruct any objects we want to modify. +# This file contains a table of mission data used in EV Nova. +# Search and replace regex: (\})\r?\n?\},\r?\n?\{(\r?\n?\s+)"([\d]*)"(:) -> $1,$2$3$4 + +from typing import Dict, TypedDict, List, Set + +outf_columns = { + "resource_type": "Resource Type", + "id": "ID", + "name": "Name", + "display_weight": "Display Weight", + "mass": "Mass", + "tech_level": "Tech Level", + "mod_type_1": "Mod Type 1", + "mod_value_1": "Mod Value 1", + "mod_type_2": "Mod Type 2", + "mod_value_2": "Mod Value 2", + "mod_type_3": "Mod Type 3", + "mod_value_3": "Mod Value 3", + "mod_type_4": "Mod Type 4", + "mod_value_4": "Mod Value 4", + "max_count": "Max Count", + "cost": "Cost", + "item_class": "Item Class", + "scan_mask": "Scan Mask", + "buy_random": "Buy Random", + "availability": "Availability", + "on_purchase": "On Purchase", + "on_sell": "On Sell", + "contribute_bits": "Contribute Bits", + "require_bits": "Require Bits", + "short_name": "Short Name", + "lower_case_name": "Lower Case Name", + "lower_case_plural_name": "Lower Case Plural Name", + "requirments_government": "Requirments Government", + "flags": "Flags", + "end_of_resource": "End-of-resource" +} + +# Manual adjustment until I figure out how to get the script to generate this correctly with the right types. +class OutfDict(TypedDict, total=False): + resource_type: str + id: int + name: str + display_weight: int + mass: int + tech_level: int + mod_type_1: int + mod_value_1: int + mod_type_2: int + mod_value_2: int + mod_type_3: int + mod_value_3: int + mod_type_4: int + mod_value_4: int + max_count: int + cost: int + item_class: int + scan_mask: int + buy_random: int + availability: str + on_purchase: str + on_sell: str + contribute_bits: int + require_bits: int + short_name: str + lower_case_name: str + lower_case_plural_name: str + requirments_government: int + flags: int + end_of_resource: str + +# I haven't figured out how to get the generator to not add quotes around int values without redefining the entire structure of the data, so for now it is all strings? +# I manually adjusted the index/keys though. +outf_table: Dict[int, OutfDict] = { + 128: { + "resource_type": "outf", + "id": "128", + "name": "Light Blaster", + "display_weight": "100", + "mass": "3", + "tech_level": "4", + "mod_type_1": "1", + "mod_value_1": "128", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "8", + "cost": "5000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Light Blaster", + "lower_case_name": "light blaster", + "lower_case_plural_name": "light blasters", + "requirments_government": "127", + "flags": "0x0001", + "end_of_resource": "EOR" + }, + 129: { + "resource_type": "outf", + "id": "129", + "name": "Medium Blaster", + "display_weight": "100", + "mass": "8", + "tech_level": "5", + "mod_type_1": "1", + "mod_value_1": "129", + "mod_type_2": "8", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "6", + "cost": "20000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000100000001", + "short_name": "Medium Blaster", + "lower_case_name": "medium blaster", + "lower_case_plural_name": "medium blasters", + "requirments_government": "128", + "flags": "0x0001", + "end_of_resource": "EOR" + }, + 130: { + "resource_type": "outf", + "id": "130", + "name": "Light Blaster Turret", + "display_weight": "100", + "mass": "10", + "tech_level": "5", + "mod_type_1": "1", + "mod_value_1": "130", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "6", + "cost": "15000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Light Blaster\\\\nTurret", + "lower_case_name": "light blaster turret", + "lower_case_plural_name": "light blaster turrets", + "requirments_government": "127", + "flags": "0x0002", + "end_of_resource": "EOR" + }, + 131: { + "resource_type": "outf", + "id": "131", + "name": "Medium Blaster Turret", + "display_weight": "99", + "mass": "25", + "tech_level": "6", + "mod_type_1": "1", + "mod_value_1": "131", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "40000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000100000001", + "short_name": "Medium Blaster\\\\nTurret", + "lower_case_name": "medium blaster turret", + "lower_case_plural_name": "medium blaster turrets", + "requirments_government": "128", + "flags": "0x0002", + "end_of_resource": "EOR" + }, + 132: { + "resource_type": "outf", + "id": "132", + "name": "Heavy Blaster Turret", + "display_weight": "99", + "mass": "45", + "tech_level": "7", + "mod_type_1": "1", + "mod_value_1": "132", + "mod_type_2": "7", + "mod_value_2": "-5", + "mod_type_3": "9", + "mod_value_3": "-2", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "85", + "availability": "b78 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000100000001", + "short_name": "Heavy Blaster\\\\nTurret", + "lower_case_name": "heavy blaster turret", + "lower_case_plural_name": "heavy blaster turrets", + "requirments_government": "127", + "flags": "0x4002", + "end_of_resource": "EOR" + }, + 133: { + "resource_type": "outf", + "id": "133", + "name": "Quad Light Blaster Turret", + "display_weight": "99", + "mass": "20", + "tech_level": "6", + "mod_type_1": "1", + "mod_value_1": "133", + "mod_type_2": "7", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "60000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "b68 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000900000001", + "short_name": "Quad Light\\\\nBlaster Turret", + "lower_case_name": "quad light blaster turret", + "lower_case_plural_name": "quad light blaster turrets", + "requirments_government": "127", + "flags": "0x4002", + "end_of_resource": "EOR" + }, + 134: { + "resource_type": "outf", + "id": "134", + "name": "IR Missile Launcher", + "display_weight": "98", + "mass": "5", + "tech_level": "4", + "mod_type_1": "1", + "mod_value_1": "134", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "20000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000200000001", + "short_name": "IR Missile\\\\nLauncher", + "lower_case_name": "IR missile launcher", + "lower_case_plural_name": "IR missile launchers", + "requirments_government": "128", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 135: { + "resource_type": "outf", + "id": "135", + "name": "IR Missile", + "display_weight": "98", + "mass": "0", + "tech_level": "4", + "mod_type_1": "3", + "mod_value_1": "134", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "200", + "cost": "750", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000200000001", + "short_name": "IR Missile", + "lower_case_name": "IR missile", + "lower_case_plural_name": "IR missiles", + "requirments_government": "128", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 136: { + "resource_type": "outf", + "id": "136", + "name": "Radar Missile Launcher", + "display_weight": "97", + "mass": "7", + "tech_level": "5", + "mod_type_1": "1", + "mod_value_1": "135", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "3", + "cost": "30000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "85", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000200000001", + "short_name": "Radar Missile\\\\nLauncher", + "lower_case_name": "radar missile launcher", + "lower_case_plural_name": "radar missile launchers", + "requirments_government": "128", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 137: { + "resource_type": "outf", + "id": "137", + "name": "Radar Missile", + "display_weight": "97", + "mass": "0", + "tech_level": "5", + "mod_type_1": "3", + "mod_value_1": "135", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "150", + "cost": "1000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000200000001", + "short_name": "Radar Missile", + "lower_case_name": "radar missile", + "lower_case_plural_name": "radar missiles", + "requirments_government": "128", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 138: { + "resource_type": "outf", + "id": "138", + "name": "Gravimetric Missile Launcher", + "display_weight": "96", + "mass": "10", + "tech_level": "115", + "mod_type_1": "1", + "mod_value_1": "136", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "100000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "75", + "availability": "P30 & !b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000200000001", + "short_name": "Grav Missile\\\\nLauncher", + "lower_case_name": "gravimetric missile launcher", + "lower_case_plural_name": "gravimetric missile launchers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 139: { + "resource_type": "outf", + "id": "139", + "name": "Gravimetric Missile", + "display_weight": "96", + "mass": "1", + "tech_level": "115", + "mod_type_1": "3", + "mod_value_1": "136", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "100", + "cost": "1750", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "P30 & !b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000200000001", + "short_name": "Gravimetric\\\\nMissile", + "lower_case_name": "gravimetric missile", + "lower_case_plural_name": "gravimetric missiles", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 140: { + "resource_type": "outf", + "id": "140", + "name": "Etheric Wake Missile Launcher", + "display_weight": "95", + "mass": "7", + "tech_level": "113", + "mod_type_1": "1", + "mod_value_1": "137", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "b29", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000200000001", + "short_name": "Etheric Wake\\\\nMissile Launcher", + "lower_case_name": "etheric wake missile launcher", + "lower_case_plural_name": "etheric wake missile launchers", + "requirments_government": "128", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 141: { + "resource_type": "outf", + "id": "141", + "name": "Etheric Wake Missile", + "display_weight": "95", + "mass": "1", + "tech_level": "113", + "mod_type_1": "3", + "mod_value_1": "137", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "75", + "cost": "2000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "b28", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000200000001", + "short_name": "Etheric Wake\\\\nMissile", + "lower_case_name": "etheric wake missile", + "lower_case_plural_name": "etheric wake missiles", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 142: { + "resource_type": "outf", + "id": "142", + "name": "Raven Rocket Pod", + "display_weight": "94", + "mass": "5", + "tech_level": "4", + "mod_type_1": "1", + "mod_value_1": "138", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "6", + "cost": "10000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Raven Rocket\\\\nPod", + "lower_case_name": "Raven rocket pod", + "lower_case_plural_name": "Raven rocket pods", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 143: { + "resource_type": "outf", + "id": "143", + "name": "Raven Rocket", + "display_weight": "94", + "mass": "0", + "tech_level": "3", + "mod_type_1": "3", + "mod_value_1": "138", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "300", + "cost": "100", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Raven Rocket", + "lower_case_name": "Raven rocket", + "lower_case_plural_name": "Raven rockets", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 144: { + "resource_type": "outf", + "id": "144", + "name": "Raven Rocket Turret", + "display_weight": "94", + "mass": "15", + "tech_level": "5", + "mod_type_1": "1", + "mod_value_1": "139", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "12500", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Raven Rocket\\\\nTurret", + "lower_case_name": "Raven rocket turret", + "lower_case_plural_name": "Raven rocket turrets", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 145: { + "resource_type": "outf", + "id": "145", + "name": "Stellar Grenade Launcher", + "display_weight": "93", + "mass": "3", + "tech_level": "3", + "mod_type_1": "1", + "mod_value_1": "140", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "3", + "cost": "5000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Stellar Grenade\\\\nLauncher", + "lower_case_name": "stellar grenade launcher", + "lower_case_plural_name": "stellar grenade launchers", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 146: { + "resource_type": "outf", + "id": "146", + "name": "Stellar Grenade", + "display_weight": "93", + "mass": "0", + "tech_level": "3", + "mod_type_1": "3", + "mod_value_1": "140", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "200", + "cost": "100", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Stellar Grenade", + "lower_case_name": "stellar grenade", + "lower_case_plural_name": "stellar grenades", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 147: { + "resource_type": "outf", + "id": "147", + "name": "Polaron Cannon", + "display_weight": "75", + "mass": "25", + "tech_level": "113", + "mod_type_1": "1", + "mod_value_1": "141", + "mod_type_2": "8", + "mod_value_2": "-3", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "3", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "b27 | b432", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000010000000001", + "short_name": "Polaron Cannon", + "lower_case_name": "Polaron cannon", + "lower_case_plural_name": "Polaron cannons", + "requirments_government": "128", + "flags": "0x4001", + "end_of_resource": "EOR" + }, + 148: { + "resource_type": "outf", + "id": "148", + "name": "Ionic Particle Cannon", + "display_weight": "75", + "mass": "25", + "tech_level": "111", + "mod_type_1": "1", + "mod_value_1": "142", + "mod_type_2": "7", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "8", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "b78 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000010000000001", + "short_name": "Ion Cannon", + "lower_case_name": "ionic particle cannon", + "lower_case_plural_name": "ionic particle cannons", + "requirments_government": "127", + "flags": "0x4001", + "end_of_resource": "EOR" + }, + 149: { + "resource_type": "outf", + "id": "149", + "name": "Fusion Pulse Cannon", + "display_weight": "50", + "mass": "6", + "tech_level": "10", + "mod_type_1": "1", + "mod_value_1": "143", + "mod_type_2": "8", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "6", + "cost": "20000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Fusion Pulse\\\\nCannon", + "lower_case_name": "fusion pulse cannon", + "lower_case_plural_name": "fusion pulse cannons", + "requirments_government": "127", + "flags": "0x4001", + "end_of_resource": "EOR" + }, + 150: { + "resource_type": "outf", + "id": "150", + "name": "Fusion Pulse Turret", + "display_weight": "50", + "mass": "20", + "tech_level": "11", + "mod_type_1": "1", + "mod_value_1": "144", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "50000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Fusion Pulse\\\\nTurret", + "lower_case_name": "fusion pulse turret", + "lower_case_plural_name": "fusion pulse turrets", + "requirments_government": "127", + "flags": "0x4002", + "end_of_resource": "EOR" + }, + 151: { + "resource_type": "outf", + "id": "151", + "name": "Wraith Cannon", + "display_weight": "25", + "mass": "10", + "tech_level": "133", + "mod_type_1": "1", + "mod_value_1": "145", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "((b279 | b316) & !b326) | b130", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Wraith Cannon", + "lower_case_name": "wraith cannon", + "lower_case_plural_name": "wraith cannons", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 152: { + "resource_type": "outf", + "id": "152", + "name": "Wraithii", + "display_weight": "25", + "mass": "0", + "tech_level": "133", + "mod_type_1": "3", + "mod_value_1": "145", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "600", + "cost": "1000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "((b279 | b316) & !(b285 & b327)) | b130", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Wraithii", + "lower_case_name": "wraithii", + "lower_case_plural_name": "wraithii", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 153: { + "resource_type": "outf", + "id": "153", + "name": "Capacitor Pulse Laser", + "display_weight": "26", + "mass": "40", + "tech_level": "9", + "mod_type_1": "1", + "mod_value_1": "146", + "mod_type_2": "18", + "mod_value_2": "-20", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "1000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "75", + "availability": "b298 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Capacitor Pulse\\\\nLaser", + "lower_case_name": "capacitor pulse laser", + "lower_case_plural_name": "capacitor pulse lasers", + "requirments_government": "127", + "flags": "0x4001", + "end_of_resource": "EOR" + }, + 154: { + "resource_type": "outf", + "id": "154", + "name": "BioRelay Laser", + "display_weight": "27", + "mass": "15", + "tech_level": "133", + "mod_type_1": "1", + "mod_value_1": "147", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "6", + "cost": "250000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "((b279 | b319) | (b134 | b189)) & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Biorelay Laser", + "lower_case_name": "biorelay laser", + "lower_case_plural_name": "biorelay lasers", + "requirments_government": "127", + "flags": "0x4001", + "end_of_resource": "EOR" + }, + 155: { + "resource_type": "outf", + "id": "155", + "name": "Polaron Torpedo Tube", + "display_weight": "24", + "mass": "25", + "tech_level": "9", + "mod_type_1": "1", + "mod_value_1": "148", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "60", + "availability": "(b298 & P30) & !b326", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Polaron Torpedo\\\\nTube", + "lower_case_name": "Polaron torpedo tube", + "lower_case_plural_name": "Polaron torpedo tubes", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 156: { + "resource_type": "outf", + "id": "156", + "name": "Polaron Torpedo", + "display_weight": "23", + "mass": "0", + "tech_level": "9", + "mod_type_1": "3", + "mod_value_1": "148", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "40", + "cost": "2500", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "(b298 & P30) & !b326", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Polaron Torpedo", + "lower_case_name": "Polaron torpedo", + "lower_case_plural_name": "Polaron torpedoes", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 157: { + "resource_type": "outf", + "id": "157", + "name": "Viper Bay", + "display_weight": "92", + "mass": "75", + "tech_level": "7", + "mod_type_1": "1", + "mod_value_1": "149", + "mod_type_2": "7", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "1500000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "50", + "availability": "b78 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000400000001", + "short_name": "Viper Bay", + "lower_case_name": "Viper bay", + "lower_case_plural_name": "Viper bays ", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 158: { + "resource_type": "outf", + "id": "158", + "name": "Viper", + "display_weight": "92", + "mass": "0", + "tech_level": "6", + "mod_type_1": "3", + "mod_value_1": "149", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "100000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "70", + "availability": "b78 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000400000001", + "short_name": "Viper", + "lower_case_name": "Viper", + "lower_case_plural_name": "Vipers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 159: { + "resource_type": "outf", + "id": "159", + "name": "Anaconda Bay", + "display_weight": "92", + "mass": "75", + "tech_level": "7", + "mod_type_1": "1", + "mod_value_1": "150", + "mod_type_2": "7", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "2000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "45", + "availability": "b78 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000400000001", + "short_name": "Anaconda Bay", + "lower_case_name": "Anaconda bay", + "lower_case_plural_name": "Anaconda bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 160: { + "resource_type": "outf", + "id": "160", + "name": "Anaconda", + "display_weight": "92", + "mass": "0", + "tech_level": "6", + "mod_type_1": "3", + "mod_value_1": "150", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "70", + "availability": "b78 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000400000001", + "short_name": "Anaconda", + "lower_case_name": "Anaconda", + "lower_case_plural_name": "Anacondas", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 161: { + "resource_type": "outf", + "id": "161", + "name": "Firebird Bay", + "display_weight": "70", + "mass": "80", + "tech_level": "11", + "mod_type_1": "1", + "mod_value_1": "151", + "mod_type_2": "7", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "1250000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "65", + "availability": "b224 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Firebird Bay", + "lower_case_name": "Firebird bay", + "lower_case_plural_name": "Firebird bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 162: { + "resource_type": "outf", + "id": "162", + "name": "Firebird", + "display_weight": "70", + "mass": "0", + "tech_level": "10", + "mod_type_1": "3", + "mod_value_1": "151", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "100000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "90", + "availability": "b224 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Firebird", + "lower_case_name": "Firebird", + "lower_case_plural_name": "Firebirds", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 163: { + "resource_type": "outf", + "id": "163", + "name": "Phoenix Bay", + "display_weight": "70", + "mass": "80", + "tech_level": "11", + "mod_type_1": "1", + "mod_value_1": "152", + "mod_type_2": "7", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "1750000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "55", + "availability": "b224 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Phoenix Bay", + "lower_case_name": "Phoenix bay", + "lower_case_plural_name": "Phoenix bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 164: { + "resource_type": "outf", + "id": "164", + "name": "Phoenix", + "display_weight": "70", + "mass": "0", + "tech_level": "10", + "mod_type_1": "3", + "mod_value_1": "152", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "85", + "availability": "b224 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Phoenix", + "lower_case_name": "Phoenix", + "lower_case_plural_name": "Phoenixes", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 165: { + "resource_type": "outf", + "id": "165", + "name": "Thunderhead Bay", + "display_weight": "15", + "mass": "90", + "tech_level": "5", + "mod_type_1": "1", + "mod_value_1": "153", + "mod_type_2": "7", + "mod_value_2": "-4", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "3500000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "60", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000400000001", + "short_name": "Thunderhead Bay", + "lower_case_name": "Thunderhead bay", + "lower_case_plural_name": "Thunderhead bays", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 166: { + "resource_type": "outf", + "id": "166", + "name": "Thunderhead", + "display_weight": "15", + "mass": "0", + "tech_level": "4", + "mod_type_1": "3", + "mod_value_1": "153", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "300000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000400000001", + "short_name": "Thunderhead", + "lower_case_name": "Thunderhead", + "lower_case_plural_name": "Thunderheads", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 167: { + "resource_type": "outf", + "id": "167", + "name": "Manta Bay", + "display_weight": "24", + "mass": "40", + "tech_level": "9", + "mod_type_1": "1", + "mod_value_1": "154", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "1000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "40", + "availability": "b298 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Manta Bay", + "lower_case_name": "Manta bay", + "lower_case_plural_name": "Manta bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 168: { + "resource_type": "outf", + "id": "168", + "name": "Manta", + "display_weight": "24", + "mass": "0", + "tech_level": "9", + "mod_type_1": "3", + "mod_value_1": "154", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "500000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "75", + "availability": "b298 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Manta", + "lower_case_name": "Manta", + "lower_case_plural_name": "Mantas", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 169: { + "resource_type": "outf", + "id": "169", + "name": "Hail Chaingun", + "display_weight": "48", + "mass": "4", + "tech_level": "10", + "mod_type_1": "1", + "mod_value_1": "155", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "8", + "cost": "5000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Hail Chaingun", + "lower_case_name": "Hail chaingun", + "lower_case_plural_name": "Hail chainguns", + "requirments_government": "127", + "flags": "0x0001", + "end_of_resource": "EOR" + }, + 170: { + "resource_type": "outf", + "id": "170", + "name": "Chaingun Ammunition", + "display_weight": "47", + "mass": "0", + "tech_level": "10", + "mod_type_1": "3", + "mod_value_1": "155", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2000", + "cost": "20", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Chaingun Ammo", + "lower_case_name": "chaingun ammunition", + "lower_case_plural_name": "magazines of chaingun ammunition", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 171: { + "resource_type": "outf", + "id": "171", + "name": "100mm Fixed Railgun", + "display_weight": "49", + "mass": "15", + "tech_level": "10", + "mod_type_1": "1", + "mod_value_1": "156", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "6", + "cost": "100000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "85", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "100mm Fixed\\\\nRailgun", + "lower_case_name": "100mm fixed railgun", + "lower_case_plural_name": "100mm fixed railguns", + "requirments_government": "127", + "flags": "0x4001", + "end_of_resource": "EOR" + }, + 172: { + "resource_type": "outf", + "id": "172", + "name": "150mm Fixed Railgun", + "display_weight": "49", + "mass": "25", + "tech_level": "10", + "mod_type_1": "1", + "mod_value_1": "157", + "mod_type_2": "8", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "5", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "150mm Fixed\\\\nRailgun", + "lower_case_name": "150mm fixed railgun", + "lower_case_plural_name": "150mm fixed railguns", + "requirments_government": "127", + "flags": "0x4001", + "end_of_resource": "EOR" + }, + 173: { + "resource_type": "outf", + "id": "173", + "name": "200mm Fixed Railgun", + "display_weight": "49", + "mass": "35", + "tech_level": "11", + "mod_type_1": "1", + "mod_value_1": "158", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "300000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "75", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "200mm Fixed\\\\nRailgun", + "lower_case_name": "200mm fixed railgun", + "lower_case_plural_name": "200mm fixed railguns", + "requirments_government": "127", + "flags": "0x4001", + "end_of_resource": "EOR" + }, + 174: { + "resource_type": "outf", + "id": "174", + "name": "100mm Turreted Railgun", + "display_weight": "49", + "mass": "30", + "tech_level": "11", + "mod_type_1": "1", + "mod_value_1": "159", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "500000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "65", + "availability": "b224 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Turreted Railgun\\\\n100mm", + "lower_case_name": "100mm turreted railgun", + "lower_case_plural_name": "100mm turreted railguns", + "requirments_government": "127", + "flags": "0x4002", + "end_of_resource": "EOR" + }, + 175: { + "resource_type": "outf", + "id": "175", + "name": "EMP Torpedo Tube", + "display_weight": "74", + "mass": "20", + "tech_level": "16", + "mod_type_1": "1", + "mod_value_1": "160", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "3", + "cost": "500000", + "item_class": "0", + "scan_mask": "0xE080", + "buy_random": "60", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "EMP Torpedo\\\\nTube", + "lower_case_name": "EMP torpedo tube", + "lower_case_plural_name": "EMP torpedo tubes", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 176: { + "resource_type": "outf", + "id": "176", + "name": "EMP Torpedo", + "display_weight": "74", + "mass": "4", + "tech_level": "16", + "mod_type_1": "3", + "mod_value_1": "160", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "20", + "cost": "5000", + "item_class": "0", + "scan_mask": "0xE080", + "buy_random": "80", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "EMP Torpedo", + "lower_case_name": "EMP torpedo", + "lower_case_plural_name": "EMP torpedoes", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 177: { + "resource_type": "outf", + "id": "177", + "name": "Fusion Reactor", + "display_weight": "23", + "mass": "10", + "tech_level": "8", + "mod_type_1": "18", + "mod_value_1": "8", + "mod_type_2": "8", + "mod_value_2": "20", + "mod_type_3": "7", + "mod_value_3": "25", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "1500000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "(b280 | b321) & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Fusion Reactor", + "lower_case_name": "fusion reactor", + "lower_case_plural_name": "fusion reactors", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 178: { + "resource_type": "outf", + "id": "178", + "name": "Thorium Reactor", + "display_weight": "93", + "mass": "8", + "tech_level": "111", + "mod_type_1": "18", + "mod_value_1": "10", + "mod_type_2": "8", + "mod_value_2": "10", + "mod_type_3": "7", + "mod_value_3": "15", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "4000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "60", + "availability": "b80 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Thorium Reactor", + "lower_case_name": "thorium reactor", + "lower_case_plural_name": "thorium reactors", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 179: { + "resource_type": "outf", + "id": "179", + "name": "Fission Reactor", + "display_weight": "93", + "mass": "10", + "tech_level": "6", + "mod_type_1": "18", + "mod_value_1": "16", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "1000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "75", + "availability": "P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Fission Reactor", + "lower_case_name": "fission reactor", + "lower_case_plural_name": "fission reactors", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 180: { + "resource_type": "outf", + "id": "180", + "name": "Carbon Fiber", + "display_weight": "16", + "mass": "1", + "tech_level": "3", + "mod_type_1": "6", + "mod_value_1": "40", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "250", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000800000001", + "short_name": "Carbon Fiber", + "lower_case_name": "layer of carbon fiber", + "lower_case_plural_name": "layers of carbon fiber", + "requirments_government": "128", + "flags": "0x0600", + "end_of_resource": "EOR" + }, + 181: { + "resource_type": "outf", + "id": "181", + "name": "Matrix Steel", + "display_weight": "71", + "mass": "3", + "tech_level": "11", + "mod_type_1": "6", + "mod_value_1": "150", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "1500", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Matrix Steel", + "lower_case_name": "matrix steel", + "lower_case_plural_name": "layers of matrix steel", + "requirments_government": "127", + "flags": "0x4600", + "end_of_resource": "EOR" + }, + 182: { + "resource_type": "outf", + "id": "182", + "name": "Titanium Lattice", + "display_weight": "93", + "mass": "2", + "tech_level": "7", + "mod_type_1": "6", + "mod_value_1": "110", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "3", + "cost": "5000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "75", + "availability": "b78 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000800000001", + "short_name": "Titanium\\\\nLattice", + "lower_case_name": "titanium lattice", + "lower_case_plural_name": "layers of titanium lattice", + "requirments_government": "127", + "flags": "0x4600", + "end_of_resource": "EOR" + }, + 183: { + "resource_type": "outf", + "id": "183", + "name": "Spun Diamond", + "display_weight": "25", + "mass": "1", + "tech_level": "9", + "mod_type_1": "6", + "mod_value_1": "200", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "3", + "cost": "2500", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "85", + "availability": "b298 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Spun Diamond", + "lower_case_name": "spun diamond", + "lower_case_plural_name": "layers of spun diamond", + "requirments_government": "127", + "flags": "0x4600", + "end_of_resource": "EOR" + }, + 184: { + "resource_type": "outf", + "id": "184", + "name": "Gravimetric Sensors", + "display_weight": "16", + "mass": "0", + "tech_level": "1", + "mod_type_1": "13", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "5000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Gravimetric\\\\nSensors", + "lower_case_name": "gravimetric sensor", + "lower_case_plural_name": "gravimetric sensors", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 185: { + "resource_type": "outf", + "id": "185", + "name": "IFF Decoder", + "display_weight": "16", + "mass": "0", + "tech_level": "1", + "mod_type_1": "14", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "5000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "IFF Decoder", + "lower_case_name": "IFF decoder", + "lower_case_plural_name": "IFF decoders", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 186: { + "resource_type": "outf", + "id": "186", + "name": "Auto-recharger", + "display_weight": "16", + "mass": "0", + "tech_level": "1", + "mod_type_1": "19", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "5000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Auto-recharger", + "lower_case_name": "auto-recharger", + "lower_case_plural_name": "auto-rechargers", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 187: { + "resource_type": "outf", + "id": "187", + "name": "Auto-eject", + "display_weight": "16", + "mass": "0", + "tech_level": "1", + "mod_type_1": "20", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "20000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Auto-eject", + "lower_case_name": "auto-eject", + "lower_case_plural_name": "auto-ejectors", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 188: { + "resource_type": "outf", + "id": "188", + "name": "Escape Pod", + "display_weight": "16", + "mass": "1", + "tech_level": "1", + "mod_type_1": "11", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "15000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Escape Pod", + "lower_case_name": "escape pod", + "lower_case_plural_name": "escape pods", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 189: { + "resource_type": "outf", + "id": "189", + "name": "Cargo Expansion", + "display_weight": "16", + "mass": "15", + "tech_level": "4", + "mod_type_1": "2", + "mod_value_1": "10", + "mod_type_2": "9", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "5", + "cost": "100000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Cargo Expansion", + "lower_case_name": "cargo expansion", + "lower_case_plural_name": "cargo expansions", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 190: { + "resource_type": "outf", + "id": "190", + "name": "Mass Expansion", + "display_weight": "16", + "mass": "-10", + "tech_level": "4", + "mod_type_1": "2", + "mod_value_1": "-15", + "mod_type_2": "9", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "5", + "cost": "175000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Mass Expansion", + "lower_case_name": "mass expansion", + "lower_case_plural_name": "mass expansions", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 191: { + "resource_type": "outf", + "id": "191", + "name": "Cargo Retool", + "display_weight": "16", + "mass": "12", + "tech_level": "4", + "mod_type_1": "2", + "mod_value_1": "10", + "mod_type_2": "9", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "5", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Cargo Retool", + "lower_case_name": "cargo retool", + "lower_case_plural_name": "cargo retools", + "requirments_government": "127", + "flags": "0x0008", + "end_of_resource": "EOR" + }, + 192: { + "resource_type": "outf", + "id": "192", + "name": "Mass Retool", + "display_weight": "16", + "mass": "-10", + "tech_level": "4", + "mod_type_1": "2", + "mod_value_1": "-12", + "mod_type_2": "9", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "5", + "cost": "275000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Mass Retool", + "lower_case_name": "mass retool", + "lower_case_plural_name": "mass retools", + "requirments_government": "127", + "flags": "0x0008", + "end_of_resource": "EOR" + }, + 193: { + "resource_type": "outf", + "id": "193", + "name": "Shield Recharger", + "display_weight": "93", + "mass": "3", + "tech_level": "7", + "mod_type_1": "5", + "mod_value_1": "60", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "400000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "70", + "availability": "b78 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000800000001", + "short_name": "Shield Recharger", + "lower_case_name": "shield recharger", + "lower_case_plural_name": "shield rechargers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 194: { + "resource_type": "outf", + "id": "194", + "name": "Organic Shield", + "display_weight": "25", + "mass": "5", + "tech_level": "9", + "mod_type_1": "5", + "mod_value_1": "120", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "600000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "b298 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Organic Shield", + "lower_case_name": "organic shield", + "lower_case_plural_name": "organic shields", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 195: { + "resource_type": "outf", + "id": "195", + "name": "Shield Buffer", + "display_weight": "93", + "mass": "4", + "tech_level": "7", + "mod_type_1": "4", + "mod_value_1": "25", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "10", + "cost": "600000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "70", + "availability": "b78 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000800000001", + "short_name": "Shield Buffer", + "lower_case_name": "shield buffer", + "lower_case_plural_name": "shield buffers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 196: { + "resource_type": "outf", + "id": "196", + "name": "Shield Organelles", + "display_weight": "25", + "mass": "3", + "tech_level": "9", + "mod_type_1": "4", + "mod_value_1": "40", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "10", + "cost": "750000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "b298 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Shield\\\\nOrganelles", + "lower_case_name": "shield organelles", + "lower_case_plural_name": "shield organelles", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 197: { + "resource_type": "outf", + "id": "197", + "name": "Afterburner", + "display_weight": "16", + "mass": "5", + "tech_level": "4", + "mod_type_1": "15", + "mod_value_1": "37", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "30000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Afterburner", + "lower_case_name": "afterburner", + "lower_case_plural_name": "afterburners", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 198: { + "resource_type": "outf", + "id": "198", + "name": "Port & Polish", + "display_weight": "73", + "mass": "0", + "tech_level": "112", + "mod_type_1": "7", + "mod_value_1": "75", + "mod_type_2": "8", + "mod_value_2": "25", + "mod_type_3": "9", + "mod_value_3": "10", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "50000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Port & Polish", + "lower_case_name": "port & polish", + "lower_case_plural_name": "port & polishes", + "requirments_government": "127", + "flags": "0x0008", + "end_of_resource": "EOR" + }, + 199: { + "resource_type": "outf", + "id": "199", + "name": "Overdrive", + "display_weight": "73", + "mass": "0", + "tech_level": "12", + "mod_type_1": "8", + "mod_value_1": "75", + "mod_type_2": "7", + "mod_value_2": "50", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "40000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "b437 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Overdrive", + "lower_case_name": "overdrive", + "lower_case_plural_name": "overdrives", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 200: { + "resource_type": "outf", + "id": "200", + "name": "Vectored Thrust", + "display_weight": "73", + "mass": "0", + "tech_level": "111", + "mod_type_1": "9", + "mod_value_1": "125", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "50000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Vectored Thrust", + "lower_case_name": "vectored thrust", + "lower_case_plural_name": "vectored thrust ports", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 201: { + "resource_type": "outf", + "id": "201", + "name": "Sutherland Alluvial Dampener", + "display_weight": "60", + "mass": "10", + "tech_level": "12", + "mod_type_1": "22", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "300000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "b446 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Suth All Damp", + "lower_case_name": "Sutherland alluvial damper", + "lower_case_plural_name": "Sutherland alluvial dampers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 202: { + "resource_type": "outf", + "id": "202", + "name": "Horizontal Booster", + "display_weight": "60", + "mass": "0", + "tech_level": "15", + "mod_type_1": "23", + "mod_value_1": "-500", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Horizontal\\\\nBooster", + "lower_case_name": "horizontal booster", + "lower_case_plural_name": "horizontal boosters", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 203: { + "resource_type": "outf", + "id": "203", + "name": "Sensor Boost", + "display_weight": "93", + "mass": "0", + "tech_level": "7", + "mod_type_1": "24", + "mod_value_1": "20", + "mod_type_2": "28", + "mod_value_2": "-3", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "300000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Sensor Boost", + "lower_case_name": "sensor boost", + "lower_case_plural_name": "sensor boosts", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 204: { + "resource_type": "outf", + "id": "204", + "name": "Map; Sol/Kel'ar Iy only", + "display_weight": "16", + "mass": "0", + "tech_level": "80", + "mod_type_1": "16", + "mod_value_1": "1", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "1000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Map", + "lower_case_name": "map", + "lower_case_plural_name": "maps", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 205: { + "resource_type": "outf", + "id": "205", + "name": ";T5 Strength", + "display_weight": "114", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "4", + "mod_value_1": "5", + "mod_type_2": "5", + "mod_value_2": "10", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "6", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "T5 Strength Level", + "lower_case_name": "T5 strength level", + "lower_case_plural_name": "T5 strength levels", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 206: { + "resource_type": "outf", + "id": "206", + "name": ";T4 Strength", + "display_weight": "114", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "4", + "mod_value_1": "25", + "mod_type_2": "5", + "mod_value_2": "20", + "mod_type_3": "12", + "mod_value_3": "100", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "6", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "T4 Strength Level", + "lower_case_name": "T4 strength level", + "lower_case_plural_name": "T4 strength levels", + "requirments_government": "0", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 207: { + "resource_type": "outf", + "id": "207", + "name": ";T3 Strength", + "display_weight": "114", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "4", + "mod_value_1": "125", + "mod_type_2": "5", + "mod_value_2": "40", + "mod_type_3": "12", + "mod_value_3": "200", + "mod_type_4": "19", + "mod_value_4": "-1", + "max_count": "6", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "T3 Strength Level", + "lower_case_name": "T3 strength level", + "lower_case_plural_name": "T3 strength levels", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 208: { + "resource_type": "outf", + "id": "208", + "name": "Cargo Retool", + "display_weight": "60", + "mass": "12", + "tech_level": "8", + "mod_type_1": "2", + "mod_value_1": "10", + "mod_type_2": "9", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "100000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Cargo Retool", + "lower_case_name": "cargo retool", + "lower_case_plural_name": "cargo retools", + "requirments_government": "127", + "flags": "0x0008", + "end_of_resource": "EOR" + }, + 209: { + "resource_type": "outf", + "id": "209", + "name": ";T2 Strength", + "display_weight": "114", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "4", + "mod_value_1": "600", + "mod_type_2": "5", + "mod_value_2": "80", + "mod_type_3": "12", + "mod_value_3": "400", + "mod_type_4": "19", + "mod_value_4": "-1", + "max_count": "6", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "T2 Strength Level", + "lower_case_name": "T2 strength level", + "lower_case_plural_name": "T2 strength levels", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 210: { + "resource_type": "outf", + "id": "210", + "name": "Mass Retool", + "display_weight": "60", + "mass": "-10", + "tech_level": "8", + "mod_type_1": "2", + "mod_value_1": "-12", + "mod_type_2": "9", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Mass Retool", + "lower_case_name": "mass retool", + "lower_case_plural_name": "mass retools", + "requirments_government": "127", + "flags": "0x0008", + "end_of_resource": "EOR" + }, + 211: { + "resource_type": "outf", + "id": "211", + "name": "Fed Cloaking Device", + "display_weight": "59", + "mass": "15", + "tech_level": "9999", + "mod_type_1": "17", + "mod_value_1": "14", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "3500000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "50", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Cloaking\\\\nDevice", + "lower_case_name": "cloaking device", + "lower_case_plural_name": "cloaking devices", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 212: { + "resource_type": "outf", + "id": "212", + "name": "Sensor Boost", + "display_weight": "25", + "mass": "0", + "tech_level": "9", + "mod_type_1": "24", + "mod_value_1": "40", + "mod_type_2": "28", + "mod_value_2": "-10", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "375000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "b283 | b321", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Sensor Boost", + "lower_case_name": "sensor boost", + "lower_case_plural_name": "sensor boosts", + "requirments_government": "127", + "flags": "0x4008", + "end_of_resource": "EOR" + }, + 213: { + "resource_type": "outf", + "id": "213", + "name": "Sensor Boost", + "display_weight": "71", + "mass": "0", + "tech_level": "11", + "mod_type_1": "24", + "mod_value_1": "15", + "mod_type_2": "28", + "mod_value_2": "-5", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "250000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Sensor Boost", + "lower_case_name": "sensor boost", + "lower_case_plural_name": "sensor boosts", + "requirments_government": "127", + "flags": "0x0008", + "end_of_resource": "EOR" + }, + 214: { + "resource_type": "outf", + "id": "214", + "name": "Sensor Boost", + "display_weight": "73", + "mass": "0", + "tech_level": "12", + "mod_type_1": "24", + "mod_value_1": "25", + "mod_type_2": "28", + "mod_value_2": "-3", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "600000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Sensor Boost", + "lower_case_name": "sensor boost", + "lower_case_plural_name": "sensor boosts", + "requirments_government": "127", + "flags": "0x0008", + "end_of_resource": "EOR" + }, + 215: { + "resource_type": "outf", + "id": "215", + "name": "Storm Chaingun", + "display_weight": "48", + "mass": "25", + "tech_level": "11", + "mod_type_1": "1", + "mod_value_1": "161", + "mod_type_2": "7", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "350000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "75", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Storm Chaingun", + "lower_case_name": "Storm chaingun", + "lower_case_plural_name": "Storm chainguns", + "requirments_government": "127", + "flags": "0x0002", + "end_of_resource": "EOR" + }, + 216: { + "resource_type": "outf", + "id": "216", + "name": "Fusion Pulse Battery", + "display_weight": "50", + "mass": "12", + "tech_level": "11", + "mod_type_1": "1", + "mod_value_1": "162", + "mod_type_2": "8", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "100000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "b206 & !b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Fusion Pulse\\\\nBattery", + "lower_case_name": "fusion pulse battery", + "lower_case_plural_name": "fusion pulse batteries", + "requirments_government": "127", + "flags": "0x4002", + "end_of_resource": "EOR" + }, + 217: { + "resource_type": "outf", + "id": "217", + "name": "Thunderhead Lance", + "display_weight": "15", + "mass": "8", + "tech_level": "113", + "mod_type_1": "1", + "mod_value_1": "166", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "100000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "75", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000100000001", + "short_name": "Thunderhead\\\\nLance", + "lower_case_name": "thunderhead lance", + "lower_case_plural_name": "thunderhead lances", + "requirments_government": "127", + "flags": "0x0101", + "end_of_resource": "EOR" + }, + 218: { + "resource_type": "outf", + "id": "218", + "name": "Pirate Viper Bay", + "display_weight": "69", + "mass": "40", + "tech_level": "12", + "mod_type_1": "1", + "mod_value_1": "169", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "2000000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "60", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Pirate\\\\nViper Bay", + "lower_case_name": "Pirate Viper bay", + "lower_case_plural_name": "Pirate Viper bays", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 219: { + "resource_type": "outf", + "id": "219", + "name": "Pirate Viper", + "display_weight": "69", + "mass": "0", + "tech_level": "12", + "mod_type_1": "3", + "mod_value_1": "169", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "75", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Pirate Viper", + "lower_case_name": "Pirate Viper", + "lower_case_plural_name": "Pirate Vipers", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 220: { + "resource_type": "outf", + "id": "220", + "name": "Turreted BioRelay Laser", + "display_weight": "27", + "mass": "25", + "tech_level": "9", + "mod_type_1": "1", + "mod_value_1": "170", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "1250000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "85", + "availability": "b298 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "BioRelay Laser\\\\nTurret", + "lower_case_name": "biorelay laser turret", + "lower_case_plural_name": "biorelay laser turrets", + "requirments_government": "127", + "flags": "0x4002", + "end_of_resource": "EOR" + }, + 221: { + "resource_type": "outf", + "id": "221", + "name": "Flower Of Spring", + "display_weight": "120", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "1", + "mod_value_1": "171", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Flower of Spring", + "lower_case_name": "Flower of Spring", + "lower_case_plural_name": "Flowers of Spring", + "requirments_government": "0", + "flags": "0x402D", + "end_of_resource": "EOR" + }, + 222: { + "resource_type": "outf", + "id": "222", + "name": "Summer Bloom", + "display_weight": "119", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "1", + "mod_value_1": "172", + "mod_type_2": "18", + "mod_value_2": "-40", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Summer Bloom", + "lower_case_name": "Summer Bloom", + "lower_case_plural_name": "Summer Blooms", + "requirments_government": "0", + "flags": "0x402E", + "end_of_resource": "EOR" + }, + 223: { + "resource_type": "outf", + "id": "223", + "name": "Autumn Petal", + "display_weight": "118", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "1", + "mod_value_1": "173", + "mod_type_2": "18", + "mod_value_2": "-32", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Autumn Petal", + "lower_case_name": "Autumn Petal", + "lower_case_plural_name": "Autumn Petals", + "requirments_government": "0", + "flags": "0x402E", + "end_of_resource": "EOR" + }, + 224: { + "resource_type": "outf", + "id": "224", + "name": "Winter Tempest", + "display_weight": "117", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "1", + "mod_value_1": "174", + "mod_type_2": "18", + "mod_value_2": "-20", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Winter Tempest", + "lower_case_name": "Winter Tempest", + "lower_case_plural_name": "Winter Tempests", + "requirments_government": "0", + "flags": "0x402D", + "end_of_resource": "EOR" + }, + 225: { + "resource_type": "outf", + "id": "225", + "name": "Create Dart", + "display_weight": "116", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "1", + "mod_value_1": "175", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Divisable Mind", + "lower_case_name": "capability to divide your mind", + "lower_case_plural_name": "capabilities to divide your mind", + "requirments_government": "127", + "flags": "0x402C", + "end_of_resource": "EOR" + }, + 226: { + "resource_type": "outf", + "id": "226", + "name": "Dart", + "display_weight": "115", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "3", + "mod_value_1": "175", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "3", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Dart", + "lower_case_name": "lot of energy to create a dart", + "lower_case_plural_name": "lots of energy to create darts", + "requirments_government": "127", + "flags": "0x4028", + "end_of_resource": "EOR" + }, + 227: { + "resource_type": "outf", + "id": "227", + "name": "Marine Platoon", + "display_weight": "10", + "mass": "5", + "tech_level": "3", + "mod_type_1": "25", + "mod_value_1": "25", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "18", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "40", + "availability": "P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Marine Platoon", + "lower_case_name": "marine platoon", + "lower_case_plural_name": "marine platoons", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 228: { + "resource_type": "outf", + "id": "228", + "name": "Solar Panels", + "display_weight": "16", + "mass": "3", + "tech_level": "3", + "mod_type_1": "18", + "mod_value_1": "30", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "15000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Solar Panel", + "lower_case_name": "solar panel", + "lower_case_plural_name": "solar panels", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 229: { + "resource_type": "outf", + "id": "229", + "name": "Nanites", + "display_weight": "0", + "mass": "30", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "163", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "100", + "cost": "1", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Nanites", + "lower_case_name": "nanites", + "lower_case_plural_name": "nanites", + "requirments_government": "0", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 230: { + "resource_type": "outf", + "id": "230", + "name": "Solar Lance", + "display_weight": "0", + "mass": "15", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "164", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "1", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Solar Lance", + "lower_case_name": "solar lance", + "lower_case_plural_name": "solar lances", + "requirments_government": "0", + "flags": "0x0001", + "end_of_resource": "EOR" + }, + 231: { + "resource_type": "outf", + "id": "231", + "name": "WGB (A)", + "display_weight": "0", + "mass": "10", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "165", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "1", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "WGB (A)", + "lower_case_name": "wgb (a)", + "lower_case_plural_name": "wgb (a)", + "requirments_government": "0", + "flags": "0x0001", + "end_of_resource": "EOR" + }, + 232: { + "resource_type": "outf", + "id": "232", + "name": "WGB (Y)", + "display_weight": "0", + "mass": "8", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "167", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "1", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "WGB (Y)", + "lower_case_name": "wgb (y)", + "lower_case_plural_name": "wgb (y)", + "requirments_government": "0", + "flags": "0x0001", + "end_of_resource": "EOR" + }, + 233: { + "resource_type": "outf", + "id": "233", + "name": "WGB (C)", + "display_weight": "0", + "mass": "5", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "168", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "1", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "WGB (C)", + "lower_case_name": "wgb (c)", + "lower_case_plural_name": "wgb (c)", + "requirments_government": "0", + "flags": "0x0001", + "end_of_resource": "EOR" + }, + 234: { + "resource_type": "outf", + "id": "234", + "name": "Rebel Cloaking Device - legal", + "display_weight": "59", + "mass": "15", + "tech_level": "15", + "mod_type_1": "17", + "mod_value_1": "6", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "3500000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "50", + "availability": "b753", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rebel Cloaking\\\\nDevice", + "lower_case_name": "Rebel cloaking device", + "lower_case_plural_name": "Rebel cloaking devices", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 235: { + "resource_type": "outf", + "id": "235", + "name": "Matter/Antimatter Reactor", + "display_weight": "23", + "mass": "15", + "tech_level": "9", + "mod_type_1": "18", + "mod_value_1": "4", + "mod_type_2": "7", + "mod_value_2": "35", + "mod_type_3": "8", + "mod_value_3": "25", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "5000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "70", + "availability": "b298 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Anti-Matter\\\\nReactor", + "lower_case_name": "matter/anti-matter reactor", + "lower_case_plural_name": "matter/anti-matter reactors", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 236: { + "resource_type": "outf", + "id": "236", + "name": "Fuel Transfer", + "display_weight": "0", + "mass": "0", + "tech_level": "999", + "mod_type_1": "12", + "mod_value_1": "-100", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Fuel Transfer", + "lower_case_name": "fuel transfer", + "lower_case_plural_name": "fuel transfers", + "requirments_government": "127", + "flags": "0x0010", + "end_of_resource": "EOR" + }, + 237: { + "resource_type": "outf", + "id": "237", + "name": "Map", + "display_weight": "0", + "mass": "0", + "tech_level": "999", + "mod_type_1": "16", + "mod_value_1": "3", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "1000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "75", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Map", + "lower_case_name": "map", + "lower_case_plural_name": "maps", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 238: { + "resource_type": "outf", + "id": "238", + "name": "Civilian IR Jammer", + "display_weight": "16", + "mass": "1", + "tech_level": "6", + "mod_type_1": "33", + "mod_value_1": "20", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "25000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000800000001", + "short_name": "Civilian\\\\nIR Jammer", + "lower_case_name": "civilian IR jammer", + "lower_case_plural_name": "civilian IR jammers", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 239: { + "resource_type": "outf", + "id": "239", + "name": "Civilian Radar Jammer", + "display_weight": "16", + "mass": "2", + "tech_level": "6", + "mod_type_1": "34", + "mod_value_1": "15", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "40000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "85", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000800000001", + "short_name": "Civilian\\\\nRadar Jam", + "lower_case_name": "civilian radar jammer", + "lower_case_plural_name": "civilian radar jammers", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 240: { + "resource_type": "outf", + "id": "240", + "name": "Military IR Jammer", + "display_weight": "93", + "mass": "2", + "tech_level": "6", + "mod_type_1": "33", + "mod_value_1": "30", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "75000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "b68 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000800000001", + "short_name": "Military\\\\nIR Jammer", + "lower_case_name": "military IR jammer", + "lower_case_plural_name": "military IR jammers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 241: { + "resource_type": "outf", + "id": "241", + "name": "Military Radar Jammer", + "display_weight": "93", + "mass": "4", + "tech_level": "7", + "mod_type_1": "34", + "mod_value_1": "25", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "125000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "75", + "availability": "b78 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000800000001", + "short_name": "Military\\\\nRadar Jam", + "lower_case_name": "military radar jammer", + "lower_case_plural_name": "military radar jammers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 242: { + "resource_type": "outf", + "id": "242", + "name": "Auroran IR Jammer", + "display_weight": "49", + "mass": "4", + "tech_level": "10", + "mod_type_1": "33", + "mod_value_1": "35", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "100000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "b206 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Auroran\\\\nIR Jammer", + "lower_case_name": "Auroran IR jammer", + "lower_case_plural_name": "Auroran IR jammers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 243: { + "resource_type": "outf", + "id": "243", + "name": "Auroran Radar Jammer", + "display_weight": "49", + "mass": "10", + "tech_level": "11", + "mod_type_1": "34", + "mod_value_1": "20", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "125000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "b206 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Auroran\\\\nRadar Jam", + "lower_case_name": "Auroran radar jammer", + "lower_case_plural_name": "Auroran radar jammers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 244: { + "resource_type": "outf", + "id": "244", + "name": "Polaris Jammer", + "display_weight": "25", + "mass": "1", + "tech_level": "8", + "mod_type_1": "33", + "mod_value_1": "40", + "mod_type_2": "34", + "mod_value_2": "40", + "mod_type_3": "35", + "mod_value_3": "20", + "mod_type_4": "36", + "mod_value_4": "10", + "max_count": "1", + "cost": "50000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "(b280 | b321) & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Polaris\\\\nJammer", + "lower_case_name": "Polaris jammer", + "lower_case_plural_name": "Polaris jammers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 245: { + "resource_type": "outf", + "id": "245", + "name": "Nil'kemorya Jammer", + "display_weight": "25", + "mass": "2", + "tech_level": "9", + "mod_type_1": "33", + "mod_value_1": "50", + "mod_type_2": "34", + "mod_value_2": "50", + "mod_type_3": "35", + "mod_value_3": "45", + "mod_type_4": "36", + "mod_value_4": "20", + "max_count": "1", + "cost": "125000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "70", + "availability": "b298 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Nil'kemorya\\\\nJammer", + "lower_case_name": "Nil'kemorya jammer", + "lower_case_plural_name": "Nil'kemorya jammers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 246: { + "resource_type": "outf", + "id": "246", + "name": "Rebel IR Jammer", + "display_weight": "60", + "mass": "2", + "tech_level": "15", + "mod_type_1": "33", + "mod_value_1": "35", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "75000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "b130 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rebel\\\\nIR Jammer", + "lower_case_name": "Rebel IR jammer", + "lower_case_plural_name": "Rebel IR jammers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 247: { + "resource_type": "outf", + "id": "247", + "name": "Rebel Radar Jammer", + "display_weight": "60", + "mass": "4", + "tech_level": "15", + "mod_type_1": "34", + "mod_value_1": "30", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "125000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "85", + "availability": "b134 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rebel\\\\nRadar Jam", + "lower_case_name": "Rebel radar jammer", + "lower_case_plural_name": "Rebel radar jammers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 248: { + "resource_type": "outf", + "id": "248", + "name": "Pirate Jammer", + "display_weight": "70", + "mass": "5", + "tech_level": "12", + "mod_type_1": "33", + "mod_value_1": "30", + "mod_type_2": "34", + "mod_value_2": "20", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Pirate Jammer", + "lower_case_name": "Pirate jammer", + "lower_case_plural_name": "Pirate jammers", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 249: { + "resource_type": "outf", + "id": "249", + "name": "Distract Sensors", + "display_weight": "114", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "33", + "mod_value_1": "45", + "mod_type_2": "34", + "mod_value_2": "45", + "mod_type_3": "35", + "mod_value_3": "40", + "mod_type_4": "36", + "mod_value_4": "35", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Distract Sensors", + "lower_case_name": "ability to distract sensors", + "lower_case_plural_name": "abilities to distract sensors", + "requirments_government": "127", + "flags": "0x402C", + "end_of_resource": "EOR" + }, + 250: { + "resource_type": "outf", + "id": "250", + "name": "Rebel Radar Jammer", + "display_weight": "60", + "mass": "4", + "tech_level": "15", + "mod_type_1": "34", + "mod_value_1": "30", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "125000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "85", + "availability": "b190 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rebel\\\\nRadar Jam", + "lower_case_name": "Rebel radar jammer", + "lower_case_plural_name": "Rebel radar jammers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 251: { + "resource_type": "outf", + "id": "251", + "name": "Vell-os Area Map", + "display_weight": "113", + "mass": "0", + "tech_level": "999", + "mod_type_1": "19", + "mod_value_1": "0", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "b450", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Topographic\\\\nSense", + "lower_case_name": "topographic sense", + "lower_case_plural_name": "topographic sense", + "requirments_government": "127", + "flags": "0x402C", + "end_of_resource": "EOR" + }, + 252: { + "resource_type": "outf", + "id": "252", + "name": "Physical Sense", + "display_weight": "112", + "mass": "0", + "tech_level": "999", + "mod_type_1": "13", + "mod_value_1": "-1", + "mod_type_2": "28", + "mod_value_2": "-25", + "mod_type_3": "24", + "mod_value_3": "50", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Physical Sense\\\\nSize", + "lower_case_name": "physical size sense", + "lower_case_plural_name": "physical size sense", + "requirments_government": "0", + "flags": "0x402C", + "end_of_resource": "EOR" + }, + 253: { + "resource_type": "outf", + "id": "253", + "name": "Hostility Sense", + "display_weight": "111", + "mass": "0", + "tech_level": "999", + "mod_type_1": "14", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Hostility Sense", + "lower_case_name": "hostility sense", + "lower_case_plural_name": "hostility sense", + "requirments_government": "0", + "flags": "0x402C", + "end_of_resource": "EOR" + }, + 254: { + "resource_type": "outf", + "id": "254", + "name": "Wraith Cannon", + "display_weight": "16", + "mass": "10", + "tech_level": "113", + "mod_type_1": "1", + "mod_value_1": "200", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "500000", + "item_class": "0", + "scan_mask": "0x2400", + "buy_random": "85", + "availability": "b32", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Wraith Cannon", + "lower_case_name": "wraith cannon", + "lower_case_plural_name": "wraith cannons", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 255: { + "resource_type": "outf", + "id": "255", + "name": "Wraithii", + "display_weight": "16", + "mass": "0", + "tech_level": "113", + "mod_type_1": "3", + "mod_value_1": "145", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "600", + "cost": "2500", + "item_class": "0", + "scan_mask": "0x2400", + "buy_random": "95", + "availability": "b31", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Wraithii", + "lower_case_name": "wraithii", + "lower_case_plural_name": "wraithii", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 256: { + "resource_type": "outf", + "id": "256", + "name": "Battery Pack", + "display_weight": "16", + "mass": "3", + "tech_level": "3", + "mod_type_1": "12", + "mod_value_1": "100", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "4", + "cost": "10000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Battery Pack", + "lower_case_name": "battery pack", + "lower_case_plural_name": "battery packs", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 257: { + "resource_type": "outf", + "id": "257", + "name": "Heavy Weapons License", + "display_weight": "5", + "mass": "0", + "tech_level": "7", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "5000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000100000000", + "require_bits": "0x0000000000000000", + "short_name": "Heavy Weapons\\\\nLicense", + "lower_case_name": "heavy weapons license", + "lower_case_plural_name": "heavy weapons licenses", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 258: { + "resource_type": "outf", + "id": "258", + "name": "Missile Weapons License", + "display_weight": "5", + "mass": "0", + "tech_level": "7", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "7500", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000200000000", + "require_bits": "0x0000000000000000", + "short_name": "Missile Weapons\\\\nLicense", + "lower_case_name": "missile weapons license", + "lower_case_plural_name": "missile weapons licenses", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 259: { + "resource_type": "outf", + "id": "259", + "name": "Fighter Bay License", + "display_weight": "4", + "mass": "0", + "tech_level": "7", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "20000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000400000000", + "require_bits": "0x0000000000000000", + "short_name": "Fighter Bay\\\\nLicense", + "lower_case_name": "fighter bay license", + "lower_case_plural_name": "fighter bay licenses", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 260: { + "resource_type": "outf", + "id": "260", + "name": "Protective Technologies License", + "display_weight": "5", + "mass": "0", + "tech_level": "7", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "40000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000800000000", + "require_bits": "0x0000000000000000", + "short_name": "Protective Tech\\\\nLicense", + "lower_case_name": "protective technologies license", + "lower_case_plural_name": "protective technologies licenses", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 261: { + "resource_type": "outf", + "id": "261", + "name": "Thorium Reactor - ionisation", + "display_weight": "93", + "mass": "15", + "tech_level": "67", + "mod_type_1": "50", + "mod_value_1": "135", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "400000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Thorium Reactor", + "lower_case_name": "thorium reactor", + "lower_case_plural_name": "thorium reactors", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 262: { + "resource_type": "outf", + "id": "262", + "name": "Ion Dissipator", + "display_weight": "60", + "mass": "5", + "tech_level": "15", + "mod_type_1": "40", + "mod_value_1": "200", + "mod_type_2": "39", + "mod_value_2": "50", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "2", + "cost": "300000", + "item_class": "0", + "scan_mask": "0x0800", + "buy_random": "75", + "availability": "b429", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Ion Dissipator", + "lower_case_name": "ion dissipator", + "lower_case_plural_name": "ion dissipators", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 263: { + "resource_type": "outf", + "id": "263", + "name": "Capital Ships License", + "display_weight": "4", + "mass": "0", + "tech_level": "7", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "50000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000004000000000", + "require_bits": "0x0000000000000000", + "short_name": "Capital Ships\\\\nLicense", + "lower_case_name": "capital ships license", + "lower_case_plural_name": "capital ships licenses", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 264: { + "resource_type": "outf", + "id": "264", + "name": "Capital Warships License", + "display_weight": "4", + "mass": "0", + "tech_level": "7", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "75000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000008000000000", + "require_bits": "0x0000004000000000", + "short_name": "Capital Warships\\\\nLicense", + "lower_case_name": "capital warships license", + "lower_case_plural_name": "capital warships licenses", + "requirments_government": "127", + "flags": "0x400C", + "end_of_resource": "EOR" + }, + 265: { + "resource_type": "outf", + "id": "265", + "name": "Exotic Ships & Weapons License", + "display_weight": "3", + "mass": "0", + "tech_level": "7", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "100000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "60", + "availability": "P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x000001FF00000000", + "require_bits": "0x0000000000000000", + "short_name": "Exotic Ships &\\\\nWeaps License", + "lower_case_name": "exotic ships and weapons license", + "lower_case_plural_name": "exotic ships and weapons licenses", + "requirments_government": "127", + "flags": "0x400C", + "end_of_resource": "EOR" + }, + 266: { + "resource_type": "outf", + "id": "266", + "name": "Wraith Cloaking Device", + "display_weight": "0", + "mass": "0", + "tech_level": "999", + "mod_type_1": "17", + "mod_value_1": "2", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Wr Cloak", + "lower_case_name": "wraith cloaking device", + "lower_case_plural_name": "wraith cloaking devices", + "requirments_government": "0", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 267: { + "resource_type": "outf", + "id": "267", + "name": "Wraith Fast Jump", + "display_weight": "0", + "mass": "0", + "tech_level": "999", + "mod_type_1": "37", + "mod_value_1": "0", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Wr Fast Jump", + "lower_case_name": "wraith fast jump", + "lower_case_plural_name": "wraith fast jumps", + "requirments_government": "0", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 268: { + "resource_type": "outf", + "id": "268", + "name": "Cloaking Organ;Polaris v1.0", + "display_weight": "25", + "mass": "1", + "tech_level": "9", + "mod_type_1": "17", + "mod_value_1": "2059", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "1000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "(b1301 | b319) & !b1302", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Cloaking Organ", + "lower_case_name": "cloaking organ", + "lower_case_plural_name": "cloaking organs", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 269: { + "resource_type": "outf", + "id": "269", + "name": "Cloaking Organ;Polaris v1.1", + "display_weight": "25", + "mass": "1", + "tech_level": "9", + "mod_type_1": "17", + "mod_value_1": "1033", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "1000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "b1302", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Cloaking Organ", + "lower_case_name": "cloaking organ", + "lower_case_plural_name": "cloaking organs", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 270: { + "resource_type": "outf", + "id": "270", + "name": "Asteroid Mining Laser", + "display_weight": "7", + "mass": "3", + "tech_level": "4", + "mod_type_1": "1", + "mod_value_1": "181", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "8", + "cost": "10000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Mining Laser", + "lower_case_name": "mining laser", + "lower_case_plural_name": "mining lasers", + "requirments_government": "127", + "flags": "0x0001", + "end_of_resource": "EOR" + }, + 271: { + "resource_type": "outf", + "id": "271", + "name": "Asteroid Scoop", + "display_weight": "7", + "mass": "5", + "tech_level": "3", + "mod_type_1": "31", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "10000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Asteroid Scoop", + "lower_case_name": "asteroid scoop", + "lower_case_plural_name": "asteroid scoops", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 272: { + "resource_type": "outf", + "id": "272", + "name": "Dr Ralph's Exploration Map", + "display_weight": "0", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "16", + "mod_value_1": "10", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "999", + "cost": "0", + "item_class": "25", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Dr Ralph's Map", + "lower_case_name": "Dr Ralph's exploration map", + "lower_case_plural_name": "Dr Ralph's exploration maps", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 273: { + "resource_type": "outf", + "id": "273", + "name": "Tunnelling Organ", + "display_weight": "25", + "mass": "3", + "tech_level": "9", + "mod_type_1": "37", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "b3721 & !b324", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Tunnelling\\\\nOrgan", + "lower_case_name": "tunnelling organ", + "lower_case_plural_name": "tunnelling organs", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 274: { + "resource_type": "outf", + "id": "274", + "name": "Tunnelling Organ", + "display_weight": "25", + "mass": "2", + "tech_level": "9", + "mod_type_1": "37", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "100000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "b324", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Tunnelling\\\\nOrgan", + "lower_case_name": "tunnelling organ", + "lower_case_plural_name": "tunnelling organs", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 275: { + "resource_type": "outf", + "id": "275", + "name": "Multi-Jumping Organ", + "display_weight": "25", + "mass": "2", + "tech_level": "9", + "mod_type_1": "32", + "mod_value_1": "10", + "mod_type_2": "37", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "b326", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Multi-Jump\\\\nOrgan", + "lower_case_name": "multi-jump organ", + "lower_case_plural_name": "multi-jump organs", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 276: { + "resource_type": "outf", + "id": "276", + "name": "Polaron Multi-Torpedo Tube", + "display_weight": "22", + "mass": "28", + "tech_level": "9", + "mod_type_1": "1", + "mod_value_1": "182", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "250000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "50", + "availability": "(P30 & b305) & !b327", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Polaron Multi-Torp\\\\nTube", + "lower_case_name": "Polaron multi-torpedo tube", + "lower_case_plural_name": "Polaron multi-torpedo tubes", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 277: { + "resource_type": "outf", + "id": "277", + "name": "Polaron Multi-Torpedo", + "display_weight": "21", + "mass": "0", + "tech_level": "9", + "mod_type_1": "3", + "mod_value_1": "182", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "20", + "cost": "3000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "75", + "availability": "(P30 & b305) & !b327", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Polaron Multi-Torp", + "lower_case_name": "Polaron multi-torpedo", + "lower_case_plural_name": "Polaron multi-torpedoes", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 278: { + "resource_type": "outf", + "id": "278", + "name": "Wraith Cannon;fire whilst cloaked", + "display_weight": "25", + "mass": "10", + "tech_level": "9", + "mod_type_1": "1", + "mod_value_1": "183", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "210000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "85", + "availability": "b285 & b327", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Wraith Cannon", + "lower_case_name": "wraith cannon", + "lower_case_plural_name": "wraith cannons", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 279: { + "resource_type": "outf", + "id": "279", + "name": "Wraithii;fire whilst cloaked", + "display_weight": "25", + "mass": "0", + "tech_level": "9", + "mod_type_1": "3", + "mod_value_1": "145", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "300", + "cost": "1050", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "b285 & b327", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Wraithii", + "lower_case_name": "wraithii", + "lower_case_plural_name": "wraithii", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 280: { + "resource_type": "outf", + "id": "280", + "name": "Polaron Torpedo Tube;fire whilst cloaked", + "display_weight": "24", + "mass": "27", + "tech_level": "9", + "mod_type_1": "1", + "mod_value_1": "184", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "210000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "70", + "availability": "(P30 & b298) & (b327 & b1305)", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Polaron Torpedo\\\\nTube", + "lower_case_name": "Polaron torpedo tube", + "lower_case_plural_name": "Polaron torpedo tubes", + "requirments_government": "127", + "flags": "0x5000", + "end_of_resource": "EOR" + }, + 281: { + "resource_type": "outf", + "id": "281", + "name": "Polaron Torpedo;fire whilst cloaked", + "display_weight": "23", + "mass": "0", + "tech_level": "9", + "mod_type_1": "3", + "mod_value_1": "148", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "20", + "cost": "2600", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "85", + "availability": "(P30 & b298) & (b327 & b1305)", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Polaron Torpedo", + "lower_case_name": "Polaron torpedo", + "lower_case_plural_name": "Polaron torpedoes", + "requirments_government": "127", + "flags": "0x5000", + "end_of_resource": "EOR" + }, + 282: { + "resource_type": "outf", + "id": "282", + "name": "Polaron Multi-Torpedo Tube;fire whilst cloaked", + "display_weight": "22", + "mass": "30", + "tech_level": "9", + "mod_type_1": "1", + "mod_value_1": "185", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "260000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "60", + "availability": "(P30 & b305) & (b327 & b1305)", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Polaron Multi-Torp\\\\nTube", + "lower_case_name": "Polaron multi-torpedo tube", + "lower_case_plural_name": "Polaron multi-torpedo tubes", + "requirments_government": "127", + "flags": "0x5000", + "end_of_resource": "EOR" + }, + 283: { + "resource_type": "outf", + "id": "283", + "name": "Polaron Multi-Torpedo;fire whilst cloaked", + "display_weight": "21", + "mass": "0", + "tech_level": "9", + "mod_type_1": "3", + "mod_value_1": "182", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "10", + "cost": "3200", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "75", + "availability": "(P30 & b305) & (b327 & b1305)", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Polaron Multi-Torp", + "lower_case_name": "Polaron multi-torpedo", + "lower_case_plural_name": "Polaron multi-torpedoes", + "requirments_government": "127", + "flags": "0x5000", + "end_of_resource": "EOR" + }, + 284: { + "resource_type": "outf", + "id": "284", + "name": "Pirate Thunderhead Bay", + "display_weight": "69", + "mass": "70", + "tech_level": "12", + "mod_type_1": "1", + "mod_value_1": "176", + "mod_type_2": "8", + "mod_value_2": "-3", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "5000000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "40", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Pirate Th-head\\\\nBay", + "lower_case_name": "Pirate Thunderhead bay", + "lower_case_plural_name": "Pirate Thunderhead bays", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 285: { + "resource_type": "outf", + "id": "285", + "name": "Pirate Thunderhead", + "display_weight": "69", + "mass": "0", + "tech_level": "12", + "mod_type_1": "3", + "mod_value_1": "176", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "400000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "60", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Pirate\\\\nThunderhead", + "lower_case_name": "Pirate Thunderhead", + "lower_case_plural_name": "Pirate Thunderheads", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 286: { + "resource_type": "outf", + "id": "286", + "name": "Firebird Bay", + "display_weight": "70", + "mass": "65", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "186", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "3", + "cost": "1250000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "75", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Firebird Bay", + "lower_case_name": "Firebird bay", + "lower_case_plural_name": "Firebird bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 287: { + "resource_type": "outf", + "id": "287", + "name": "Firebird", + "display_weight": "70", + "mass": "0", + "tech_level": "999", + "mod_type_1": "3", + "mod_value_1": "186", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "120000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "95", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Firebird", + "lower_case_name": "Firebird", + "lower_case_plural_name": "Firebirds", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 288: { + "resource_type": "outf", + "id": "288", + "name": "Firebird Bay", + "display_weight": "70", + "mass": "65", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "187", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "3", + "cost": "1250000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "75", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Firebird Bay", + "lower_case_name": "Firebird bay", + "lower_case_plural_name": "Firebird bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 289: { + "resource_type": "outf", + "id": "289", + "name": "Firebird", + "display_weight": "70", + "mass": "0", + "tech_level": "999", + "mod_type_1": "3", + "mod_value_1": "187", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "120000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "95", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Firebird", + "lower_case_name": "Firebird", + "lower_case_plural_name": "Firebirds", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 290: { + "resource_type": "outf", + "id": "290", + "name": "Phoenix Bay", + "display_weight": "70", + "mass": "65", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "188", + "mod_type_2": "8", + "mod_value_2": "-3", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "1750000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Phoenix Bay", + "lower_case_name": "Phoenix bay", + "lower_case_plural_name": "Phoenix bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 291: { + "resource_type": "outf", + "id": "291", + "name": "Phoenix", + "display_weight": "70", + "mass": "0", + "tech_level": "999", + "mod_type_1": "3", + "mod_value_1": "188", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Phoenix", + "lower_case_name": "Phoenix", + "lower_case_plural_name": "Phoenix's", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 292: { + "resource_type": "outf", + "id": "292", + "name": "Phoenix Bay", + "display_weight": "70", + "mass": "65", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "189", + "mod_type_2": "8", + "mod_value_2": "-3", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "1750000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Phoenix Bay", + "lower_case_name": "Phoenix bay", + "lower_case_plural_name": "Phoenix bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 293: { + "resource_type": "outf", + "id": "293", + "name": "Phoenix", + "display_weight": "70", + "mass": "0", + "tech_level": "999", + "mod_type_1": "3", + "mod_value_1": "189", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Phoenix", + "lower_case_name": "Phoenix", + "lower_case_plural_name": "Phoenix's", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 294: { + "resource_type": "outf", + "id": "294", + "name": "Pirate Viper Bay", + "display_weight": "69", + "mass": "75", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "190", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "2000000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Pirate Viper Bay", + "lower_case_name": "Pirate Viper bay", + "lower_case_plural_name": "Pirate Viper bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 295: { + "resource_type": "outf", + "id": "295", + "name": "Pirate Viper", + "display_weight": "15", + "mass": "0", + "tech_level": "999", + "mod_type_1": "3", + "mod_value_1": "190", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Pirate Viper", + "lower_case_name": "Pirate Viper", + "lower_case_plural_name": "Pirate Vipers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 296: { + "resource_type": "outf", + "id": "296", + "name": "Pirate Viper Bay", + "display_weight": "69", + "mass": "75", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "191", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "2000000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Pirate Viper Bay", + "lower_case_name": "Pirate Viper bay", + "lower_case_plural_name": "Pirate Viper bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 297: { + "resource_type": "outf", + "id": "297", + "name": "Pirate Viper", + "display_weight": "15", + "mass": "0", + "tech_level": "999", + "mod_type_1": "3", + "mod_value_1": "191", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Pirate Viper", + "lower_case_name": "Pirate Viper", + "lower_case_plural_name": "Pirate Vipers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 298: { + "resource_type": "outf", + "id": "298", + "name": "Rebel Viper Bay", + "display_weight": "69", + "mass": "50", + "tech_level": "15", + "mod_type_1": "1", + "mod_value_1": "192", + "mod_type_2": "8", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "2000000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "45", + "availability": "b134 | b190", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rebel Viper Bay", + "lower_case_name": "Rebel Viper bay", + "lower_case_plural_name": "Rebel Viper bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 299: { + "resource_type": "outf", + "id": "299", + "name": "Rebel Viper", + "display_weight": "69", + "mass": "0", + "tech_level": "15", + "mod_type_1": "3", + "mod_value_1": "192", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "80", + "availability": "b134 | b190", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rebel Viper", + "lower_case_name": "Rebel Viper", + "lower_case_plural_name": "Rebel Vipers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 300: { + "resource_type": "outf", + "id": "300", + "name": "Rebel Viper Bay", + "display_weight": "69", + "mass": "50", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "193", + "mod_type_2": "8", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "2000000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rebel Viper Bay", + "lower_case_name": "Rebel Viper bay", + "lower_case_plural_name": "Rebel Viper bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 301: { + "resource_type": "outf", + "id": "301", + "name": "Rebel Viper", + "display_weight": "15", + "mass": "0", + "tech_level": "999", + "mod_type_1": "3", + "mod_value_1": "193", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rebel Viper", + "lower_case_name": "Rebel Viper", + "lower_case_plural_name": "Rebel Vipers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 302: { + "resource_type": "outf", + "id": "302", + "name": "Rebel Viper Bay", + "display_weight": "69", + "mass": "50", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "194", + "mod_type_2": "8", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "2000000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rebel Viper Bay", + "lower_case_name": "Rebel Viper bay", + "lower_case_plural_name": "Rebel Viper bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 303: { + "resource_type": "outf", + "id": "303", + "name": "Rebel Viper", + "display_weight": "15", + "mass": "0", + "tech_level": "999", + "mod_type_1": "3", + "mod_value_1": "194", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rebel Viper", + "lower_case_name": "Rebel Viper", + "lower_case_plural_name": "Rebel Vipers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 304: { + "resource_type": "outf", + "id": "304", + "name": "Rebel Viper Bay", + "display_weight": "69", + "mass": "50", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "195", + "mod_type_2": "8", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "2000000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rebel Viper Bay", + "lower_case_name": "Rebel Viper bay", + "lower_case_plural_name": "Rebel Viper bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 305: { + "resource_type": "outf", + "id": "305", + "name": "Rebel Viper", + "display_weight": "15", + "mass": "0", + "tech_level": "999", + "mod_type_1": "3", + "mod_value_1": "195", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rebel Viper", + "lower_case_name": "Rebel Viper", + "lower_case_plural_name": "Rebel Vipers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 306: { + "resource_type": "outf", + "id": "306", + "name": "Viper Bay", + "display_weight": "92", + "mass": "75", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "177", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "1500000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000400000001", + "short_name": "Viper Bay", + "lower_case_name": "Viper bay", + "lower_case_plural_name": "Viper bays ", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 307: { + "resource_type": "outf", + "id": "307", + "name": "Viper", + "display_weight": "92", + "mass": "0", + "tech_level": "999", + "mod_type_1": "3", + "mod_value_1": "177", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000400000001", + "short_name": "Viper", + "lower_case_name": "Viper", + "lower_case_plural_name": "Vipers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 308: { + "resource_type": "outf", + "id": "308", + "name": "Viper Bay", + "display_weight": "92", + "mass": "75", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "179", + "mod_type_2": "8", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "1500000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000400000001", + "short_name": "Viper Bay", + "lower_case_name": "Viper bay", + "lower_case_plural_name": "Viper bays ", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 309: { + "resource_type": "outf", + "id": "309", + "name": "Viper", + "display_weight": "92", + "mass": "0", + "tech_level": "999", + "mod_type_1": "3", + "mod_value_1": "179", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000400000001", + "short_name": "Viper", + "lower_case_name": "Viper", + "lower_case_plural_name": "Vipers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 310: { + "resource_type": "outf", + "id": "310", + "name": "Anaconda Bay", + "display_weight": "92", + "mass": "75", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "178", + "mod_type_2": "8", + "mod_value_2": "-3", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "2000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000400000001", + "short_name": "Anaconda Bay", + "lower_case_name": "Anaconda bay", + "lower_case_plural_name": "Anaconda bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 311: { + "resource_type": "outf", + "id": "311", + "name": "Anaconda", + "display_weight": "92", + "mass": "0", + "tech_level": "999", + "mod_type_1": "3", + "mod_value_1": "178", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000400000001", + "short_name": "Anaconda", + "lower_case_name": "Anaconda", + "lower_case_plural_name": "Anacondas", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 312: { + "resource_type": "outf", + "id": "312", + "name": "Anaconda Bay", + "display_weight": "92", + "mass": "75", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "180", + "mod_type_2": "8", + "mod_value_2": "-3", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "2000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000400000001", + "short_name": "Anaconda Bay", + "lower_case_name": "Anaconda bay", + "lower_case_plural_name": "Anaconda bays", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 313: { + "resource_type": "outf", + "id": "313", + "name": "Anaconda", + "display_weight": "92", + "mass": "0", + "tech_level": "999", + "mod_type_1": "3", + "mod_value_1": "180", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "9999", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000400000001", + "short_name": "Anaconda", + "lower_case_name": "Anaconda", + "lower_case_plural_name": "Anacondas", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 314: { + "resource_type": "outf", + "id": "314", + "name": "Chrome Valk Upgrade", + "display_weight": "0", + "mass": "0", + "tech_level": "116", + "mod_type_1": "-1", + "mod_value_1": "0", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "50000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "75", + "availability": "b4000 & P30", + "on_purchase": "H165", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000080000001", + "short_name": "Starbridge\\\\nUpgrade", + "lower_case_name": "Starbridge upgrade", + "lower_case_plural_name": "Starbridge upgrades", + "requirments_government": "127", + "flags": "0x4110", + "end_of_resource": "EOR" + }, + 315: { + "resource_type": "outf", + "id": "315", + "name": "Rebel Starbridge Upgrade", + "display_weight": "0", + "mass": "0", + "tech_level": "15", + "mod_type_1": "-1", + "mod_value_1": "0", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "25000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "50", + "availability": "b130 & P30", + "on_purchase": "H178", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000080000001", + "short_name": "Rebel Starbridge\\\\nUpgrade", + "lower_case_name": "Rebel Starbridge upgrade", + "lower_case_plural_name": "Rebel Starbridge upgrades", + "requirments_government": "127", + "flags": "0x4110", + "end_of_resource": "EOR" + }, + 316: { + "resource_type": "outf", + "id": "316", + "name": "Rebel Valkyrie Upgrade", + "display_weight": "0", + "mass": "0", + "tech_level": "15", + "mod_type_1": "-1", + "mod_value_1": "0", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "20000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "50", + "availability": "b130 & P30", + "on_purchase": "H179", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000040000001", + "short_name": "Rebel Valkyrie\\\\nUpgrade", + "lower_case_name": "Rebel Valkyrie upgrade", + "lower_case_plural_name": "Rebel Valkyrie upgrades", + "requirments_government": "127", + "flags": "0x4110", + "end_of_resource": "EOR" + }, + 317: { + "resource_type": "outf", + "id": "317", + "name": "Pirate Starbridge Upgrade", + "display_weight": "0", + "mass": "0", + "tech_level": "12", + "mod_type_1": "-1", + "mod_value_1": "0", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "50000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "40", + "availability": "b130 & P30", + "on_purchase": "H148", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000080000001", + "short_name": "Pirate Starbridge\\\\nUpgrade", + "lower_case_name": "Pirate Starbridge upgrade", + "lower_case_plural_name": "Pirate Starbridge upgrades", + "requirments_government": "127", + "flags": "0x4110", + "end_of_resource": "EOR" + }, + 318: { + "resource_type": "outf", + "id": "318", + "name": "Pirate Valkyrie Upgrade", + "display_weight": "0", + "mass": "0", + "tech_level": "12", + "mod_type_1": "-1", + "mod_value_1": "0", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "40000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "40", + "availability": "b130 & P30", + "on_purchase": "H149", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000040000001", + "short_name": "Pirate Valkyrie\\\\nUpgrade", + "lower_case_name": "Pirate Valkyrie upgrade", + "lower_case_plural_name": "Pirate Valkyrie upgrades", + "requirments_government": "127", + "flags": "0x4110", + "end_of_resource": "EOR" + }, + 319: { + "resource_type": "outf", + "id": "319", + "name": "Drop Bear Repellent", + "display_weight": "0", + "mass": "0", + "tech_level": "77", + "mod_type_1": "-1", + "mod_value_1": "0", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "999", + "cost": "5000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "b42 & !b44", + "on_purchase": "b43", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Drop Bear\\\\nRepellant", + "lower_case_name": "bottle of Auroran drop bear repellent", + "lower_case_plural_name": "bottles of Auroran drop bear repellent", + "requirments_government": "127", + "flags": "0x4004", + "end_of_resource": "EOR" + }, + 320: { + "resource_type": "outf", + "id": "320", + "name": "Illegal Medium Blaster", + "display_weight": "100", + "mass": "10", + "tech_level": "42", + "mod_type_1": "1", + "mod_value_1": "129", + "mod_type_2": "7", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "17000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "95", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000020000000000", + "require_bits": "0x0000000000000001", + "short_name": "Medium Blaster\\\\n- illegal -", + "lower_case_name": "illegal medium blaster", + "lower_case_plural_name": "illegal medium blasters", + "requirments_government": "127", + "flags": "0x0801", + "end_of_resource": "EOR" + }, + 321: { + "resource_type": "outf", + "id": "321", + "name": "Illegal Medium Blaster Turret", + "display_weight": "99", + "mass": "30", + "tech_level": "42", + "mod_type_1": "1", + "mod_value_1": "131", + "mod_type_2": "7", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "35000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "90", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000020000000000", + "require_bits": "0x0000000000000001", + "short_name": "Med Bl Turret\\\\n- illegal -", + "lower_case_name": "illegal medium blaster turret", + "lower_case_plural_name": "illegal medium blaster turrets", + "requirments_government": "127", + "flags": "0x0802", + "end_of_resource": "EOR" + }, + 322: { + "resource_type": "outf", + "id": "322", + "name": "Illegal Heavy Blaster Turret", + "display_weight": "98", + "mass": "60", + "tech_level": "42", + "mod_type_1": "1", + "mod_value_1": "132", + "mod_type_2": "7", + "mod_value_2": "-2", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "130000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "80", + "availability": "b130", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000020000000000", + "require_bits": "0x0000000000000001", + "short_name": "Hvy Bl Turret\\\\n- illegal -", + "lower_case_name": "illegal heavy blaster turret", + "lower_case_plural_name": "illegal heavy blaster turrets", + "requirments_government": "127", + "flags": "0x4802", + "end_of_resource": "EOR" + }, + 323: { + "resource_type": "outf", + "id": "323", + "name": "Illegal Quad Light Blaster Turret", + "display_weight": "98", + "mass": "20", + "tech_level": "42", + "mod_type_1": "1", + "mod_value_1": "133", + "mod_type_2": "7", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "55000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "80", + "availability": "b130", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000020000000000", + "require_bits": "0x0000000000000001", + "short_name": "Qd Lt Turret\\\\n- illegal -", + "lower_case_name": "illegal quad light blaster turret", + "lower_case_plural_name": "illegal quad light blaster turrets", + "requirments_government": "127", + "flags": "0x4802", + "end_of_resource": "EOR" + }, + 324: { + "resource_type": "outf", + "id": "324", + "name": "Illegal IR Missile Launcher", + "display_weight": "98", + "mass": "5", + "tech_level": "42", + "mod_type_1": "1", + "mod_value_1": "134", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "17000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "95", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000020000000000", + "require_bits": "0x0000000000000001", + "short_name": "IR Mssl Lnchr\\\\n- illegal -", + "lower_case_name": "illegal IR missile launcher", + "lower_case_plural_name": "illegal IR missile launchers", + "requirments_government": "127", + "flags": "0x0800", + "end_of_resource": "EOR" + }, + 325: { + "resource_type": "outf", + "id": "325", + "name": "Illegal IR Missile", + "display_weight": "98", + "mass": "0", + "tech_level": "42", + "mod_type_1": "3", + "mod_value_1": "134", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "200", + "cost": "650", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "100", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000020000000000", + "require_bits": "0x0000000000000001", + "short_name": "IR Missile\\\\n- illegal -", + "lower_case_name": "illegal IR missile", + "lower_case_plural_name": "illegal IR missiles", + "requirments_government": "127", + "flags": "0x0800", + "end_of_resource": "EOR" + }, + 326: { + "resource_type": "outf", + "id": "326", + "name": "Illegal Radar Missile Launcher", + "display_weight": "97", + "mass": "7", + "tech_level": "42", + "mod_type_1": "1", + "mod_value_1": "135", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "3", + "cost": "25000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "90", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000020000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rdr Mssl Lnchr\\\\n- illegal -", + "lower_case_name": "illegal radar missile launcher", + "lower_case_plural_name": "illegal radar missile launchers", + "requirments_government": "127", + "flags": "0x0800", + "end_of_resource": "EOR" + }, + 327: { + "resource_type": "outf", + "id": "327", + "name": "Illegal Radar Missile", + "display_weight": "97", + "mass": "0", + "tech_level": "42", + "mod_type_1": "3", + "mod_value_1": "135", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "150", + "cost": "800", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "100", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000020000000000", + "require_bits": "0x0000000000000001", + "short_name": "Radar Missile\\\\n- illegal -", + "lower_case_name": "illegal radar missile", + "lower_case_plural_name": "illegal radar missiles", + "requirments_government": "127", + "flags": "0x4800", + "end_of_resource": "EOR" + }, + 328: { + "resource_type": "outf", + "id": "328", + "name": "Disabling Fusion Pulse Turret", + "display_weight": "50", + "mass": "20", + "tech_level": "11", + "mod_type_1": "1", + "mod_value_1": "233", + "mod_type_2": "8", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "75000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "b206 & !b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Fusion Turret\\\\n- disabling -", + "lower_case_name": "disabling fusion pulse turret", + "lower_case_plural_name": "disabling fusion pulse turrets", + "requirments_government": "127", + "flags": "0x4002", + "end_of_resource": "EOR" + }, + 329: { + "resource_type": "outf", + "id": "329", + "name": "Disabling Radar Missile Launcher", + "display_weight": "97", + "mass": "7", + "tech_level": "11", + "mod_type_1": "1", + "mod_value_1": "234", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "3", + "cost": "20000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "85", + "availability": "b206", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rdr Mssl Launcher\\\\n- disabling -", + "lower_case_name": "disabling radar missile launcher", + "lower_case_plural_name": "disabling radar missile launchers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 330: { + "resource_type": "outf", + "id": "330", + "name": "Disabling Radar Missile", + "display_weight": "97", + "mass": "0", + "tech_level": "11", + "mod_type_1": "3", + "mod_value_1": "135", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "150", + "cost": "1250", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "95", + "availability": "b206", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Radar Missile\\\\n- disabling -", + "lower_case_name": "disabling radar missile", + "lower_case_plural_name": "disabling radar missiles", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 331: { + "resource_type": "outf", + "id": "331", + "name": "User modified Ionic Particle Cannon", + "display_weight": "75", + "mass": "25", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "201", + "mod_type_2": "8", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "8", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Ion Cannon\\\\n- User modified -", + "lower_case_name": "user modified ionic particle cannon", + "lower_case_plural_name": "user modified ionic particle cannons", + "requirments_government": "127", + "flags": "0x4001", + "end_of_resource": "EOR" + }, + 332: { + "resource_type": "outf", + "id": "332", + "name": "Illegal Ionic Particle Cannon", + "display_weight": "75", + "mass": "25", + "tech_level": "42", + "mod_type_1": "1", + "mod_value_1": "142", + "mod_type_2": "8", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "8", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "70", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000020000000000", + "require_bits": "0x0000000000000001", + "short_name": "Ion Cannon\\\\n- illegal -", + "lower_case_name": "illegal ionic particle cannon", + "lower_case_plural_name": "illegal ionic particle cannons", + "requirments_government": "127", + "flags": "0x0801", + "end_of_resource": "EOR" + }, + 333: { + "resource_type": "outf", + "id": "333", + "name": "Sigma Engine Tune-up", + "display_weight": "0", + "mass": "0", + "tech_level": "20", + "mod_type_1": "7", + "mod_value_1": "60", + "mod_type_2": "8", + "mod_value_2": "30", + "mod_type_3": "9", + "mod_value_3": "75", + "mod_type_4": "12", + "mod_value_4": "100", + "max_count": "1", + "cost": "1000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "50", + "availability": "b33 & !b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Sigma\\\\nEngine Tune-up", + "lower_case_name": "Sigma engine tune-up", + "lower_case_plural_name": "Sigma engine tune-ups", + "requirments_government": "127", + "flags": "0x4008", + "end_of_resource": "EOR" + }, + 334: { + "resource_type": "outf", + "id": "334", + "name": "Sigma Electrical Rewiring", + "display_weight": "0", + "mass": "0", + "tech_level": "20", + "mod_type_1": "4", + "mod_value_1": "100", + "mod_type_2": "5", + "mod_value_2": "50", + "mod_type_3": "24", + "mod_value_3": "20", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "1000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "50", + "availability": "b33 & !b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Sigma\\\\nElec. Rewiring", + "lower_case_name": "Sigma electrical rewiring", + "lower_case_plural_name": "Sigma electrical rewirings", + "requirments_government": "127", + "flags": "0x4008", + "end_of_resource": "EOR" + }, + 335: { + "resource_type": "outf", + "id": "335", + "name": "Sigma Mount Reinforcement", + "display_weight": "0", + "mass": "0", + "tech_level": "20", + "mod_type_1": "45", + "mod_value_1": "4", + "mod_type_2": "46", + "mod_value_2": "2", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "1500000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "50", + "availability": "b33 & !b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Sigma\\\\nMount Reinf.", + "lower_case_name": "Sigma mount reinforcement", + "lower_case_plural_name": "Sigma mount reinforcement", + "requirments_government": "127", + "flags": "0x4008", + "end_of_resource": "EOR" + }, + 336: { + "resource_type": "outf", + "id": "336", + "name": ";T1 Strength", + "display_weight": "114", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "4", + "mod_value_1": "1000", + "mod_type_2": "5", + "mod_value_2": "100", + "mod_type_3": "12", + "mod_value_3": "800", + "mod_type_4": "19", + "mod_value_4": "-1", + "max_count": "6", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "T1 Strength Level", + "lower_case_name": "T1 strength level", + "lower_case_plural_name": "T1 strength levels", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 337: { + "resource_type": "outf", + "id": "337", + "name": ";T0 Strength", + "display_weight": "114", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "4", + "mod_value_1": "2000", + "mod_type_2": "5", + "mod_value_2": "150", + "mod_type_3": "12", + "mod_value_3": "1200", + "mod_type_4": "19", + "mod_value_4": "-1", + "max_count": "6", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "T0 Strength Level", + "lower_case_name": "T0 strength level", + "lower_case_plural_name": "T0 strength levels", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 338: { + "resource_type": "outf", + "id": "338", + "name": "Telekinetic Boost", + "display_weight": "112", + "mass": "0", + "tech_level": "999", + "mod_type_1": "15", + "mod_value_1": "20", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Telekinetic Boost", + "lower_case_name": "telekinetic boost", + "lower_case_plural_name": "telekinetic boosts", + "requirments_government": "127", + "flags": "0x402C", + "end_of_resource": "EOR" + }, + 339: { + "resource_type": "outf", + "id": "339", + "name": ";Krypt mind attack", + "display_weight": "0", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "5", + "mod_value_1": "-20", + "mod_type_2": "18", + "mod_value_2": "-12", + "mod_type_3": "4", + "mod_value_3": "-50", + "mod_type_4": "29", + "mod_value_4": "-10", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", + "lower_case_name": "", + "lower_case_plural_name": "", + "requirments_government": "-1", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 340: { + "resource_type": "outf", + "id": "340", + "name": "Sigma Mass Expansion", + "display_weight": "0", + "mass": "-100", + "tech_level": "20", + "mod_type_1": "2", + "mod_value_1": "-120", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "2500000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "40", + "availability": "b33 & !b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Sigma\\\\nMass Expansion", + "lower_case_name": "Sigma mass expansion", + "lower_case_plural_name": "Sigma mass expansions", + "requirments_government": "127", + "flags": "0x4008", + "end_of_resource": "EOR" + }, + 341: { + "resource_type": "outf", + "id": "341", + "name": "Sigma Mass Addition", + "display_weight": "0", + "mass": "-5", + "tech_level": "20", + "mod_type_1": "-1", + "mod_value_1": "0", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "500000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "60", + "availability": "b33 & !b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Sigma\\\\nMass Addition", + "lower_case_name": "Sigma mass addition", + "lower_case_plural_name": "Sigma mass additions", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 342: { + "resource_type": "outf", + "id": "342", + "name": "Area Map - Vell-os", + "display_weight": "0", + "mass": "0", + "tech_level": "0", + "mod_type_1": "16", + "mod_value_1": "2", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Area Map", + "lower_case_name": "area map", + "lower_case_plural_name": "area maps", + "requirments_government": "-1", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 345: { + "resource_type": "outf", + "id": "345", + "name": "Wraith Cannon", + "display_weight": "16", + "mass": "10", + "tech_level": "15", + "mod_type_1": "1", + "mod_value_1": "219", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "4", + "cost": "500000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "70", + "availability": "b130", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Wraith Cannon", + "lower_case_name": "wraith cannon", + "lower_case_plural_name": "wraith cannons", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 346: { + "resource_type": "outf", + "id": "346", + "name": "Wraithii", + "display_weight": "16", + "mass": "0", + "tech_level": "15", + "mod_type_1": "3", + "mod_value_1": "145", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "600", + "cost": "2500", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "85", + "availability": "b130", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Wraithii", + "lower_case_name": "wraithii", + "lower_case_plural_name": "wraithii", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 347: { + "resource_type": "outf", + "id": "347", + "name": "Rebel Cloaking Device - illegal", + "display_weight": "59", + "mass": "15", + "tech_level": "15", + "mod_type_1": "17", + "mod_value_1": "6", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "3500000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Rebel Cloaking\\\\nDevice", + "lower_case_name": "Rebel cloaking device", + "lower_case_plural_name": "Rebel cloaking devices", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 348: { + "resource_type": "outf", + "id": "348", + "name": "Bureau Bomb Outfit", + "display_weight": "0", + "mass": "0", + "tech_level": "9999", + "mod_type_1": "47", + "mod_value_1": "3220", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "0", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "-1", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Bomb", + "lower_case_name": "", + "lower_case_plural_name": "", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 358: { + "resource_type": "outf", + "id": "358", + "name": "Cheap Thorium Reactor", + "display_weight": "0", + "mass": "7", + "tech_level": "57", + "mod_type_1": "18", + "mod_value_1": "20", + "mod_type_2": "8", + "mod_value_2": "5", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "400000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "20", + "availability": "!b424", + "on_purchase": "b9011", + "on_sell": "!b9011", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Thorium Reactor\\\\n- cheap -", + "lower_case_name": "cheap thorium reactor", + "lower_case_plural_name": "cheap thorium reactors", + "requirments_government": "127", + "flags": "0x0800", + "end_of_resource": "EOR" + }, + 359: { + "resource_type": "outf", + "id": "359", + "name": "Cheap Fission Reactor", + "display_weight": "0", + "mass": "8", + "tech_level": "57", + "mod_type_1": "18", + "mod_value_1": "35", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "100000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "35", + "availability": "!b424", + "on_purchase": "b9012", + "on_sell": "!b9012", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Fission Reactor\\\\n- cheap -", + "lower_case_name": "cheap fission reactor", + "lower_case_plural_name": "cheap fission reactors", + "requirments_government": "127", + "flags": "0x0800", + "end_of_resource": "EOR" + }, + 360: { + "resource_type": "outf", + "id": "360", + "name": "Cheap Carbon Fiber", + "display_weight": "0", + "mass": "1", + "tech_level": "55", + "mod_type_1": "6", + "mod_value_1": "30", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "150", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "60", + "availability": "!b424", + "on_purchase": "b9013", + "on_sell": "!b9013", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Carbon Fiber\\\\n- cheap -", + "lower_case_name": "layer of cheap carbon fiber", + "lower_case_plural_name": "layers of cheap carbon fiber", + "requirments_government": "127", + "flags": "0x0E00", + "end_of_resource": "EOR" + }, + 361: { + "resource_type": "outf", + "id": "361", + "name": "Cheap Military IR Jammer", + "display_weight": "0", + "mass": "2", + "tech_level": "55", + "mod_type_1": "33", + "mod_value_1": "25", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "15000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "50", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Mil IR Jammer\\\\n- cheap -", + "lower_case_name": "cheap military IR jammer", + "lower_case_plural_name": "cheap military IR jammers", + "requirments_government": "127", + "flags": "0x0800", + "end_of_resource": "EOR" + }, + 362: { + "resource_type": "outf", + "id": "362", + "name": "Cheap Military Radar Jammer", + "display_weight": "0", + "mass": "3", + "tech_level": "55", + "mod_type_1": "34", + "mod_value_1": "20", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "25000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "40", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Mil Rdr Jammer\\\\n- cheap -", + "lower_case_name": "cheap military radar jammer", + "lower_case_plural_name": "cheap military radar jammers", + "requirments_government": "127", + "flags": "0x0800", + "end_of_resource": "EOR" + }, + 363: { + "resource_type": "outf", + "id": "363", + "name": "Forged Exotic Ships & Weapons License", + "display_weight": "0", + "mass": "0", + "tech_level": "58", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "50000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "5", + "availability": "!b424", + "on_purchase": "S731 D265 D264 D263 D260 D259 D258 D257", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000000", + "short_name": "Exotic License\\\\n- forged -", + "lower_case_name": "forged exotic ships and weapons license", + "lower_case_plural_name": "forged exotic ships and weapons licenses", + "requirments_government": "127", + "flags": "0x0018", + "end_of_resource": "EOR" + }, + 364: { + "resource_type": "outf", + "id": "364", + "name": "Forged Exotic Ships & Weapons License", + "display_weight": "0", + "mass": "0", + "tech_level": "58", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "45000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "5", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x000001FF00000000", + "require_bits": "0x0000000000000000", + "short_name": "Exotic License\\\\n- forged -", + "lower_case_name": "forged exotic ships and weapons license", + "lower_case_plural_name": "forged exotic ships and weapons licenses", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 374: { + "resource_type": "outf", + "id": "374", + "name": "Thorium Reactor - bomb", + "display_weight": "93", + "mass": "15", + "tech_level": "67", + "mod_type_1": "47", + "mod_value_1": "3246", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "400000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Thorium Reactor", + "lower_case_name": "thorium reactor", + "lower_case_plural_name": "thorium reactors", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 375: { + "resource_type": "outf", + "id": "375", + "name": "Fission Reactor - disabled", + "display_weight": "93", + "mass": "40", + "tech_level": "67", + "mod_type_1": "18", + "mod_value_1": "120", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "250", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Fission Reactor\\\\n- faulty -", + "lower_case_name": "faulty fission reactor", + "lower_case_plural_name": "faulty fission reactors", + "requirments_government": "127", + "flags": "0x4800", + "end_of_resource": "EOR" + }, + 376: { + "resource_type": "outf", + "id": "376", + "name": "Carbon Fiber - degraded", + "display_weight": "16", + "mass": "1", + "tech_level": "65", + "mod_type_1": "6", + "mod_value_1": "20", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "75", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Carbon Fiber\\\\n- degraded -", + "lower_case_name": "layer of degraded carbon fiber", + "lower_case_plural_name": "layers of degraded carbon fiber", + "requirments_government": "127", + "flags": "0x4E00", + "end_of_resource": "EOR" + }, + 377: { + "resource_type": "outf", + "id": "377", + "name": "Carbon Fiber - degraded", + "display_weight": "16", + "mass": "1", + "tech_level": "65", + "mod_type_1": "6", + "mod_value_1": "10", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "50", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Carbon Fiber\\\\n-degraded -", + "lower_case_name": "layer of degraded carbon fiber", + "lower_case_plural_name": "layers of degraded carbon fiber", + "requirments_government": "127", + "flags": "0x4E00", + "end_of_resource": "EOR" + }, + 378: { + "resource_type": "outf", + "id": "378", + "name": "Carbon Fiber - degraded", + "display_weight": "16", + "mass": "1", + "tech_level": "65", + "mod_type_1": "6", + "mod_value_1": "6", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "2", + "cost": "25", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "0", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Carbon Fiber\\\\n- degraded -", + "lower_case_name": "layer of degraded carbon fiber", + "lower_case_plural_name": "layers of degraded carbon fiber", + "requirments_government": "127", + "flags": "0x4E00", + "end_of_resource": "EOR" + }, + 433: { + "resource_type": "outf", + "id": "433", + "name": "Map; Fed/Pol", + "display_weight": "16", + "mass": "0", + "tech_level": "81", + "mod_type_1": "16", + "mod_value_1": "2", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "1000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Map", + "lower_case_name": "map", + "lower_case_plural_name": "maps", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 434: { + "resource_type": "outf", + "id": "434", + "name": "Map; Reb/Pir/Aur", + "display_weight": "16", + "mass": "0", + "tech_level": "82", + "mod_type_1": "16", + "mod_value_1": "3", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "1000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Map", + "lower_case_name": "map", + "lower_case_plural_name": "maps", + "requirments_government": "127", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 435: { + "resource_type": "outf", + "id": "435", + "name": "Hellhound Missile Launcher", + "display_weight": "73", + "mass": "10", + "tech_level": "115", + "mod_type_1": "1", + "mod_value_1": "230", + "mod_type_2": "8", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "3", + "cost": "50000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000200000001", + "short_name": "Hellhound Mssl\\\\nLauncher", + "lower_case_name": "hellhound missile launcher", + "lower_case_plural_name": "hellhound missile launchers", + "requirments_government": "127", + "flags": "0x0100", + "end_of_resource": "EOR" + }, + 436: { + "resource_type": "outf", + "id": "436", + "name": "Hellhound Missile", + "display_weight": "73", + "mass": "0", + "tech_level": "115", + "mod_type_1": "3", + "mod_value_1": "230", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "50", + "cost": "1500", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "!b424 & P30", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000200000001", + "short_name": "Hellhound Mssl", + "lower_case_name": "hellhound missile", + "lower_case_plural_name": "hellhound missiles", + "requirments_government": "127", + "flags": "0x0100", + "end_of_resource": "EOR" + }, + 437: { + "resource_type": "outf", + "id": "437", + "name": "Repair Droids", + "display_weight": "60", + "mass": "10", + "tech_level": "12", + "mod_type_1": "49", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "1", + "cost": "300000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "80", + "availability": "b446", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Repair Droids", + "lower_case_name": "repair droids", + "lower_case_plural_name": "repair droids", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 438: { + "resource_type": "outf", + "id": "438", + "name": "Light Cannon", + "display_weight": "100", + "mass": "2", + "tech_level": "111", + "mod_type_1": "1", + "mod_value_1": "231", + "mod_type_2": "-1", + "mod_value_2": "0", + "mod_type_3": "-1", + "mod_value_3": "0", + "mod_type_4": "-1", + "mod_value_4": "0", + "max_count": "6", + "cost": "10000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "90", + "availability": "", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Light Cannon", + "lower_case_name": "light cannon", + "lower_case_plural_name": "light cannons", + "requirments_government": "127", + "flags": "0x0001", + "end_of_resource": "EOR" + }, + 439: { + "resource_type": "outf", + "id": "439", + "name": "Exotic Ships & Weapons License", + "display_weight": "0", + "mass": "0", + "tech_level": "73", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "45000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "5", + "availability": "!b424", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x000001FF00000000", + "require_bits": "0x0000000000000000", + "short_name": "Exotic License\\\\n- forged -", + "lower_case_name": "forged exotic ships and weapons license", + "lower_case_plural_name": "forged exotic ships and weapons licenses", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 440: { + "resource_type": "outf", + "id": "440", + "name": "TripHammer", + "display_weight": "0", + "mass": "0", + "tech_level": "999", + "mod_type_1": "1", + "mod_value_1": "232", + "mod_type_2": "6", + "mod_value_2": "100", + "mod_type_3": "7", + "mod_value_3": "20", + "mod_type_4": "9", + "mod_value_4": "5", + "max_count": "4", + "cost": "1000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "50", + "availability": "b9999", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "TripHammer", + "lower_case_name": "TripHammer", + "lower_case_plural_name": "TripHammers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 441: { + "resource_type": "outf", + "id": "441", + "name": "Transmission Jammer", + "display_weight": "0", + "mass": "1", + "tech_level": "200", + "mod_type_1": "44", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "75000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "90", + "availability": "b158", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Transmission\\\\nJammer", + "lower_case_name": "transmission jammer", + "lower_case_plural_name": "transmission jammers", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 442: { + "resource_type": "outf", + "id": "442", + "name": "Federation IFF Projector", + "display_weight": "0", + "mass": "2", + "tech_level": "200", + "mod_type_1": "48", + "mod_value_1": "1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "50000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "90", + "availability": "b158", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "IFF Projector\\\\n- Federation -", + "lower_case_name": "Federation IFF projector", + "lower_case_plural_name": "Federation IFF projectors", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + }, + 443: { + "resource_type": "outf", + "id": "443", + "name": "Moash IFF Projector", + "display_weight": "0", + "mass": "2", + "tech_level": "200", + "mod_type_1": "48", + "mod_value_1": "3", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "50000", + "item_class": "0", + "scan_mask": "0x8000", + "buy_random": "90", + "availability": "b158", + "on_purchase": "", + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "IFF Projector\\\\n- Moash -", + "lower_case_name": "Moash IFF projector", + "lower_case_plural_name": "Moash IFF projectors", + "requirments_government": "127", + "flags": "0x4000", + "end_of_resource": "EOR" + } +} \ No newline at end of file diff --git a/worlds/evn/world.py b/worlds/evn/world.py index 4d5ce846e227..3173cf75397b 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -12,7 +12,7 @@ # from . import web_world from . import options as evn_options # rename due to a name conflict with World.options -from .rezdata import misns, ships +from .rezdata import misns, ships, outfits GAME_NAME = "EV Nova" @@ -224,10 +224,55 @@ def prep_plugins_output(self) -> str: else: logger.info(f"Warning: availability location {target_id} for ship {temp_ship['name']} not found in ev_item_bank. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the ship table and location creation code to debug this issue.") output_file_string += default_val + elif (column == "buy_random" and self.options.always_avail_shops): + output_file_string += f'100\t' # considering altering hire chance too + elif (column == "tech_level" and self.options.ignore_tech): + output_file_string += f'1\t' else: output_file_string += default_val output_file_string += "\r\n" + # Outfits + if (self.options.include_outfits): + output_file_string += "\r\n" + for column in outfits.outf_columns.keys(): + output_file_string += f'"{outfits.outf_columns[column]}"\t' + output_file_string += "\r\n" + # then, the outf data + for outf in outfits.outf_table.keys(): + temp_outf = outfits.outf_table[outf] + for column in outfits.outf_columns.keys(): + current_val = temp_outf[column] + default_val = current_val + "\t" + col_anno = outfits.OutfDict.__annotations__[column] + if col_anno == str: + default_val = f'"{current_val}"\t' + + if column == "availability": + # We need to inject our special bit here as well, so the client can know when to unlock the outf. + target_id = items.type_offset["outf"] + outf + if target_id in items.ev_item_bank: + #associated_item = items.ev_item_bank[target_id] + new_id = items.ev_item_bank[target_id]["code"] if "code" in items.ev_item_bank[target_id] else None + if (new_id is not None): + if (current_val is not None) and (current_val != ""): + output_file_string += f'"b{new_id} & ({current_val})"\t' # !Logic needed for this one! + else: + output_file_string += f'"b{new_id}"\t' + else: + logger.info(f"Warning: availability location {target_id} for outf {temp_outf['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") + output_file_string += default_val + else: + logger.info(f"Warning: availability location {target_id} for outf {temp_outf['name']} not found in ev_item_bank. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") + output_file_string += default_val + elif (column == "buy_random" and self.options.always_avail_shops): + output_file_string += f'100\t' + elif (column == "tech_level" and self.options.ignore_tech): + output_file_string += f'1\t' + else: + output_file_string += default_val + output_file_string += "\r\n" + logger.info(f"output file string prepared: {output_file_string[:1000]}...") # Log the first 1000 characters of the output for debugging purposes. Be careful with this if the output can be very large, as it may cause performance issues or clutter the logs. return output_file_string \ No newline at end of file From 93bdebc35b6001af9fce3f1d009f2fdbdd260cf5 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Tue, 10 Feb 2026 21:46:01 -0800 Subject: [PATCH 07/30] EVN: fix: item block and credits logic fixed unknown item error for credits. when the "all items" was selected, the original bit logic was being kept making some of the unlocks irrelevant. --- worlds/evn/items.py | 10 +++++++++- worlds/evn/world.py | 10 ++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/worlds/evn/items.py b/worlds/evn/items.py index add79914d6c1..1d8f61fc364a 100644 --- a/worlds/evn/items.py +++ b/worlds/evn/items.py @@ -73,6 +73,14 @@ def get_items() -> Dict[int, EVNItemData]: code=STRING_COMPLETE_BIT, ) + # Wait, we do need the credits... d'oh + for credAmount in CREDIT_IDS.keys(): + ret_bank[CREDIT_IDS[credAmount]] = EVNItemData( + name=credAmount, + classification=ItemClassification.filler, + code=CREDIT_IDS[credAmount], + ) + # ships # turns out, the ship names are not unique due to the various models. We could add the subname, but just cat ID. for ship in ships.ship_table.keys(): @@ -158,7 +166,7 @@ def create_item_with_correct_classification(world: EVNWorld, name: str) -> EVNIt # With those two helper functions defined, let's now get to actually creating and submitting our itempool. def create_all_items(world: EVNWorld) -> None: itempool = [] - for item_id in ev_item_bank: + for item_id in ev_item_bank: #NOTE: could probably now change to "if item.origin not blank, append" if ((item_id < 9900 or item_id >= 9906) and item_id != STRING_COMPLETE_BIT): # don't add credits to regular itempool, since they're just filler. We'll add them as needed in the filler section later. if (not world.options.include_outfits and ev_item_bank[item_id]["origin"] == "outf"): continue diff --git a/worlds/evn/world.py b/worlds/evn/world.py index 3173cf75397b..5e4b3f772874 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -214,10 +214,7 @@ def prep_plugins_output(self) -> str: #associated_item = items.ev_item_bank[target_id] new_id = items.ev_item_bank[target_id]["code"] if "code" in items.ev_item_bank[target_id] else None if (new_id is not None): - if (current_val is not None) and (current_val != ""): - output_file_string += f'"b{new_id} & ({current_val})"\t' # !Logic needed for this one! - else: - output_file_string += f'"b{new_id}"\t' + output_file_string += f'"b{new_id}"\t' else: logger.info(f"Warning: availability location {target_id} for ship {temp_ship['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the ship table and location creation code to debug this issue.") output_file_string += default_val @@ -255,10 +252,7 @@ def prep_plugins_output(self) -> str: #associated_item = items.ev_item_bank[target_id] new_id = items.ev_item_bank[target_id]["code"] if "code" in items.ev_item_bank[target_id] else None if (new_id is not None): - if (current_val is not None) and (current_val != ""): - output_file_string += f'"b{new_id} & ({current_val})"\t' # !Logic needed for this one! - else: - output_file_string += f'"b{new_id}"\t' + output_file_string += f'"b{new_id}"\t' else: logger.info(f"Warning: availability location {target_id} for outf {temp_outf['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") output_file_string += default_val From e2db7c72763bff7cdcf4406311328c18fa91f5f8 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Wed, 11 Feb 2026 00:30:13 -0800 Subject: [PATCH 08/30] EVN: fix: visual shop fixes plus minor id changes Adjusted ID range Excluded escape pod Fixed visual shop issues via flag values in export Ignore tech now also makes licenses not needed --- worlds/evn/items.py | 28 +++++++++++++++++++++++++--- worlds/evn/options.py | 1 + worlds/evn/world.py | 30 ++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 3 deletions(-) diff --git a/worlds/evn/items.py b/worlds/evn/items.py index 1d8f61fc364a..98c5621b1931 100644 --- a/worlds/evn/items.py +++ b/worlds/evn/items.py @@ -1,6 +1,6 @@ from __future__ import annotations -from typing import TYPE_CHECKING, Dict, TypedDict +from typing import TYPE_CHECKING, Dict, List, TypedDict from flask_caching import logger @@ -35,12 +35,24 @@ # } # maxes are noted but not yet enforced or in the data +# type_offset: Dict[str, int] = { +# "Credits": 9900, # Special case! These won't actually be set - the client will check for these ids and make its own adjustment. +# "ship": 1550, # 1550 - 1999 will be ships. We have 288/450 ships, so this should be safe. +# "outf": 3100, # 3100 - 3500 for outfs. We have 242/400 outf, should be good +# } +# ADJUSTED FOR THE 128 OFFSET START ID OF EACH TYPE +starting_id = 128 type_offset: Dict[str, int] = { "Credits": 9900, # Special case! These won't actually be set - the client will check for these ids and make its own adjustment. - "ship": 1550, # 1550 - 1999 will be ships. We have 288/450 ships, so this should be safe. - "outf": 3100, # 3100 - 3500 for outfs. We have 242/400 outf, should be good + "ship": 1550 - starting_id, # 1550 - 1999 will be ships. We have 288/450 ships, so this should be safe. + "outf": 3100 - starting_id, # 3100 - 3500 for outfs. We have 242/400 outf, should be good } +# I am bothered by having to do this, or at least using this solution. +specific_exclusions: List[int] = [ + 895 + type_offset["ship"], #escape pod +] + #EVNItemData = TypedDict("EVNItemData", {"name": str, "classification": ItemClassification, "code": int}) class EVNItemData(TypedDict, total=False): name: str @@ -83,26 +95,36 @@ def get_items() -> Dict[int, EVNItemData]: # ships # turns out, the ship names are not unique due to the various models. We could add the subname, but just cat ID. + #i = 0 for ship in ships.ship_table.keys(): temp_ship = ships.ship_table[ship] item_id = type_offset["ship"] + (int)(temp_ship["id"]) # Probably a safer way to test this? Fails if not int somehow probably. + if item_id in specific_exclusions: + continue + #item_id = type_offset["ship"] + i # IDs started at 128 and were not guaranteed to be contiguous ret_bank[item_id] = EVNItemData( name=temp_ship["name"].strip() + temp_ship["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. classification=ItemClassification.progression, code=item_id, origin="ship" ) + #i += 1 # outf + #j = 0 for outf in outfits.outf_table.keys(): temp_outf = outfits.outf_table[outf] item_id = type_offset["outf"] + (int)(temp_outf["id"]) # Probably a safer way to test this? Fails if not int somehow probably. + if item_id in specific_exclusions: + continue + #item_id = type_offset["outf"] + j ret_bank[item_id] = EVNItemData( name=temp_outf["name"].strip() + temp_outf["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. classification=ItemClassification.progression | ItemClassification.useful, # or useful? code=item_id, origin="outf" ) + #j += 1 logger.info(f"data bank size: {len(ret_bank)}") return ret_bank diff --git a/worlds/evn/options.py b/worlds/evn/options.py index 149f5e9314ec..89468d23b4fb 100644 --- a/worlds/evn/options.py +++ b/worlds/evn/options.py @@ -58,6 +58,7 @@ class AlwaysAvailableShops(Toggle): class IgnoreTechReq(Toggle): """ When on, tech level requirements are ignored. Any unlocked ships / outf will be available at any spob with shipyard / outfitters. + Also ignores license requirements (ex: heavy weapons) """ display_name = "Ignore Tech Requirements" diff --git a/worlds/evn/world.py b/worlds/evn/world.py index 5e4b3f772874..aa17be204377 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -172,6 +172,8 @@ def prep_plugins_output(self) -> str: #new_id = self.location_id_to_name[target_id].address if target_id in self.location_id_to_name else None new_id = associated_location["address"] if (new_id is not None): + #TESTING + #new_id = 9999 if (current_val is not None) and (current_val != ""): output_file_string += f'"b{new_id} {current_val}"\t' # No logic needed for this one else: @@ -199,6 +201,8 @@ def prep_plugins_output(self) -> str: output_file_string += "\r\n" # then, the ship data for ship in ships.ship_table.keys(): + if ship in items.specific_exclusions: + continue temp_ship = ships.ship_table[ship] for column in ships.ship_columns.keys(): current_val = temp_ship[column] @@ -214,6 +218,8 @@ def prep_plugins_output(self) -> str: #associated_item = items.ev_item_bank[target_id] new_id = items.ev_item_bank[target_id]["code"] if "code" in items.ev_item_bank[target_id] else None if (new_id is not None): + #TESTING: + #new_id = 9999 output_file_string += f'"b{new_id}"\t' else: logger.info(f"Warning: availability location {target_id} for ship {temp_ship['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the ship table and location creation code to debug this issue.") @@ -225,6 +231,17 @@ def prep_plugins_output(self) -> str: output_file_string += f'100\t' # considering altering hire chance too elif (column == "tech_level" and self.options.ignore_tech): output_file_string += f'1\t' + elif (column == "require_bits" and self.options.ignore_tech): + output_file_string += f"0x0000000000000000\t" + elif (column == "flags_3" and (self.options.always_avail_shops or self.options.ignore_tech)): + flag1 = 0x0100 + flag2 = 0x0200 + current_flag = int(current_val,16) + if (not current_flag & flag1): + current_flag += flag1 # int(flag1,16) + if (not current_flag & flag2): + current_flag += flag2 # int(flag2,16) + output_file_string += f'0x{current_flag:04x}\t' else: output_file_string += default_val output_file_string += "\r\n" @@ -252,6 +269,8 @@ def prep_plugins_output(self) -> str: #associated_item = items.ev_item_bank[target_id] new_id = items.ev_item_bank[target_id]["code"] if "code" in items.ev_item_bank[target_id] else None if (new_id is not None): + #TESTING: + #new_id = 9999 output_file_string += f'"b{new_id}"\t' else: logger.info(f"Warning: availability location {target_id} for outf {temp_outf['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") @@ -263,6 +282,17 @@ def prep_plugins_output(self) -> str: output_file_string += f'100\t' elif (column == "tech_level" and self.options.ignore_tech): output_file_string += f'1\t' + elif (column == "require_bits" and self.options.ignore_tech): + output_file_string += f"0x0000000000000001\t" + elif (column == "flags" and (self.options.always_avail_shops or self.options.ignore_tech)): + flag1 = 0x0100 # show only if req bits met (or has 1) + flag2 = 0x4000 # show only if availability is met (or has 1) + current_flag = int(current_val,16) + if (not current_flag & flag1): + current_flag += flag1 # int(flag1,16) + if (not current_flag & flag2): + current_flag += flag2 # int(flag2,16) + output_file_string += f'0x{current_flag:04x}\t' else: output_file_string += default_val output_file_string += "\r\n" From e8bf9a7257e17e17c931e2ad1b05136436ce0cd6 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Fri, 13 Feb 2026 00:24:45 -0800 Subject: [PATCH 09/30] EVN: fix: location logic populating unpicked story locations for strings that would not be accessible were still getting items. --- worlds/evn/archipelago.json | 2 +- worlds/evn/locations.py | 18 ++++++++++++++++++ worlds/evn/web_world.py | 6 +++--- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/worlds/evn/archipelago.json b/worlds/evn/archipelago.json index b542a8abe648..acc7f7f898a2 100644 --- a/worlds/evn/archipelago.json +++ b/worlds/evn/archipelago.json @@ -1,6 +1,6 @@ { "game": "EV Nova", "minimum_ap_version": "0.6.4", - "world_version": "0.0.1", + "world_version": "0.2.1", "authors": ["Dorrulf"] } diff --git a/worlds/evn/locations.py b/worlds/evn/locations.py index 9e1bfbe8391f..b7e66dd774c0 100644 --- a/worlds/evn/locations.py +++ b/worlds/evn/locations.py @@ -4,6 +4,7 @@ from venv import logger from BaseClasses import ItemClassification, Location, Region +from worlds.evn.options import ChosenString from worlds.evn.regions import can_accept_location # Is this an improper import? from .rezdata import misns @@ -149,11 +150,28 @@ def create_regular_locations(world: EVNWorld) -> None: # , EVNLocation # ) + chosen_evregion = "Vellos" + # Default is vellos + match world.options.chosen_string.value: + case ChosenString.option_fed: + chosen_evregion = "Fed" + case ChosenString.option_rebel: + chosen_evregion = "Rebel" + case ChosenString.option_pirate: + chosen_evregion = "Pirate" + case ChosenString.option_auroran: + chosen_evregion = "Auroran" + case ChosenString.option_polaris: + chosen_evregion = "Polaris" + case _: + chosen_evregion = "Vellos" for key, loc in ev_location_bank.items(): for evregion in world.get_regions(): #if can_accept_location(evregion, loc.name): if can_accept_location(evregion, loc["name"]): + if not evregion.name == chosen_evregion: + continue #Do not add the locations where we cannot go. This will probably have breaking results for branches that share missions. evregion.add_locations( get_location_names_with_ids(world, [loc["name"]]) , EVNLocation diff --git a/worlds/evn/web_world.py b/worlds/evn/web_world.py index c1550cbd0d18..7cc5bc3efae4 100644 --- a/worlds/evn/web_world.py +++ b/worlds/evn/web_world.py @@ -2,13 +2,13 @@ from worlds.AutoWorld import WebWorld # from .options import option_groups, option_presets - +GAME_NAME = "EV Nova" # For our game to display correctly on the website, we need to define a WebWorld subclass. class EVNWebWorld(WebWorld): # We need to override the "game" field of the WebWorld superclass. # This must be the same string as the regular World class. - game = "EVN" + game = GAME_NAME # Your game pages will have a visual theme (affecting e.g. the background image). # You can choose between dirt, grass, grassFlowers, ice, jungle, ocean, partyTime, and stone. @@ -22,7 +22,7 @@ class EVNWebWorld(WebWorld): # The "link" parameter is unused, but we still need to provide it. setup_en = Tutorial( "Multiworld Setup Guide", - "A guide to setting up EVN for MultiWorld.", + "A guide to setting up EV Nova for MultiWorld.", "English", "setup_en.md", "setup/en", From 0e79f76abce21f33636fbe282585cf2d00fc1c08 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Tue, 17 Feb 2026 01:09:37 -0800 Subject: [PATCH 10/30] EVN: fix: new logic struct for misn to loc Big rework of the misn to location logic. Fixes issue where items were being put into locations that were unreachable (in other story strings). Reimplements story logic to ignore unused locations (from other strings) Player now must pick a set story line (including choices) in yaml. Yaml does provide a "random" option though. --- worlds/evn/archipelago.json | 2 +- worlds/evn/locations.py | 116 +++++----- worlds/evn/logics.py | 425 ++++++++++++++++++++++++++++++++++++ worlds/evn/options.py | 46 +++- worlds/evn/regions.py | 139 ++++++------ worlds/evn/rules.py | 49 ++--- worlds/evn/world.py | 85 ++++++-- 7 files changed, 680 insertions(+), 182 deletions(-) create mode 100644 worlds/evn/logics.py diff --git a/worlds/evn/archipelago.json b/worlds/evn/archipelago.json index acc7f7f898a2..20e9d1335ce5 100644 --- a/worlds/evn/archipelago.json +++ b/worlds/evn/archipelago.json @@ -1,6 +1,6 @@ { "game": "EV Nova", "minimum_ap_version": "0.6.4", - "world_version": "0.2.1", + "world_version": "1.0.1", "authors": ["Dorrulf"] } diff --git a/worlds/evn/locations.py b/worlds/evn/locations.py index b7e66dd774c0..e0f8cd0d7fd3 100644 --- a/worlds/evn/locations.py +++ b/worlds/evn/locations.py @@ -4,10 +4,10 @@ from venv import logger from BaseClasses import ItemClassification, Location, Region -from worlds.evn.options import ChosenString -from worlds.evn.regions import can_accept_location # Is this an improper import? +#from worlds.evn.regions import can_accept_location # Is this an improper import? from .rezdata import misns +from .logics import possible_regions, EVNRegionData, story_routes, EVNStoryRoute, misns_to_ignore # import re @@ -48,9 +48,10 @@ # } # to add other checks, such as outfits, give them their own offset and range. +# TODO: Move all these offset dictionaries to an offset file that they will import from. +starting_id = 128 loc_type_offset: Dict[str, int] = { - "misn": 2000, # 2000 - 2999 will be missions. We have 1000 misns, so this should be safe. - "misn-block": 9955, + "misn": 2000 - starting_id, # 2000 - 2999 will be missions. We have 791/1000 misns, so this should be safe. } class EVNLocationData(TypedDict, total=False): @@ -85,6 +86,7 @@ def get_locations() -> Dict[int, EVNLocationData]: # Missions for mission in misns.misn_table.keys(): temp_mission = misns.misn_table[mission] + #logger.info(f"loc type offset {loc_type_offset['misn']}") loc_id = loc_type_offset["misn"] + (int)(temp_mission["id"]) # Probably a safer way to test this? Fails if not int somehow probably. #logger.info(f"creating location for mission {temp_mission['name']} with id {loc_id}. final name: {temp_mission['name'].strip() + '-' + temp_mission['id']}") ret_data[loc_id] = EVNLocationData( @@ -107,6 +109,11 @@ def get_location_ids() -> Dict[str, int]: loc_name_to_id = get_location_ids() +def get_location_inverted_lookup() -> Dict[int, str]: + global loc_name_to_id + return {v: k for k, v in loc_name_to_id.items()} + +loc_id_to_name = get_location_inverted_lookup() def get_location_names_with_ids(world: EVNWorld, location_names: list[str]) -> Dict[str, int | None]: # Surely there is a simpler way? This seems inefficient. @@ -124,65 +131,72 @@ def get_location_names_with_ids(world: EVNWorld, location_names: list[str]) -> D def create_all_locations(world: EVNWorld) -> None: + create_universe_locations(world) create_regular_locations(world) #create_events(world) + # Create universe locations - where not exists id in logic regions, add mission to temp obj. return temp obj into universe region list of locations -def create_regular_locations(world: EVNWorld) -> None: - # Finally, we need to put the Locations ("checks") into their regions. - # Once again, before we do anything, we can grab our regions we created by using world.get_region() - universe = world.get_region("Universe") - + # Create remaining locations - just the missions listed in the chosen story line's regions. Don't add the rest - they'll be blocked in the plugin. - # TODO: replace with looping through out mission bank - #for loc_name in LOCATION_NAME_TO_ID.keys(): - # for evregion in world.get_regions(): - # if can_accept_location(evregion, loc_name): - # evregion.add_locations( - # get_location_names_with_ids(world, [loc_name]) - # , EVNLocation - # ) - # break - # # If found above, then it should break out back to the top of this loop right? - # # So if we are here, we can assume that it is not a universe specific location and we can add it to universe. - # universe.add_locations( - # get_location_names_with_ids(world, [loc_name]) - # , EVNLocation - # ) - - chosen_evregion = "Vellos" - # Default is vellos - match world.options.chosen_string.value: - case ChosenString.option_fed: - chosen_evregion = "Fed" - case ChosenString.option_rebel: - chosen_evregion = "Rebel" - case ChosenString.option_pirate: - chosen_evregion = "Pirate" - case ChosenString.option_auroran: - chosen_evregion = "Auroran" - case ChosenString.option_polaris: - chosen_evregion = "Polaris" - case _: - chosen_evregion = "Vellos" +def create_universe_locations(world: EVNWorld) -> None: + """ + Populates the default universe region with all locations not used by a story string. + This may not technically need to be separate from create_regular_locations, but it is for now. + + :param world: the current world object being populated with data + :type world: EVNWorld + """ + # Get our default region, "Universe", as defined in world (Other games may use a different name) + universe = world.get_region("Universe") + misn_offset = loc_type_offset["misn"] + # Check if location used by any story regions for key, loc in ev_location_bank.items(): - for evregion in world.get_regions(): - #if can_accept_location(evregion, loc.name): - if can_accept_location(evregion, loc["name"]): - if not evregion.name == chosen_evregion: - continue #Do not add the locations where we cannot go. This will probably have breaking results for branches that share missions. - evregion.add_locations( - get_location_names_with_ids(world, [loc["name"]]) - , EVNLocation - ) + loc_found = False + offset_key = key - misn_offset + + # first, check if it is a link mission and auto-ignore + if offset_key in misns_to_ignore: + continue + + # is the mission used by the storyline? + for rid, sreg in possible_regions.items(): + if offset_key in sreg["missions"]: + loc_found = True + #logger.info(f"found offset {offset_key} key in {sreg['name']}") break - # If found above, then it should break out back to the top of this loop right? - # So if we are here, we can assume that it is not a universe specific location and we can add it to universe. + + # if so, skip it. It is populated in the next function. + if loc_found: + continue + + # If it wasn't found, add it to our default region universe.add_locations( get_location_names_with_ids(world, [loc["name"]]) , EVNLocation ) + #logger.info(f"added to universe: {key} - {offset_key} - {loc['name']}") + + + +def create_regular_locations(world: EVNWorld) -> None: + # Finally, we need to put the Locations ("checks") into their regions. + # Once again, before we do anything, we can grab our regions we created by using world.get_region() + #universe = world.get_region("Universe") + + misn_offset = loc_type_offset["misn"] + + chosen_route = world.get_chosen_string() + for key in chosen_route["regions"]: + sregion = possible_regions[key] + world_region = world.get_region(sregion["name"]) + for misnid in sregion["missions"]: + loc = ev_location_bank[misnid + misn_offset] + world_region.add_locations( + get_location_names_with_ids(world, [loc["name"]]) + , EVNLocation + ) # I don't know how I want to handle the victory conditions yet. # fed_string.add_event( diff --git a/worlds/evn/logics.py b/worlds/evn/logics.py new file mode 100644 index 000000000000..145cd833727f --- /dev/null +++ b/worlds/evn/logics.py @@ -0,0 +1,425 @@ +from typing import Dict, TypedDict, List, Set + +#from worlds.evn.rezdata.misns import MisnDict, misn_table + +# PREFACE: +# The biggest part of EVN that doesn't work well with AP is the potential to permanently lock out a mission, and therefore lock out a location/check. +# This often is due to the branching nature and choices made available to the player. If you take path B, you can't go back and do path A - that doesn't make sense for the story. +# Consequently, we have to protect against that in the logic less some poor (other) player's important item is forever locked. +# I would love to say I found an elegant solution to this problem, but alas, I am still hard coding paths :( + +# From Regions (originally): +# REGION_KEYS = { +# "Universe" : [], +# "Fed" : ["Fed"], # Fed story mission string +# "Vellos" : ["Vellos", "Vell-os"], +# "Polaris" : ["Polaris"], +# "Auroran" : ["Auroran"], +# "Rebel" : ["Rebel"], +# "Pirate" : ["Pirate"], +# } + +# This should be a bit that will NEVER be set. Use it to perm block missions in the seed. +MISSION_BLOCKING_BIT = 9955 + +misns_to_ignore: List[int] = [ + # for our sanity, we're going to ignore "Link" missions - they do barely more than add some text and connect missions. But can *also* be branches to bring the player back to one mission. + 783, + 788, + 789, + 790, + 797, + 798, + 800, + 801, + 804, + 811, + 812, + 814, + 816, + 818, + 819, + 836, + 837, + 838, + 839, + 905, + 784, # NOTE: Special case as this is actually a mission instead of a link. Auroran 2nd try, but forcing first instead. + 796, # NOTE: Another Auroran mission that requires previous failure, so won't include. +] + +# I thought about offshoots that require a mission refusal, just setting the mission to auto-abort if accepted (one flag, easy) +# but that would be confusing to the player I think. So, instead going to try and edit the mission to look like it has one button (cannot refuse flag) that is modelled to look like the specific option, such as "refuse" instead of "okay" +class MisnSafetyLogic(TypedDict, total=False): + misn_id: int # the id of the target mission, ex: 129 + #column_name: str # the misn.MisnDict column name, ex: on_accept + #replacement_logic: str # + column_edits: Dict[str, str] # ex: on_accept, "b511" - NOTE: The value type is still checked by the output logic, so do NOT wrap with quotes + + +# Region class: What info do we need to know about a given segment of an overall story route? +# Note: EVNRegion would imply inheritance from AP's region class (whether it actually did or not), so let's be more specific +class EVNRegionData(TypedDict, total=False): + id: int + name: str + #story_keywords: List[str] #ex: Fed, Vellos, etc. + #missions: Dict[int, MisnDict] # the missions that can take place in this segment of the overall story route + missions: List[int] + #safeties: Dict[int, MisnSafetyLogic] # mission edits req to enforce the storyline + misn_edits: Dict[int, Dict[str, str]] # The typing was nice, but id was redundant... + +# NOTE: This is universe and story, but may just become story if I decide to handle side stories more. +# TODO: With stories that can come from side stories, edit the branches of those side stories. Ex: If Pirate - WB pirate branch needs to be blocked (and auroran too...) +possible_regions: Dict[int, EVNRegionData] = { + 0: { + "id": 0, # I don't know if we need this one here. It is our default starting region that all story lines start from. + "name": "Universe", + "missions": [], # I would like to dynamically populate this by adding all missions in misn_table not in any other region's list + "misn_edits": {} + }, + 1: { + "id": 1, + "name": "Vellos - Start and End", + "missions": [ + 128, 129, 130, 131, 142, 143, 144, 145, 146, 147, 148, 149, + 193, 194, 195, 196, 197, 198, 199, + 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 355, 356, 357, 358, 359, 360, 361, 362, 363, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 649, + 849, 850, + ], + "misn_edits": { + 129: { + "refuse_button": "Don't pick this", + "on_refuse": "!b511", + "on_abort": "!b511", + } + } + }, + 2: { + "id": 2, + "name": "Polaris - Start", + "missions": [ + 150, + 179, # later in story, but not worth making own node + ], + "misn_edits": {} + }, + 3: { + "id": 3, + "name": "Polaris Start as Vellos Offshoot", + "missions": [ + 128, + 129, # must refuse this mission + 782, + 873, # later in story, but not worth making own node + ], + "misn_edits": { + 129: { + "accept_button": "Don't pick this", + "on_success": f"!b511", # set same as failure, allowing mission to be redone. Abort is acceptable. + "on_refuse": "CHECK_TARGET" + } + } + }, + 4: { + "id": 4, + "name": "Polaris - Pt 1", + "missions": [ + 151, 152, 153, 717, + ], + "misn_edits": {} + }, + # Screw it - a path pick feds at end, and b path picks aurorans at end. I don't want to duplicate just for that choice... + 5: { + "id": 5, + "name": "Polaris - Pt 2 - Path A", + "missions": [ + 154, 155, 156, 843, 844, 845, 157, 158, 159, + ], + "misn_edits": { + 154: { + "on_success": "b279" + } + } + }, + 6: { + "id": 6, + "name": "Polaris - Pt 2 - Path B", + "missions": [ + 154, 601, 602, 603, 598, 599, 843, 844, 845, 753, 604, + ], + "misn_edits": { + 154: { + "on_success": "b316" + } + } + }, + 7: { + "id": 7, + "name": "Polaris - Pt 3", + "missions": [ + 160, 600, 161, 162, 163, 164, 165, 166, 167, 168, 846, 847, 169, 170, 171, 172, + 180, 173, 174, 175, 176, 177, 178, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + #887, + ], + "misn_edits": { + } + }, + 8: { + "id": 8, + "name": "Polaris - Fed Ending", + "missions": [ + 192, 882, 885, 887, + ], + "misn_edits": { + "refuse_button": "Don't pick this", + "on_refuse": "!b315", + } + }, + 9: { + "id": 9, + "name": "Polaris - Auroran Ending", + "missions": [ + 192, 888, 889, 893, 887, + ], + "misn_edits": { + 192: { + "accept_button": "Don't pick this", + "on_success": f"!b315", # set same as failure, allowing mission to be redone. Abort is acceptable. + "on_refuse": "CHECK_TARGET", + } + } + }, + 10: { + "id": 10, + "name": "Auroran - Start", + "missions": [ + 653, 785, 654, 655, + 669, # auroran 12c - non WG route + 684, # same, but this is a deep mission, might cause logic blocks unnecessarily. If so, will need to create new zones :( + ], + "misn_edits": { + 635: { + "on_refuse": "", + "on_failure": "!b511 A749 A750 A751 A752", + "on_abort": "!b511 A749 A750 A751 A752", + } + } + }, + 11: { + "id": 11, + "name": "Auroran - From WG", + "missions": [ + 687, + 688, # mission 12c in auroran if you've gone this route + 690, 916, 917, 918, # deep into auroran, might cause logic blocks unnecessarily by having here. + ], + "misn_edits": { + } + }, + 12: { + "id": 12, + "name": "Auroran - Pt 2", + "missions": [ + 656, 657, 658, + ], + "misn_edits": { + } + }, + 13: { + "id": 13, + "name": "Auroran - From Bounty Hunter", + "missions": [ + 691, 692, + 669, # auroran 12c - non WG route + 684, # same, but this is a deep mission, might cause logic blocks unnecessarily. If so, will need to create new zones :( + ], + "misn_edits": { + } + }, + 14: { + "id": 14, + "name": "Auroran - Pt 3", + "missions": [ + 659, 660, 780, 855, 856, 661, 662, 663, 664, 665, 666, 667, 668, + 734, 735, 736, 737, 739, # offshoot + ], + "misn_edits": { + } + }, + 15: { # A lot of optional quests get locked if you don't do them before mission 13 (670), so marking this as a different zone + "id": 15, + "name": "Auroran - Pt 4", + "missions": [ + 670, 671, 672, 673, 674, 857, 675, 676, 677, + 741, 742, 743, 744, 745, 746, 747, 748, # offshoot + ], + "misn_edits": { + } + }, + 16: { # Again, offshoot must be done before this + "id": 16, + "name": "Auroran - End", + "missions": [ + 678, 679, 680, 681, 682, 683, 685, 686, + ], + "misn_edits": { + } + }, + 20: { + "id": 20, + "name": "Wild Geese - Good Ending", + "missions": [ + 634, 635, 642, 643, 644, 645, 646, + ], + "misn_edits": { + 635: { + "on_success": "b802 b805" + }, + 645: { + "on_success": "b816" + } + } + }, + 21: { + "id": 21, + "name": "Wild Geese - Into Auroran", + "missions": [ + 634, 635, 636, 637, 638, 639, 640, 641, + ], + "misn_edits": { + 635: { + "on_success": "b802 b804" + }, + 640: { + "accept_button": "Don't pick this", + "on_success": "", + "on_refuse": "CHECK_TARGET" + } + } + }, + 22: { + "id": 22, + "name": "Wild Geese - Into Pirate", + "missions": [ + 634, 635, 642, 643, 644, 645, 647, 648, + ], + "misn_edits": { + 635: { + "on_success": "b802 b805" + }, + 645: { + "on_success": "b817" + } + } + }, # For these blocking missions - only add the edits. Don't add the mission ID otherwise it'll get assigned an item / check + 100: { + "id": 100, + "name": "Vellos - Block Start", + "missions": [], + "misn_edits": { + 128: { + "available_bits": f"b{MISSION_BLOCKING_BIT}" + } + } + }, + 101: { + "id": 101, + "name": "Polaris - Block Start", + "missions": [], + "misn_edits": { + 150: { + "available_bits": f"b{MISSION_BLOCKING_BIT}" + } + } + }, + 102: { + "id": 102, + "name": "Auroran - Block Start", + "missions": [], + "misn_edits": { + 653: { + "available_bits": f"b{MISSION_BLOCKING_BIT}" + } + } + } +} + +class EVNStoryRoute(TypedDict, total=False): + id: int # NOTE: This will be used as the value for the options selection! + name: str # I dunno, w/e we wanna call this to clue in what it is + option_name: str # this will be prefaced by option_, and will be in the format of [word]_[word], ex: "wg_pirate" will become "option_wg_pirate" and indicate that the player will have to go through the WG storyline into the Pirate storyline + regions: List[int] # NOTE: ORDER MATTERS. If we need to, we'll reorg to have each define their entrance and exit regions, but for now, will make the assumption that these are in order and connect in that order. + region_connections: Dict[int, List[int]] # Dict[FromID, ToIDs] - Use 0 for Universe + final_mission: int | None # The mission ID that we need to assign the victory condition to + + +# Dictionary of our possible storylines / region routes +# NOTE: IDs MUST be sequential due to how they are referenced elsewhere! +story_routes: Dict[int, EVNStoryRoute] = { + 1: { + "id": 1, + "name": "Vellos - Standard", + "option_name": "vellos", + "regions": [ + 0, # always include universe as our default start! + 1, 101, 102, 20, + ], + #"region_connections": { 0: [1, 101, 102, 20] }, # I don't think we need to add the blocking missions + "region_connections": { 0: [1, 20] }, + "final_mission": 417, + }, + 2: { + "id": 2, + "name": "Polaris - Standard - Path A", + "option_name": "polaris", + "regions": [ + 0, 100, 102, 2, 4, 5, 7, 9, 20, + ], + "region_connections": { 0: [2, 20], 2: [4], 4: [5], 5: [7], 7: [9] }, + "final_mission": 887, + }, + 3: { # So, there's 2 starting options, and 2 paths, for 4 combos. May implement all 4, may not. + "id": 3, + "name": "Polaris - From Vellos - Path B", + "option_name": "vellos_polaris", + "regions": [ + 0, 101, 102, 3, 4, 6, 7, 8, 20, + ], + "region_connections": { 0: [3, 20], 3: [4], 4: [6], 6: [7], 7: [8] }, + "final_mission": 887, + }, + 4: { # Auroran options + "id": 4, + "name": "Auroran", + "option_name": "auroran", + "regions": [ + 0, 100, 101, 20, 10, 12, 14, 15, 16, + ], + "region_connections": { 0: [10, 20], 10: [12], 12: [14], 14: [15], 15: [16] }, + "final_mission": 686, + }, + 5: { # Auroran options + "id": 5, + "name": "Auroran - From WG", + "option_name": "wg_auroran", + "regions": [ + 0, 100, 101, 102, 21, 11, 12, 14, 15, 16, + ], + "region_connections": { 0: [11, 21], 11: [12], 12: [14], 14: [15], 15: [16] }, + "final_mission": 686, + }, + # TODO: Needs BH setup first +# 6: { # Auroran options +# "id": 6, +# "name": "Auroran - From Bounty Hunter", +# "option_name": "bh_auroran", +# "regions": [ +# 0, 100, 101, 102, 20, 13, 12, 14, 15, 16, +# ], +# "region_connections": { 0: [20, 13], 13: [12], 12: [14], 14: [15], 15: [16] }, +# "final_mission": 686, +# } +} diff --git a/worlds/evn/options.py b/worlds/evn/options.py index 89468d23b4fb..cc797e5c88f4 100644 --- a/worlds/evn/options.py +++ b/worlds/evn/options.py @@ -2,6 +2,8 @@ from Options import Choice, DefaultOnToggle, OptionGroup, PerGameCommonOptions, Range, Toggle +from .logics import story_routes + # In this file, we define the options the player can pick. # The most common types of options are Toggle, Range and Choice. @@ -139,21 +141,43 @@ class IgnoreTechReq(Toggle): class ChosenString(Choice): """ Pick which major story string the player will follow. Other story strings will be disabled. - NOTE: Rebels - only line 1 is implemented! Also, can only get to it through bounty hunters. Not recommended at this time. - NOTE2: Beware Wild Geese - branches not yet handled (ex: choose pirate, end up in auroran) + Surprise Me - this randomly picks a string. Find out what it is in game! + NOTE: The option name shows the path that has to be taken. Ex: vellos_polaris is the polaris story line coming from a refusal in the vellos string. - default: vellos + default: Surprise Me """ display_name = "Major Story String" - option_vellos = 0 - option_fed = 1 - option_rebel = 2 - option_pirate = 3 - option_auroran = 4 - option_polaris = 5 - - default = option_vellos + # dynamically add the options with setattr() + # def __init__(self, value: int): + # super().__init__(value) # super's init expects a value + # setattr(self, "option_test", 100) + # for key, value in story_routes.items(): + # setattr(self, f"option_{value["option_name"]}", key) # TODO: extract option name from the key + # for key, value in story_routes.items(): + # locals().update(f"option_{value["option_name"]}", key) + locals().update({f"option_{value["option_name"]}": int(f"{key}") + for key, value in story_routes.items()}) + + # TODO: Pretty up the option names + # @classmethod + # def get_option_name(cls, value:int) -> str: + # # test value, get string and *return* + # return super().get_option_name(value) # returns default if not found above + + # TODO: confirm random as an option. Choice already supports a random option somehow, how do I use that? + # I guess it is just the pattern option_random_[name]? + + #option_surprise_me = 0 + option_random_surprise_me = 0 # NOTE: Getting key errors. I don't think this is randomly rolling another option - so we'll manually handle in worlds + # option_vellos = 0 + # option_fed = 1 + # option_rebel = 2 + # option_pirate = 3 + # option_auroran = 4 + # option_polaris = 5 + + default = option_random_surprise_me # We must now define a dataclass inheriting from PerGameCommonOptions that we put all our options in. diff --git a/worlds/evn/regions.py b/worlds/evn/regions.py index b78b7098fc2f..1399d68a1511 100644 --- a/worlds/evn/regions.py +++ b/worlds/evn/regions.py @@ -3,8 +3,11 @@ from typing import TYPE_CHECKING from BaseClasses import Entrance, Region +from venv import logger -from .options import ChosenString + +#from .options import ChosenString +from .logics import story_routes, possible_regions import re @@ -22,53 +25,53 @@ # Should probably create a subclass that inherits from Region for EVN-specific behavior, similar to how we did for Location. # TODO: Add the other regions -REGION_KEYS = { - "Universe" : [], - "Fed" : ["Fed"], # Fed story mission string - "Vellos" : ["Vellos", "Vell-os"], - "Polaris" : ["Polaris"], - "Auroran" : ["Auroran"], - "Rebel" : ["Rebel"], - "Pirate" : ["Pirate"], -} - -### Region subclass helper functions ### - -# Let's make one more helper method before we begin actually creating locations. -# Here's a function that extracts the value following a specific character in a given text. -# Google AI -def get_value_after_char(text, char): - # Pattern explanation: - # (?<={char}\s*) - Positive lookbehind: asserts the position is immediately - # after the specified character and zero or more whitespaces. - # (.*?) - Capturing group 1: lazily matches any character (except newline) - # until the end of the line. - #pattern = re.compile(rf'(?<={re.escape(char)}\s*)(.*?)') - pattern = re.compile(rf'^(.*?)(?=\s+{re.escape(char)})(.*)$') - match = pattern.search(text) - if match: - # returns the captured group, with leading/trailing whitespace removed - #return match.group(1).strip() - return match.group(3).strip() - return None - -def string_has_value(text, substring): - return get_value_after_char(text.lower(), substring.lower()) is not None - -def string_has_value_after_char(text, char, substring): - value = get_value_after_char(text, char) - if value is None: - return False - return substring.lower() in value.lower() - -def can_accept_location(evnregion: Region, location_name: str) -> bool: - """Helper function to determine if a region can accept a location based on keywords.""" - keywords = REGION_KEYS.get(evnregion.name, []) - for keyword in keywords: - #if keyword in location_name: - if string_has_value_after_char(location_name, ";", keyword): - return True - return False +# REGION_KEYS = { +# "Universe" : [], +# "Fed" : ["Fed"], # Fed story mission string +# "Vellos" : ["Vellos", "Vell-os"], +# "Polaris" : ["Polaris"], +# "Auroran" : ["Auroran"], +# "Rebel" : ["Rebel"], +# "Pirate" : ["Pirate"], +# } + +# ### Region subclass helper functions ### + +# # Let's make one more helper method before we begin actually creating locations. +# # Here's a function that extracts the value following a specific character in a given text. +# # Google AI +# def get_value_after_char(text, char): +# # Pattern explanation: +# # (?<={char}\s*) - Positive lookbehind: asserts the position is immediately +# # after the specified character and zero or more whitespaces. +# # (.*?) - Capturing group 1: lazily matches any character (except newline) +# # until the end of the line. +# #pattern = re.compile(rf'(?<={re.escape(char)}\s*)(.*?)') +# pattern = re.compile(rf'^(.*?)(?=\s+{re.escape(char)})(.*)$') +# match = pattern.search(text) +# if match: +# # returns the captured group, with leading/trailing whitespace removed +# #return match.group(1).strip() +# return match.group(3).strip() +# return None + +# def string_has_value(text, substring): +# return get_value_after_char(text.lower(), substring.lower()) is not None + +# def string_has_value_after_char(text, char, substring): +# value = get_value_after_char(text, char) +# if value is None: +# return False +# return substring.lower() in value.lower() + +# def can_accept_location(evnregion: Region, location_name: str) -> bool: +# """Helper function to determine if a region can accept a location based on keywords.""" +# keywords = REGION_KEYS.get(evnregion.name, []) +# for keyword in keywords: +# #if keyword in location_name: +# if string_has_value_after_char(location_name, ";", keyword): +# return True +# return False ### End Region subclass helper functions ### @@ -87,8 +90,15 @@ def create_all_regions(world: EVNWorld) -> None: #regions = [universe, fed_string] regions = [] - for evregion in REGION_KEYS.keys(): - regions.append(Region(evregion, world.player, world.multiworld)) + # for evregion in REGION_KEYS.keys(): + # regions.append(Region(evregion, world.player, world.multiworld)) + + # TODO: replace this repeating line with a world function, then adjust associated imports + #regions.append(Region("Universe", world.player, world.multiworld)) # we readded to possible_regions bank + chosen_route = world.get_chosen_string() + for regionid in chosen_route["regions"]: + regions.append(Region(possible_regions[regionid]["name"], world.player, world.multiworld)) + #logger.info(f"added region {possible_regions[regionid]["name"]}") # Some regions may only exist if the player enables certain options. # In our case, the Hammer locks the top middle chest in its own room if the hammer option is enabled. @@ -105,7 +115,7 @@ def connect_regions(world: EVNWorld) -> None: # But wait, we no longer have access to the region variables we created in create_all_regions()! # Luckily, once you've submitted your regions to multiworld.regions, # you can get them at any time using world.get_region(...). - universe = world.get_region("Universe") + #universe = world.get_region("Universe") # fed_string = world.get_region("Fed String") # # universe.connect(fed_string, "Universe to Fed String") @@ -113,26 +123,13 @@ def connect_regions(world: EVNWorld) -> None: # if evregion != "Universe": # universe.connect(world.get_region(evregion), f"Universe to {evregion}") - evregion = "Vellos" - # Default is vellos - match world.options.chosen_string.value: - case ChosenString.option_fed: - evregion = "Fed" - universe.connect(world.get_region(evregion), f"Universe to {evregion}") - case ChosenString.option_rebel: - evregion = "Rebel" - universe.connect(world.get_region(evregion), f"Universe to {evregion}") - case ChosenString.option_pirate: - evregion = "Pirate" - universe.connect(world.get_region(evregion), f"Universe to {evregion}") - case ChosenString.option_auroran: - evregion = "Auroran" - universe.connect(world.get_region(evregion), f"Universe to {evregion}") - case ChosenString.option_polaris: - evregion = "Polaris" - universe.connect(world.get_region(evregion), f"Universe to {evregion}") - case _: - universe.connect(world.get_region(evregion), f"Universe to {evregion}") + chosen_route = world.get_chosen_string() + #logger.info(f"story routes: {chosen_route["region_connections"]}") + for fromid, targets in chosen_route["region_connections"].items(): + from_region = world.get_region(possible_regions[fromid]["name"]) + for toid in targets: + from_region.connect(world.get_region(possible_regions[toid]["name"])) + #logger.info(f"connected {possible_regions[fromid]["name"]} to {possible_regions[toid]["name"]}") # Okay, now we can get connecting. For this, we need to create Entrances. # Entrances are inherently one-way, but crucially, AP assumes you can always return to the origin region. diff --git a/worlds/evn/rules.py b/worlds/evn/rules.py index 9b097f4c3e49..c6465c34f362 100644 --- a/worlds/evn/rules.py +++ b/worlds/evn/rules.py @@ -5,21 +5,25 @@ from BaseClasses import CollectionState from worlds.generic.Rules import add_rule, set_rule -from .options import ChosenString +#from .options import ChosenString +#from .logics import story_routes +#from .locations import ev_location_bank +from .rezdata.misns import misn_table +from .locations import loc_type_offset if TYPE_CHECKING: from .world import EVNWorld -COMPLETION_LOCATIONS = { - "Take Polaris Home;Rebel I22 LAST-354": 354, - "Take Llyrell to Korell; Vellos31 LAST-417": 417, - "Take Krane to Earth;Fed43 LAST-474": 474, - "A Parting Gift;Fed26 (forced) LAST-596": 596, - "Return to Heraan;Auroran 029 LAST-686": 686, - "Destroy McGowan;Pirate 011 LAST-712": 712, - "Return to Ar'Za Iusia;Polaris 46-887": 887, -} +# COMPLETION_LOCATIONS = { +# "Take Polaris Home;Rebel I22 LAST-354": 354, +# "Take Llyrell to Korell; Vellos31 LAST-417": 417, +# "Take Krane to Earth;Fed43 LAST-474": 474, +# "A Parting Gift;Fed26 (forced) LAST-596": 596, +# "Return to Heraan;Auroran 029 LAST-686": 686, +# "Destroy McGowan;Pirate 011 LAST-712": 712, +# "Return to Ar'Za Iusia;Polaris 46-887": 887, +# } def set_all_rules(world: EVNWorld) -> None: # In order for AP to generate an item layout that is actually possible for the player to complete, @@ -33,6 +37,7 @@ def set_all_rules(world: EVNWorld) -> None: def set_all_entrance_rules(world: EVNWorld) -> None: + #return test = 1 # # First, we need to actually grab our entrances. Luckily, there is a helper method for this. # overworld_to_bottom_right_room = world.get_entrance("Overworld to Bottom Right Room") @@ -81,23 +86,13 @@ def set_all_location_rules(world: EVNWorld) -> None: # if loc_name in COMPLETION_LOCATIONS: # evregion.add_event(loc_name, "Victory", location_type=EVNLocation, item_type=items.EVNItem) - # Default is vellos - match world.options.chosen_string.value: - case ChosenString.option_fed: - world.multiworld.get_location("Take Krane to Earth;Fed43 LAST-474", world.player).place_locked_item(world.create_item("Victory")) - # forced fed. Not sure how to handle that yet. - #world.multiworld.get_location("A Parting Gift;Fed26 (forced) LAST-596", world.player).place_locked_item(world.create_item("Victory")) - case ChosenString.option_rebel: - world.multiworld.get_location("Take Polaris Home;Rebel I22 LAST-354", world.player).place_locked_item(world.create_item("Victory")) - case ChosenString.option_pirate: - world.multiworld.get_location("Destroy McGowan;Pirate 011 LAST-712", world.player).place_locked_item(world.create_item("Victory")) - case ChosenString.option_auroran: - world.multiworld.get_location("Return to Heraan;Auroran 029 LAST-686", world.player).place_locked_item(world.create_item("Victory")) - case ChosenString.option_polaris: - world.multiworld.get_location("Return to Ar'Za Iusia;Polaris 46-887", world.player).place_locked_item(world.create_item("Victory")) - case _: - # default case - vellos - world.multiworld.get_location("Take Llyrell to Korell; Vellos31 LAST-417", world.player).place_locked_item(world.create_item("Victory")) + + # chosen_route = story_routes[world.options.chosen_string.value] + # world.multiworld.get_location(ev_location_bank[chosen_route["final_mission"]], world.player).place_locked_item(world.create_item("Victory")) + chosen_route = world.get_chosen_string() + misn_offset = loc_type_offset["misn"] + loc_name = world.location_id_to_name[chosen_route["final_mission"] + misn_offset] # Do we not have a helper function for this? + world.multiworld.get_location(loc_name, world.player).place_locked_item(world.create_item("Victory")) # Location rules work no differently from Entrance rules. # Most of our locations are chests that can simply be opened by walking up to them. diff --git a/worlds/evn/world.py b/worlds/evn/world.py index aa17be204377..ff172dfc5189 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -1,6 +1,7 @@ from collections.abc import Mapping import os -from typing import Any +import random +from typing import Any, Dict from venv import logger # Imports of base Archipelago modules must be absolute. @@ -11,6 +12,7 @@ from . import items, locations, regions, rules, web_world # from . import web_world from . import options as evn_options # rename due to a name conflict with World.options +from .logics import story_routes, possible_regions, EVNStoryRoute from .rezdata import misns, ships, outfits @@ -42,6 +44,7 @@ class EVNWorld(World): #location_name_to_id = locations.LOCATION_NAME_TO_ID location_name_to_id = locations.loc_name_to_id #item_name_to_id = items.ITEM_NAME_TO_ID + location_id_to_name = locations.loc_id_to_name # dunno if this exists or we are declaring, but I need it. #TODO: consider this design style # are we sure this isn't empty at the time of world class definition? If so, we can just set item_name_to_id = items.item_name_to_id and avoid the redundant lookup in items.py. @@ -56,6 +59,29 @@ class EVNWorld(World): # This defaults to "Menu", but you can change it by overriding origin_region_name. origin_region_name = "Universe" + _chosen_string = -1 + + # NOTE: the options class may have a built in random feature - let's look at that first! + def get_chosen_string_id(self) -> int: + if self._chosen_string > 0: + return self._chosen_string + + cur_string = self.options.chosen_string.value + logger.info(f"player's choice for story string was {cur_string}") + + if cur_string > 0: + self._chosen_string = cur_string + return self._chosen_string + + # Other cases failed, so most likely this is the first call and options = 0 ("Surprise Me") + self._chosen_string = random.randint(1,len(story_routes)) # TODO: get max options avail + logger.info(f"rolled string {self._chosen_string}") + return self._chosen_string + + def get_chosen_string(self) -> EVNStoryRoute: + return story_routes[self.get_chosen_string_id()] + + # Our world class must have certain functions ("steps") that get called during generation. # The main ones are: create_regions, set_rules, create_items. # For better structure and readability, we put each of these in their own file. @@ -127,16 +153,18 @@ def prep_plugins_output(self) -> str: # Missions # We've added the option for story string choice, so let's enforce that in the plugin by making the other strings not startable. - block_missions = { - evn_options.ChosenString.option_vellos: 128, #"Delivery to Earth; Vellos1" - evn_options.ChosenString.option_fed: 428, #"Federation Resupply;Fed1" - #evn_options.ChosenString.option_rebel: 3, #rebels can ONLY come from other lines, so don't I guess - evn_options.ChosenString.option_pirate: 693, #"Pick Up Cargo From Sol;Pirate 001" - evn_options.ChosenString.option_auroran: 653, #Take Supplies to Dominance - evn_options.ChosenString.option_polaris: 150, #Transport Mu'Randa - } + # block_missions = { + # evn_options.ChosenString.option_vellos: 128, #"Delivery to Earth; Vellos1" + # evn_options.ChosenString.option_fed: 428, #"Federation Resupply;Fed1" + # #evn_options.ChosenString.option_rebel: 3, #rebels can ONLY come from other lines, so don't I guess + # evn_options.ChosenString.option_pirate: 693, #"Pick Up Cargo From Sol;Pirate 001" + # evn_options.ChosenString.option_auroran: 653, #Take Supplies to Dominance + # evn_options.ChosenString.option_polaris: 150, #Transport Mu'Randa + # } - block_missions[self.options.chosen_string.value] = 0 #so we won't block the one that was chosen. + # block_missions[self.options.chosen_string.value] = 0 #so we won't block the one that was chosen. + + chosen_route = story_routes[self.options.chosen_string.value] # first, the column headers for column in misns.misn_columns.keys(): @@ -144,9 +172,30 @@ def prep_plugins_output(self) -> str: output_file_string += "\r\n" # then, the mission data for mission in misns.misn_table.keys(): + # check for mission edits + misn_edits = {} # dict[str,str] + for regionid in chosen_route["regions"]: + sregion = possible_regions[regionid] + if mission in sregion["misn_edits"]: + misn_edits.update(sregion["misn_edits"][mission]) # will append all items to the var's set, overwriting existing + break # NOTE: We assume that a mission can only show up in one region of a story string + + # Continue with replacement process temp_mission = misns.misn_table[mission] + + check_target = "on_success" + for column in misns.misn_columns.keys(): current_val = temp_mission[column] + + # Overwrite with our edit / replacement logic, but then continue the normal process + if column in misn_edits: + # Sometimes, the "successful" option is a refuse (because it is a branching player choice), so we need to redirect where we put the check bit + if misn_edits[column] == "CHECK_TARGET": + check_target = column + else: + current_val = misn_edits[column] + default_val = current_val + "\t" #if type(current_val) == str: #everything is a string because of how the data is filled. #logger.info(f"current_val type: {type(current_val)}, value: {current_val} and misns.MisnDict[column] type: {misns.MisnDict.__annotations__[column]} for column {column}") @@ -155,21 +204,15 @@ def prep_plugins_output(self) -> str: #if col_anno == '': if col_anno == str: default_val = f'"{current_val}"\t' + # We need to inject our special bit, as that's how the client will be able to properly inform the server which mission was completed. - if column == "on_success": + #if column == "on_success": + if column == check_target: # WARNING: if we ever change this format for location names, we need to change it in both the location creation code in locations.py and this export code here, to ensure the lookups work properly. We could consider making this more robust by storing the location name directly in the mission table, but that would require a lot of changes to the mission table and mission creation code, so for now we will just be careful to maintain this format. # So, consider fetching this somehow instead of reconstructing it from the mission name and ID. That would be more robust and less error prone, but would require a lot of changes to the mission table and mission creation code, so for now we will just be careful to maintain this format. - #target_name = temp_mission["name"].strip() + "-" + temp_mission["id"] # this is the format we used for location names. We want to export the location name corresponding to the mission's on_success location, so we can use it for item placement in the plugin. - #target_name = self.location_name_to_id[mission] target_id = locations.loc_type_offset["misn"] + mission - #logger.info(f"self.location_id_to_name keys: {self.location_id_to_name.keys()}") - #if target_id in self.location_id_to_name: # blank for some reason... maybe that's a bad sign? - #target_name = self.location_id_to_name[target_id] if target_id in locations.ev_location_bank: - #associated_location = self.multiworld.get_location(target_name, self.player) - #associated_location = self.get_location(target_name) associated_location = locations.ev_location_bank[target_id] - #new_id = self.location_id_to_name[target_id].address if target_id in self.location_id_to_name else None new_id = associated_location["address"] if (new_id is not None): #TESTING @@ -185,8 +228,8 @@ def prep_plugins_output(self) -> str: #logger.info(f"Warning: on_success location {target_name} for mission {temp_mission['name']} not found in location_name_to_id. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the mission table and location creation code to debug this issue.") logger.info(f"Warning: on_success location id {target_id} for mission {temp_mission['name']} not found in location_id_to_name. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the mission table and location creation code to debug this issue.") output_file_string += default_val - elif column == "available_bits" and mission in block_missions.values(): - output_file_string += f'"b{locations.loc_type_offset['misn-block']} & ({current_val})"\t' #we know it is a bit string, and we know these ones have bits, so don't need to protect as much + # elif column == "available_bits" and mission in block_missions.values(): + # output_file_string += f'"b{locations.loc_type_offset['misn-block']} & ({current_val})"\t' #we know it is a bit string, and we know these ones have bits, so don't need to protect as much else: output_file_string += default_val output_file_string += "\r\n" From 24dc47c8ee25981c3b77362df1cc293edb4b742a Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Thu, 19 Feb 2026 23:43:14 -0800 Subject: [PATCH 11/30] EVN: fix: finished stories, filter ships and outf Implemented additional story lines. Discovered and removed more unfinishable missions. Added filtering of ships and outf to remove things that were not going to be useful to the player, or were duplicates. This filtering also helped offset the loss of locations from the mission strings being finished. Filtered ships and outf are blocked in the plugin. --- worlds/evn/items.py | 19 +- worlds/evn/logics.py | 575 +++++++++++++++++++++++++++++++++++++++---- worlds/evn/world.py | 25 +- 3 files changed, 559 insertions(+), 60 deletions(-) diff --git a/worlds/evn/items.py b/worlds/evn/items.py index 98c5621b1931..806f50d28639 100644 --- a/worlds/evn/items.py +++ b/worlds/evn/items.py @@ -8,6 +8,7 @@ from . import rules from .rezdata import ships, outfits +from .logics import ships_to_ignore, outf_to_ignore if TYPE_CHECKING: from .world import EVNWorld @@ -49,9 +50,9 @@ } # I am bothered by having to do this, or at least using this solution. -specific_exclusions: List[int] = [ - 895 + type_offset["ship"], #escape pod -] +# specific_exclusions: List[int] = [ +# 895 + type_offset["ship"], #escape pod +# ] #EVNItemData = TypedDict("EVNItemData", {"name": str, "classification": ItemClassification, "code": int}) class EVNItemData(TypedDict, total=False): @@ -97,10 +98,12 @@ def get_items() -> Dict[int, EVNItemData]: # turns out, the ship names are not unique due to the various models. We could add the subname, but just cat ID. #i = 0 for ship in ships.ship_table.keys(): + if ship in ships_to_ignore: + continue temp_ship = ships.ship_table[ship] item_id = type_offset["ship"] + (int)(temp_ship["id"]) # Probably a safer way to test this? Fails if not int somehow probably. - if item_id in specific_exclusions: - continue + # if item_id in specific_exclusions: + # continue #item_id = type_offset["ship"] + i # IDs started at 128 and were not guaranteed to be contiguous ret_bank[item_id] = EVNItemData( name=temp_ship["name"].strip() + temp_ship["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. @@ -113,10 +116,12 @@ def get_items() -> Dict[int, EVNItemData]: # outf #j = 0 for outf in outfits.outf_table.keys(): + if outf in outf_to_ignore: + continue temp_outf = outfits.outf_table[outf] item_id = type_offset["outf"] + (int)(temp_outf["id"]) # Probably a safer way to test this? Fails if not int somehow probably. - if item_id in specific_exclusions: - continue + # if item_id in specific_exclusions: + # continue #item_id = type_offset["outf"] + j ret_bank[item_id] = EVNItemData( name=temp_outf["name"].strip() + temp_outf["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. diff --git a/worlds/evn/logics.py b/worlds/evn/logics.py index 145cd833727f..d75f6ef4f058 100644 --- a/worlds/evn/logics.py +++ b/worlds/evn/logics.py @@ -24,30 +24,123 @@ misns_to_ignore: List[int] = [ # for our sanity, we're going to ignore "Link" missions - they do barely more than add some text and connect missions. But can *also* be branches to bring the player back to one mission. - 783, - 788, - 789, - 790, - 797, - 798, - 800, - 801, - 804, - 811, - 812, - 814, - 816, - 818, - 819, - 836, - 837, - 838, - 839, - 905, + 783, 786, 787, 788, 789, 790, 797, 798, 799, 800, 801, 804, 805, 806, 807, 811, 812, + 813, 814, 816, 817, 818, 819, 836, 837, 838, 839, 879, 905, 784, # NOTE: Special case as this is actually a mission instead of a link. Auroran 2nd try, but forcing first instead. 796, # NOTE: Another Auroran mission that requires previous failure, so won't include. + 901, # NOTE: "You Need to Register..." requests. Not going to happen, so remove. + 902, + 903, + 904, + 609, # drop bear - "haha"... + 610, + + # Were these debug missions or something? + + # Silent missions. They don't have a success, so... Don't help with checks. + 606, 607, # "silent missions" + 711, 713, 714, 715, 718, 731, 733, 738, 740, 749, 750, 751, 752, 755, + 781, # hmm + 791, 792, 793, 795, 808, 809, 827, 848, 854, 858, 875, 879, 895, 896, + 899, 900, 905, 913, # silent misn + 880, 881, 883, 884, # pursuit groups of enemies + 886, 894, 890, 891, 892, + # invisible misn - again, don't seem to have ability to complete + 802, 803, 833, + # Krypt mind attack string from Polars32... Could have on success, but I'm unclear what it takes to meet that req... + 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 875, + # ??? + 872, + # generic post game missions (but victory will already have released, so can't get to before end.) + 874, 876, 877, 878, 910, 911, ] +# Introducing this logic caused the number of available missions to drop below the item count +# when also using outf. As such, we need to cut down on these. +# I'm starting with "bad apple" variants (that are more of traps than helpful), then maybe cutting into variants in general. + +# TODO: Implement in items, and change default in world so they aren't provided if not found in items bank. +ships_to_ignore: List[int] = [ + 168, 169, 170, 171, 185, # wraith + 176, # krypt pod + 895, # escape pod + 173, 174, 175, # AI specific Vellos ships (they come with vellos weapons and abilities...), the 300 ones are the real ones. + + # ships with disabling weapons: + 384, 385, 386, 387, 388, 389, # abominations + 390, # pheonix + + # removing "economy at work" + 391, 392, 393, + # poor variants + 361, 363, 365, 367, 369, 371, + + # removing cloaking ships. I'm not 100% on this, but I figure the cloak should come from the outf once found anyways... + # this does also remove some variants that had a non-0 buy chance + 259, 319, 267, 326, 408, # arachnid + 260, 320, 269, 327, 409, # dragon + 263, 265, 323, 325, 272, 330, 406, 411, # raven + 358, 359, 360, # reb dest + 355, 357, 405, # reb drag + 261, 321, 270, 328, 407, # scarab + 262, 322, 271, 329, 410, # striker + 256, 257, 258, 376, 266, # zephyr + + # removing variants + # dani / tekel / vella + 243, 244, 245, # abom + 252, 253, 254, # cruser + 299, 300, 301, # carrier + + # deduping, particularly the never-could-be-bought dupes + # Note: I am keeping some variants - mostly removing those with *the same name* + 205, 207, # argosy + 297, 396, 247, 397, # aur carr / cruis + 210, # enterprise + 278, # lightning + 390, # pheonix + 402, # pir argosy + 238, 403, # pir enterprise + 232, 233, 235, 400, # pir startbridge + 288, 290, 401, # pir valk + 404, # pir viper + 373, # rage gunboat + 264, 324, # raven + 184, # reb dest (because rebel II string checks) + 183, # reb drag + 341, # reb starbridge + 352, 353, # reb thunderhead + 394, 273, # sprite + 198, 199, 398, # starbridge + 281, 399, # valk + 375, # zephyr +] # removed 111? + +outf_to_ignore: List[int] = [ + 187, 188, # escape pod and auto launcher - may need to readd for deathlink hard core? bleh + 204, 433, 434, # very specific map + 229, 230, 231, 232, 233, 266, 267, 339, # nanites + wraith weapons + 314, 315, 316, 317, 318, # ship upgrades - sorry + 319, # drop bear repellent + 320, 321, 322, 323, 324, 325, 326, 327, 332, # illegal outf + 328, 329, 330, # "disabling" weapons + 331, # user modified ionic particle cannon? what's that? + 348, # bureau bomb outfit - pretty sure this is a trap anyways 33 + 358, 359, 360, 361, 362, # "cheap" stuff + 363, 364, 439, # forged licenses + 374, # thorium reactor - bomb, ah so this is the trap one + 375, 376, 377, 378, # degraded or disabled + 257, 258, 259, 260, 263, 264, 265, # Licenses; I'm removing these... unlocking things except these would suck - still couldn't get something that was unlocked? Not worth for the randomizer. + # ??? + 236, # what is "fuel transfers"? 0% avail anyways + 261, # thorium reactor - ionisation + # duplicates that aren't necessary due to changes + 247, 273, + 254, 345, 255, 346, # wraithii cannons and ammo that were gained by other factions. Let's just keep the core polaris versions. + # not clear on why these two were options, but not avail. Likely ship specific outfits? + 267, 266, +] # removed 63? + # I thought about offshoots that require a mission refusal, just setting the mission to auto-abort if accepted (one flag, easy) # but that would be confusing to the player I think. So, instead going to try and edit the mission to look like it has one button (cannot refuse flag) that is modelled to look like the specific option, such as "refuse" instead of "okay" class MisnSafetyLogic(TypedDict, total=False): @@ -174,8 +267,10 @@ class EVNRegionData(TypedDict, total=False): 192, 882, 885, 887, ], "misn_edits": { - "refuse_button": "Don't pick this", - "on_refuse": "!b315", + 192: { + "refuse_button": "Don't pick this", + "on_refuse": "!b315", + } } }, 9: { @@ -314,6 +409,266 @@ class EVNRegionData(TypedDict, total=False): "on_success": "b817" } } + }, + 23: { + "id": 23, + "name": "Bounty Hunter - Start", + "missions": [ + 257, 258, 259, 260, 261, 262, 140, 263, 264, 265, 267, 268, 269, 270, 271, 272, 273, + 276, 274, 275, 277, 278, + ], + "misn_edits": { + 266: { + "available_bits": f"b{MISSION_BLOCKING_BIT}" + }, + } + }, + 24: { + "id": 24, + "name": "Bounty Hunter - Start - Into Auroran", + "missions": [ + 257, 258, 259, 260, 261, 262, 140, 263, 264, 265, 266, + ], + "misn_edits": { + 267: { + "available_bits": f"b{MISSION_BLOCKING_BIT}" + }, + } + }, + 25: { # I don't like this one - don't like that you have to fail + "id": 25, + "name": "Bounty Hunter - Into Fed (Req. Failing Misn.)", + "missions": [ + 279, + ], + "misn_edits": { + 279: { + "on_success": "!b511" + }, + } + }, + 26: { + "id": 26, + "name": "Bounty Hunter - Into Rebels", + "missions": [ + 279, 280, + ], + "misn_edits": { + 279: { + "on_failure": "!b511" + }, + } + }, + 27: { # Don't use last two missions so that the player can't be branched into another storyline before starting the intended one. + "id": 27, + "name": "Bounty Hunter - End (Trunc To Not Branch)", + "missions": [ + + ], + "misn_edits": { + 279: { + "available_bits": f"b{MISSION_BLOCKING_BIT}" + }, + } + }, + 30: { + "id": 30, + "name": "Pirate - Start", + "missions": [ + 693, 694, 695, 696, + ], + "misn_edits": { + 694: { + "on_refuse": "" + }, + } + }, + 31: { + "id": 31, + "name": "Pirate - From WG", + "missions": [ + 810, 840, 695, 841, + ], + "misn_edits": { + 840: { + "on_refuse": "" + }, + } + }, + 32: { + "id": 32, + "name": "Pirate - Pt 2", + "missions": [ + 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 712, + 300, 720, 718, 721, 722, 723, 724, + 842, # some kind of link or something, but has on_success bits + # ? + # 874, 876, # i think postgame + ], + "misn_edits": { + 694: { + "on_refuse": "" + }, + } + }, + 33: { + "id": 33, + "name": "Pirate - Offshoot End A", + "missions": [ + 725, 727, + ], + "misn_edits": { + 724: { + "refuse_button": "Don't pick this", + "on_refuse": "" + }, + } + }, + 34: { + "id": 34, + "name": "Pirate - Offshoot End B", + "missions": [ + 726, 728, 729, 730, + 912, # Hmm, this one may cause problems? + ], + "misn_edits": { + 724: { + "accept_button": "Don't pick this", + "on_accept": "b435", # force into refusal + "on_refuse": "CHECK_TARGET" + }, + } + }, + 40: { + "id": 40, + "name": "Fed - Start", + "missions": [ + 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 443, + 439, # rebel branch missions we aren't going to utilize for now. + ], + "misn_edits": { + 439: { + "refuse_button": "Don't pick this", + "on_refuse": "" + } + } + }, + 41: { + "id": 41, # TODO: Implement. Requires failing a BH mission which is why I don't like trying to enforce it. + "name": "Fed - From BH (NOT USING)", + "missions": [ + 440, + ], + "misn_edits": { + } + }, + 42: { + "id": 42, + "name": "Fed - Pt 2", + "missions": [ + 441, 442, 444, 445, 446, 447, 450, 452, 451, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 474, + 473, # NON Gli-Tec-Nia path. 613 would be the alt, but not dealing with it. + ], + "misn_edits": { + 473: { + "available_bits": "(P0 & b87) & !b88" # Remove glitecnia check + }, + 613: { + "available_bits": f"b{MISSION_BLOCKING_BIT}" # block the glitecnia version of the mission + } + } + }, + 43: { + "id": 43, # I'm not implementing these for now, but I need them out of the pool (aka: in at least 1 region) + "name": "Fed - From Rebels or BH (NOT USING)", + "missions": [ + 448, 449, + ], + "misn_edits": { + } + }, + 44: { + "id": 44, # For now, I'm not implementing this one. Again, need them out of the pool. + "name": "Fed - Forced (NOT USING)", + "missions": [ + 575, 576, 590, 592, 591, 593, 594, 595, 596, + ], + "misn_edits": { + } + }, + 45: { + "id": 45, # Not implementing this branch for now, sorry. Need it out of the pool. + "name": "Fed - Gli-Tec-Nia Missions (NOT USING)", + "missions": [ + 613, + ], + "misn_edits": { + } + }, + 50: { # Rebels + "id": 50, # Too many links, not dealing with this for now. Other ways into rebels. + "name": "Rebel - From Fed (NOT USING)", + "missions": [ + 330, + 611, # technically *to* feds? + ], + "misn_edits": { + } + }, + 51: { # Rebels + "id": 51, # + "name": "Rebel - From BH", + "missions": [ + 328, 329, 331, 332, 333, 334, 335, 336, 337, 338, 853, + ], + "misn_edits": { + 611: { + "available_bits": f"b{MISSION_BLOCKING_BIT}" # dunno if I need this, but extra protection + }, + 608: { # due to lockout conditions, cutting off this option. do sigma + "available_bits": f"b{MISSION_BLOCKING_BIT}" + } + } + }, + 52: { # Rebels + "id": 50, # If you want hyper gates, do sigma story line + "name": "Rebel - Give Gates (NOT USING)", + "missions": [ + 608, + ], + "misn_edits": { + } + }, + 53: { # Rebels + "id": 53, + "name": "Rebel I", + "missions": [ + 339, 612, 340, 341, 859, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, + 353, 354, + 914, # not sure on this one... + ], + "misn_edits": { + 339: { + "accept_button": "Must Succeed", + "on_failure": "" + } + } + }, + 54: { # Rebels + "id": 54, # Forced fail... bleh + "name": "Rebel II", + "missions": [ + 339, 612, 401, 400, 399, 398, 397, 396, 395, 394, 393, 392, 391, 390, 389, 388, + 387, 386, 385, 384, 383, 382, 381, + 915, # not sure on this one... + ], + "misn_edits": { + 339: { + "accept_button": "Must FAIL", + "on_success": "" + } + } }, # For these blocking missions - only add the edits. Don't add the mission ID otherwise it'll get assigned an item / check 100: { "id": 100, @@ -344,7 +699,58 @@ class EVNRegionData(TypedDict, total=False): "available_bits": f"b{MISSION_BLOCKING_BIT}" } } - } + }, + 103: { + "id": 103, + "name": "Pirate - Block Start", + "missions": [], + "misn_edits": { + 693: { + "available_bits": f"b{MISSION_BLOCKING_BIT}" + } + } + }, + 104: { + "id": 104, + "name": "Feds - Block Start", + "missions": [], + "misn_edits": { + 428: { + "available_bits": f"b{MISSION_BLOCKING_BIT}" + } + } + }, + 200: { # Due to checks vs blocking nature of missions, pulling out some paths of side quests + "id": 200, + "name": "Side Misn - (NOT USING)", + "missions": [ + 834, 835, # "meh" cunjo hunt branch + 597, # fed req glitechnia mission + 758, # Huh, you can abort Barry (kinda) + 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, # second half of United Shipping due to polaris req :( + ], + "misn_edits": { + } + }, + 201: { + "id": 201, + "name": "Side Misn - Block unused routes", + "missions": [], + "misn_edits": { + 834: { + "available_bits": f"b{MISSION_BLOCKING_BIT}" + }, + 597: { + "available_bits": f"b{MISSION_BLOCKING_BIT}" + }, + 577: { + "available_bits": f"b{MISSION_BLOCKING_BIT}" + }, + 756: { + "on_abort": "" + } + } + }, } class EVNStoryRoute(TypedDict, total=False): @@ -365,10 +771,12 @@ class EVNStoryRoute(TypedDict, total=False): "option_name": "vellos", "regions": [ 0, # always include universe as our default start! - 1, 101, 102, 20, + 101, 102, 103, 104, 201, # blocking (don't connect) + 20, 23, 27, # WG + BH + 1, # Story ], #"region_connections": { 0: [1, 101, 102, 20] }, # I don't think we need to add the blocking missions - "region_connections": { 0: [1, 20] }, + "region_connections": { 0: [1, 20, 23, 27] }, "final_mission": 417, }, 2: { @@ -376,9 +784,12 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Polaris - Standard - Path A", "option_name": "polaris", "regions": [ - 0, 100, 102, 2, 4, 5, 7, 9, 20, + 0, + 100, 102, 103, 104, 201, + 20, 23, 27, + 2, 4, 5, 7, 9, ], - "region_connections": { 0: [2, 20], 2: [4], 4: [5], 5: [7], 7: [9] }, + "region_connections": { 0: [2, 20, 23, 27], 2: [4], 4: [5], 5: [7], 7: [9] }, "final_mission": 887, }, 3: { # So, there's 2 starting options, and 2 paths, for 4 combos. May implement all 4, may not. @@ -386,9 +797,12 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Polaris - From Vellos - Path B", "option_name": "vellos_polaris", "regions": [ - 0, 101, 102, 3, 4, 6, 7, 8, 20, + 0, + 101, 102, 103, 104, 201, + 20, 23, 27, + 3, 4, 6, 7, 8, ], - "region_connections": { 0: [3, 20], 3: [4], 4: [6], 6: [7], 7: [8] }, + "region_connections": { 0: [3, 20, 23, 27], 3: [4], 4: [6], 6: [7], 7: [8] }, "final_mission": 887, }, 4: { # Auroran options @@ -396,9 +810,12 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Auroran", "option_name": "auroran", "regions": [ - 0, 100, 101, 20, 10, 12, 14, 15, 16, + 0, + 100, 101, 103, 104, 201, + 20, 23, 27, + 10, 12, 14, 15, 16, ], - "region_connections": { 0: [10, 20], 10: [12], 12: [14], 14: [15], 15: [16] }, + "region_connections": { 0: [10, 20, 23, 27], 10: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, }, 5: { # Auroran options @@ -406,20 +823,90 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Auroran - From WG", "option_name": "wg_auroran", "regions": [ - 0, 100, 101, 102, 21, 11, 12, 14, 15, 16, + 0, + 100, 101, 102, 103, 104, 201, + 23, 27, + 21, 11, 12, 14, 15, 16, ], - "region_connections": { 0: [11, 21], 11: [12], 12: [14], 14: [15], 15: [16] }, + "region_connections": { 0: [11, 21, 23, 27], 11: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, }, - # TODO: Needs BH setup first -# 6: { # Auroran options -# "id": 6, -# "name": "Auroran - From Bounty Hunter", -# "option_name": "bh_auroran", -# "regions": [ -# 0, 100, 101, 102, 20, 13, 12, 14, 15, 16, -# ], -# "region_connections": { 0: [20, 13], 13: [12], 12: [14], 14: [15], 15: [16] }, -# "final_mission": 686, -# } + 6: { # Auroran options + "id": 6, + "name": "Auroran - From Bounty Hunter", + "option_name": "bh_auroran", + "regions": [ + 0, + 100, 101, 102, 103, 104, 201, + 20, + 24, 13, 12, 14, 15, 16, + ], + "region_connections": { 0: [20, 24], 24: [13], 13: [12], 12: [14], 14: [15], 15: [16] }, + "final_mission": 686, + }, + 7: { # Pirates + "id": 7, + "name": "Pirate", + "option_name": "pirate", + "regions": [ + 0, # universe + 100, 101, 102, 104, 201, # blocking other strings (don't connect) + 20, 23, 27, # WG + BH + 30, 32, 34, # Story + ], + "region_connections": { 0: [20, 23, 27, 30], 30: [32], 32: [34] }, + "final_mission": 712, + }, + 8: { + "id": 8, + "name": "Pirates - From WG", + "option_name": "wg_pirate", + "regions": [ + 0, + 100, 101, 102, 103, 104, 201, # blocking + 23, 27, # BH + 22, 31, 32, 34, # WG -> Story + ], + "region_connections": { 0: [22, 23, 27], 22: [31], 31: [32], 32: [34] }, + "final_mission": 712, + }, + 9: { + "id": 9, + "name": "Feds", + "option_name": "feds", + "regions": [ + 0, + 100, 101, 102, 103, 201, # blocking + 20, 23, 27, # BH + 40, 42, # Story + ], + "region_connections": { 0: [20, 23, 27, 40], 40: [42] }, + "final_mission": 474, + }, + 10: { + "id": 10, + "name": "Rebel I - From BH", + "option_name": "bh_rebel1", + "regions": [ + 0, + 100, 101, 102, 103, 104, 201, # blocking + 20, # WG + 23, 26, 51, 53, # BH -> Story + ], + "region_connections": { 0: [20, 23], 23: [26], 26: [51], 51: [53] }, + "final_mission": 354, + }, + 11: { + "id": 11, + "name": "Rebel II - From BH", + "option_name": "bh_rebel2", + "regions": [ + 0, + 100, 101, 102, 103, 104, 201, # blocking + 20, # WG + 23, 26, 51, 54, # BH -> Story + ], + "region_connections": { 0: [20, 23], 23: [26], 26: [51], 51: [54] }, + "final_mission": 381, + } } diff --git a/worlds/evn/world.py b/worlds/evn/world.py index ff172dfc5189..c082035373af 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -12,7 +12,7 @@ from . import items, locations, regions, rules, web_world # from . import web_world from . import options as evn_options # rename due to a name conflict with World.options -from .logics import story_routes, possible_regions, EVNStoryRoute +from .logics import story_routes, possible_regions, EVNStoryRoute, MISSION_BLOCKING_BIT from .rezdata import misns, ships, outfits @@ -244,8 +244,8 @@ def prep_plugins_output(self) -> str: output_file_string += "\r\n" # then, the ship data for ship in ships.ship_table.keys(): - if ship in items.specific_exclusions: - continue + # if ship in items.specific_exclusions: + # continue temp_ship = ships.ship_table[ship] for column in ships.ship_columns.keys(): current_val = temp_ship[column] @@ -268,13 +268,16 @@ def prep_plugins_output(self) -> str: logger.info(f"Warning: availability location {target_id} for ship {temp_ship['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the ship table and location creation code to debug this issue.") output_file_string += default_val else: - logger.info(f"Warning: availability location {target_id} for ship {temp_ship['name']} not found in ev_item_bank. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the ship table and location creation code to debug this issue.") - output_file_string += default_val + #logger.info(f"Warning: availability location {target_id} for ship {temp_ship['name']} not found in ev_item_bank. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the ship table and location creation code to debug this issue.") + #output_file_string += default_val + #logger.info(f"Ship blocked (must have been ignored): {target_id} for ship {temp_ship['name']}") + output_file_string += f'"b{MISSION_BLOCKING_BIT}"' elif (column == "buy_random" and self.options.always_avail_shops): output_file_string += f'100\t' # considering altering hire chance too elif (column == "tech_level" and self.options.ignore_tech): output_file_string += f'1\t' - elif (column == "require_bits" and self.options.ignore_tech): + elif (column == "require_bits"): # and self.options.ignore_tech): + # ignore license requirements regardless of options. removing licenses from pool. output_file_string += f"0x0000000000000000\t" elif (column == "flags_3" and (self.options.always_avail_shops or self.options.ignore_tech)): flag1 = 0x0100 @@ -291,6 +294,7 @@ def prep_plugins_output(self) -> str: # Outfits if (self.options.include_outfits): + # column titles output_file_string += "\r\n" for column in outfits.outf_columns.keys(): output_file_string += f'"{outfits.outf_columns[column]}"\t' @@ -319,13 +323,16 @@ def prep_plugins_output(self) -> str: logger.info(f"Warning: availability location {target_id} for outf {temp_outf['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") output_file_string += default_val else: - logger.info(f"Warning: availability location {target_id} for outf {temp_outf['name']} not found in ev_item_bank. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") - output_file_string += default_val + #logger.info(f"Warning: availability location {target_id} for outf {temp_outf['name']} not found in ev_item_bank. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") + #output_file_string += default_val + #logger.info(f"Outf blocked (must have been ignored): {target_id} for outf {temp_outf['name']}") + output_file_string += f'"b{MISSION_BLOCKING_BIT}"' elif (column == "buy_random" and self.options.always_avail_shops): output_file_string += f'100\t' elif (column == "tech_level" and self.options.ignore_tech): output_file_string += f'1\t' - elif (column == "require_bits" and self.options.ignore_tech): + elif (column == "require_bits"): # and self.options.ignore_tech): + # ignore license requirements regardless of options. removing licenses from pool. output_file_string += f"0x0000000000000001\t" elif (column == "flags" and (self.options.always_avail_shops or self.options.ignore_tech)): flag1 = 0x0100 # show only if req bits met (or has 1) From 8121a983b505711cf52459e4eaf66f6a3d6b5265 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Fri, 20 Feb 2026 02:56:59 -0800 Subject: [PATCH 12/30] EVN: feat: outf based item checks Now players can buy checks from the outfitters in addition to misns. Offsets moved to a file for consistency. Plugin also provides descriptions for the outf on what item they will unlock. Removed the OutfitChecks option from yaml - basically mandatory to have this enabled. --- worlds/evn/apdata/customdesc.py | 168 +++ worlds/evn/apdata/customoutf.py | 523 +++++++ worlds/evn/apdata/offsets.py | 21 + worlds/evn/archipelago.json | 2 +- worlds/evn/items.py | 14 +- worlds/evn/locations.py | 32 +- worlds/evn/options.py | 15 +- worlds/evn/rezdata/desc.py | 2436 +++++++++++++++++++++++++++++++ worlds/evn/rules.py | 3 +- worlds/evn/world.py | 94 +- 10 files changed, 3278 insertions(+), 30 deletions(-) create mode 100644 worlds/evn/apdata/customdesc.py create mode 100644 worlds/evn/apdata/customoutf.py create mode 100644 worlds/evn/apdata/offsets.py create mode 100644 worlds/evn/rezdata/desc.py diff --git a/worlds/evn/apdata/customdesc.py b/worlds/evn/apdata/customdesc.py new file mode 100644 index 000000000000..a444cea09bc1 --- /dev/null +++ b/worlds/evn/apdata/customdesc.py @@ -0,0 +1,168 @@ +# Outf descriptions work by matching id offset from 3k in desc to the id of outfit - 128 (ex: 3000 -> 128, 3001 -> 129, etc.) + +from typing import Dict +from ..rezdata.desc import DescDict + +# IMPORTANT: Start at the END of the last outfit data's ID range. +cust_desc_table: Dict[int, DescDict] = { + 3322: { + "resource_type": "desc", + "id": "3322", + "name": "Unlock 5k", + "text": "[player_name]'s [item_name]", # we'll overwrite, just leave blank. But I left this as template example. + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3323: { + "resource_type": "desc", + "id": "3323", + "name": "Unlock 10k", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3324: { + "resource_type": "desc", + "id": "3324", + "name": "Unlock 15k", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3325: { + "resource_type": "desc", + "id": "3325", + "name": "Unlock 25k", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3326: { + "resource_type": "desc", + "id": "3326", + "name": "Unlock 50k", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3327: { + "resource_type": "desc", + "id": "3327", + "name": "Unlock 75k", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3328: { + "resource_type": "desc", + "id": "3328", + "name": "Unlock 100k", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3329: { + "resource_type": "desc", + "id": "3329", + "name": "Unlock 125k", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3330: { + "resource_type": "desc", + "id": "3330", + "name": "Unlock 150k", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3331: { + "resource_type": "desc", + "id": "3331", + "name": "Unlock 175k", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3332: { + "resource_type": "desc", + "id": "3332", + "name": "Unlock 200k", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3333: { + "resource_type": "desc", + "id": "3333", + "name": "Unlock 250k", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3334: { + "resource_type": "desc", + "id": "3334", + "name": "Unlock 500k", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3335: { + "resource_type": "desc", + "id": "3335", + "name": "Unlock 750k", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3336: { + "resource_type": "desc", + "id": "3336", + "name": "Unlock 1M", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3337: { + "resource_type": "desc", + "id": "3337", + "name": "Unlock 5M", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + } +} \ No newline at end of file diff --git a/worlds/evn/apdata/customoutf.py b/worlds/evn/apdata/customoutf.py new file mode 100644 index 000000000000..92edafcd268a --- /dev/null +++ b/worlds/evn/apdata/customoutf.py @@ -0,0 +1,523 @@ +# These custom outf are used to introduce checks to the outfitter shop for the player. +# This gives us a few more checks to pad with, which is helpful for the shorter storylines (pirate) +# Additionally, it is an alternate way for the player to engage with checks. +# Very similar to shops in other games. + +from typing import Dict +from ..rezdata.outfits import OutfDict + +# IMPORTANT: Start at the END of the last outfit data's ID range. +cust_outf_table: Dict[int, OutfDict] = { + 450: { + "resource_type": "outf", + "id": "450", + "name": "Unlock 5k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "5000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Unlock 5k\\\\n- Player -", # put in that player's name for recognition? + "lower_case_name": "Unlock 5k", + "lower_case_plural_name": "Unlocks 5k", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 451: { + "resource_type": "outf", + "id": "451", + "name": "Unlock 10k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "10000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 10k", + "lower_case_plural_name": "Unlocks 10k", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 452: { + "resource_type": "outf", + "id": "452", + "name": "Unlock 15k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "15000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 15k", + "lower_case_plural_name": "Unlocks 15k", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 453: { + "resource_type": "outf", + "id": "453", + "name": "Unlock 25k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "25000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 25k", + "lower_case_plural_name": "Unlocks 25k", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 454: { + "resource_type": "outf", + "id": "454", + "name": "Unlock 50k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "50000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 50k", + "lower_case_plural_name": "Unlocks 50k", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 455: { + "resource_type": "outf", + "id": "455", + "name": "Unlock 75k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "75000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 75k", + "lower_case_plural_name": "Unlocks 75k", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 456: { + "resource_type": "outf", + "id": "456", + "name": "Unlock 100k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "100000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 100k", + "lower_case_plural_name": "Unlocks 100k", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 457: { + "resource_type": "outf", + "id": "457", + "name": "Unlock 125k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "125000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 125k", + "lower_case_plural_name": "Unlocks 125", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 458: { + "resource_type": "outf", + "id": "458", + "name": "Unlock 150k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 150k", + "lower_case_plural_name": "Unlocks 150k", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 459: { + "resource_type": "outf", + "id": "459", + "name": "Unlock 175k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "175000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 175k", + "lower_case_plural_name": "Unlocks 175k", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 460: { + "resource_type": "outf", + "id": "460", + "name": "Unlock 200k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 200k", + "lower_case_plural_name": "Unlocks 200k", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 461: { + "resource_type": "outf", + "id": "461", + "name": "Unlock 250k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "250000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 250k", + "lower_case_plural_name": "Unlocks 250k", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 462: { + "resource_type": "outf", + "id": "462", + "name": "Unlock 500k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "500000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 500k", + "lower_case_plural_name": "Unlocks 500k", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 463: { + "resource_type": "outf", + "id": "463", + "name": "Unlock 750k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "750000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 750k", + "lower_case_plural_name": "Unlocks 750k", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 464: { + "resource_type": "outf", + "id": "464", + "name": "Unlock 1M", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "1000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 1M", + "lower_case_plural_name": "Unlocks 1M", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 465: { + "resource_type": "outf", + "id": "465", + "name": "Unlock 5M", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "5000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 5M", + "lower_case_plural_name": "Unlocks 5M", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + } +} \ No newline at end of file diff --git a/worlds/evn/apdata/offsets.py b/worlds/evn/apdata/offsets.py new file mode 100644 index 000000000000..544ff1ed5c9d --- /dev/null +++ b/worlds/evn/apdata/offsets.py @@ -0,0 +1,21 @@ +# Nova uses bits 0-9999 +# However, not all those reserved bits are used by the original scenario +# We are borrowing ranges for our purposes +# Different things (ships, outf, misn, etc.) are going to use different ranges +# This is in part due to most of these data types starting at the same id of 128 +# Meaning they would just overwrite each other in our tables otherwise +# I had these in multiple places, so they've been pooled here instead + +from typing import Dict + +STARTING_ID = 128 + +offsets_table: Dict[str, int] = { + "Credits": 9900, # Special case! These won't actually be set - the client will check for these ids and make its own adjustment. + "ship": 1550 - STARTING_ID, # 1550 - 1999 will be ships. We have 288/450 ships, so this should be safe. + "outf": 3100 - STARTING_ID, # 3100 - 3500 for outfs. We have 242/400 outf, should be good + "misn": 2000 - STARTING_ID, # 2000 - 2999 will be missions. We have 791/1000 misns, so this should be safe. + "outf_cks": 4100 - STARTING_ID, # 4100 - 4150 for custom outf (as locations/checks). + "desc": 3000, # this is the true desc offset, not a custom set we're trying to use. + "desc_alt": 3000 - STARTING_ID, # used in print out +} \ No newline at end of file diff --git a/worlds/evn/archipelago.json b/worlds/evn/archipelago.json index 20e9d1335ce5..eedd75942d93 100644 --- a/worlds/evn/archipelago.json +++ b/worlds/evn/archipelago.json @@ -1,6 +1,6 @@ { "game": "EV Nova", "minimum_ap_version": "0.6.4", - "world_version": "1.0.1", + "world_version": "1.1.1", "authors": ["Dorrulf"] } diff --git a/worlds/evn/items.py b/worlds/evn/items.py index 806f50d28639..292a5f281da2 100644 --- a/worlds/evn/items.py +++ b/worlds/evn/items.py @@ -10,6 +10,8 @@ from .rezdata import ships, outfits from .logics import ships_to_ignore, outf_to_ignore +from .apdata.offsets import offsets_table as type_offset + if TYPE_CHECKING: from .world import EVNWorld @@ -42,12 +44,12 @@ # "outf": 3100, # 3100 - 3500 for outfs. We have 242/400 outf, should be good # } # ADJUSTED FOR THE 128 OFFSET START ID OF EACH TYPE -starting_id = 128 -type_offset: Dict[str, int] = { - "Credits": 9900, # Special case! These won't actually be set - the client will check for these ids and make its own adjustment. - "ship": 1550 - starting_id, # 1550 - 1999 will be ships. We have 288/450 ships, so this should be safe. - "outf": 3100 - starting_id, # 3100 - 3500 for outfs. We have 242/400 outf, should be good -} +# starting_id = 128 +# type_offset: Dict[str, int] = { +# "Credits": 9900, # Special case! These won't actually be set - the client will check for these ids and make its own adjustment. +# "ship": 1550 - starting_id, # 1550 - 1999 will be ships. We have 288/450 ships, so this should be safe. +# "outf": 3100 - starting_id, # 3100 - 3500 for outfs. We have 242/400 outf, should be good +# } # I am bothered by having to do this, or at least using this solution. # specific_exclusions: List[int] = [ diff --git a/worlds/evn/locations.py b/worlds/evn/locations.py index e0f8cd0d7fd3..2f59bd914453 100644 --- a/worlds/evn/locations.py +++ b/worlds/evn/locations.py @@ -7,8 +7,11 @@ #from worlds.evn.regions import can_accept_location # Is this an improper import? from .rezdata import misns +from .apdata.customoutf import cust_outf_table from .logics import possible_regions, EVNRegionData, story_routes, EVNStoryRoute, misns_to_ignore +from .apdata.offsets import offsets_table as loc_type_offset + # import re if TYPE_CHECKING: @@ -49,10 +52,10 @@ # to add other checks, such as outfits, give them their own offset and range. # TODO: Move all these offset dictionaries to an offset file that they will import from. -starting_id = 128 -loc_type_offset: Dict[str, int] = { - "misn": 2000 - starting_id, # 2000 - 2999 will be missions. We have 791/1000 misns, so this should be safe. -} +# starting_id = 128 +# loc_type_offset: Dict[str, int] = { +# "misn": 2000 - starting_id, # 2000 - 2999 will be missions. We have 791/1000 misns, so this should be safe. +# } class EVNLocationData(TypedDict, total=False): name: str @@ -94,6 +97,16 @@ def get_locations() -> Dict[int, EVNLocationData]: address=loc_id, ) + # Custom outf checks + for coutf in cust_outf_table.keys(): + temp_outf = cust_outf_table[coutf] + loc_id = loc_type_offset["outf_cks"] + (int)(temp_outf["id"]) + logger.info(f'adding location (custom outf): {loc_id}, {temp_outf["name"]}') + ret_data[loc_id] = EVNLocationData( + name=temp_outf["name"].strip() + "-" + temp_outf["id"], + address=loc_id + ) + return ret_data #loc_name_to_id = {data.name: loc_id for loc_id, data in ev_location_bank.items()} @@ -150,10 +163,21 @@ def create_universe_locations(world: EVNWorld) -> None: # Get our default region, "Universe", as defined in world (Other games may use a different name) universe = world.get_region("Universe") misn_offset = loc_type_offset["misn"] + coutf_offset = loc_type_offset["outf_cks"] # Check if location used by any story regions for key, loc in ev_location_bank.items(): loc_found = False + + # cust outf - shortcut it (was added later) + if key > coutf_offset: # misn is 2k but outf_cks is 4k, so we know here this is an okay check + universe.add_locations( + get_location_names_with_ids(world, [loc["name"]]) + , EVNLocation + ) + continue + + # misns offset_key = key - misn_offset # first, check if it is a link mission and auto-ignore diff --git a/worlds/evn/options.py b/worlds/evn/options.py index cc797e5c88f4..1c11cbeb6eb8 100644 --- a/worlds/evn/options.py +++ b/worlds/evn/options.py @@ -44,12 +44,13 @@ class IncludeOutfits(DefaultOnToggle): """ display_name = "Include Outfits in shuffle" -class OutfitChecks(Toggle): - """ - Will add Outfits that are purely checks. Purchasing them will unlock items for players. - (Not Implemented) - """ - display_name = "Include Outfits as Checks" +# We basically *have* to do this, so not going to bother with on/off +# class OutfitChecks(Toggle): +# """ +# Will add Outfits that are purely checks. Purchasing them will unlock items for players. +# (Not Implemented) +# """ +# display_name = "Include Outfits as Checks" class AlwaysAvailableShops(Toggle): """ @@ -186,7 +187,7 @@ class ChosenString(Choice): class EVNOptions(PerGameCommonOptions): shuffle_systems: ShuffleSystems include_outfits: IncludeOutfits - outfit_checks: OutfitChecks + #outfit_checks: OutfitChecks chosen_string: ChosenString always_avail_shops: AlwaysAvailableShops ignore_tech: IgnoreTechReq diff --git a/worlds/evn/rezdata/desc.py b/worlds/evn/rezdata/desc.py new file mode 100644 index 000000000000..b2657778ac2e --- /dev/null +++ b/worlds/evn/rezdata/desc.py @@ -0,0 +1,2436 @@ + +from typing import Dict, TypedDict + +desc_columns = { + "resource_type": "Resource Type", + "id": "ID", + "name": "Name", + "text": "Text", + "graphics": "Graphics", + "movie_file": "Movie File", + "flags": "Flags", + "end_of_resource": "End-of-resource" +} + +class DescDict(TypedDict, total=False): + resource_type: str + id: int + name: str + text: str + graphics: int + movie_file: str + flags: int + end_of_resource: str + +desc_table: Dict[int, DescDict] = { + 3000: { + "resource_type": "desc", + "id": "3000", + "name": "Light Blaster", + "text": "The various versions of the Pyrogenesis Compound Blaster have been the standard defense armament for Federation ships for the past 300 years. Utilizing a magnetic containment bottle to collect photon packets before release, the Compound Blaster is capable of generating a kinetic impulse disproportionately large for a weapon of its meager power requirements. The version designed for small ships, the Light Compound Blaster is easily held by the smallest of fighters.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3001: { + "resource_type": "desc", + "id": "3001", + "name": "Medium Blaster", + "text": "Pyrogenesis' midrange product is the unimaginatively named Medium Blaster. This variant is normally carried by capital ships only; the weight alone makes it difficult for anything smaller to mount it. While it's slower and more bulky than its lesser sibling, the Medium Blaster is much more powerful. The lack of a turret mechanism does drop the weight some.\\n\\nRequires: Heavy Weapons License{b424 \\q\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q \\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3002: { + "resource_type": "desc", + "id": "3002", + "name": "LB Turret", + "text": "The famous Light Blaster, but on a turret which Pyrogenesis copied from its younger rival Rauther. The turret mechanism is very light and agile, making this an ideal anti-fighter weapon. Again, this weapon is not able to be mounted on fighters, although independent traders may attempt to mount one on a largish freighter.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3003: { + "resource_type": "desc", + "id": "3003", + "name": "MB Turret", + "text": "The Medium Blaster really comes into its own when it becomes turreted. Combined with sophisticated Glenn:Cyber targeting scopes, these weapons score easy hits on all but the smallest space vessels. The Medium Blaster Turret does tend to lag a little on the faster capital ships. The IDA Frigate mounts two of these batteries as standard.\\n\\nRequires: Heavy Weapons License{b424 \\q\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3004: { + "resource_type": "desc", + "id": "3004", + "name": "HB Turret", + "text": "So big and slow that only a turret mechanism allows it to hit anything at all, the Heavy Blaster Turret is the grand-daddy of the Pyrogenesis line of directed energy firepower. Mounted as standard on the E-60 Carrier, the pride of the Federation fleet, the Heavy Blaster chews through shields and armor alike. The short range and slow speed of the enormous packets limit the effectiveness of this weapon at anything other than boarding range.\\n\\nRequires: Heavy Weapons {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3005: { + "resource_type": "desc", + "id": "3005", + "name": "QLB Turret", + "text": "Comprised of quadruple Pyrogenesis Blaster Lasers on the most technically advanced turret they offer, the Quad Light Blaster system comes with a guarantee that it will dispose of your hostile fighter problems once and for all. Shipboard gunners salivate at the thought of being permanently assigned to one of these beauties. While the QLB System is heavy, as a point defence weapon system it automatically tracks, without any input from the bridge, incoming missiles and enemy fighter squadrons and pours a truly prodigious amount of fire into them, creating havoc.\\n\\nRequires: Heavy Weapons License, Protective Technologies {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3006: { + "resource_type": "desc", + "id": "3006", + "name": "IRM Launcher", + "text": "Kayel Solutions (KLSol) have won 'Best of Show' 26 years running for their clever adaptation of the Infrared Missile launcher. Based on the launcher mounted by the F-29 Anaconda and the E-41 Destroyer, the KLSol version is a tightly integrated set of standardized components that can easily swap between a hundred different classes of ship with only a minor, dealer serviceable tweak of the software. The KLSol IR Missile Launcher does produce a fair amount of heat for such a small unit, but it's easily compensated for.\\n\\nRequires: Missile Weapons License{b424 \\q\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3007: { + "resource_type": "desc", + "id": "3007", + "name": "IR Missile", + "text": "The Infrared Missile uses the simplest of tracking systems to deliver its small payload. It's not much to look at, but it's cheap and promiscuously available. The weapon itself can be loaded into a number of aftermarket launchers, including several highly illegal handheld ones used by Rebellion Vacuum Soldiers.\\n\\nRequires: Missile Weapons License{b424 \\q\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3008: { + "resource_type": "desc", + "id": "3008", + "name": "RM Launcher", + "text": "GLiMMER, a band of propellerheads turned pro, created the first modern radar guided missile and launcher system way back in 2045 AD. This design, produced under license by KLSol, is practically identical to that original design, albeit with KLSol's usual software driver genius. You can mount this unit in any spacefaring vessel with enough expansion space to hold it. There have even been some reports that it has been successfully incorporated into Auroran vessels!\\n\\nRequires: Missile Weapons License{b424 \\q\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3009: { + "resource_type": "desc", + "id": "3009", + "name": "Radar Missile", + "text": "Radar as a concept and as a useable weapons guidance system has been around since the middle of the twentieth century AD. As humanity reached for the stars they brought their technology with them, and radar, which is not reliant on a medium for effectiveness, quickly became a necessary tool for guiding missiles. This modern radar guided missile is a cheap GLiMMER knock-off.\\n\\nRequires: Missile Weapons License{b424 \\q\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3010: { + "resource_type": "desc", + "id": "3010", + "name": "GM launch", + "text": "Gravimetric missiles require a very stable and well shielded position from which to get their bearings on a target. The GLi-tech corporation ( which was formerly known as GLiMMER, before a 120 NC name change for legal purposes) makes and sells the only non-military implementation of the gravimetric missile system. The monopoly market share that GLi-tech enjoys does not bode well for the price.\\n\\nRequires: Missile Weapons {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3011: { + "resource_type": "desc", + "id": "3011", + "name": "Grav missile", + "text": "Gravimetric missiles lock onto the mass signature of a target. They cannot be jammed by any known means, and they carry the biggest payload of any missile on the open market. They are also far and away the most expensive. For those willing to pay the price, the Gravimetric missile will almost never miss its target, and will destroy smaller ships with one hit.\\n\\nRequires: Missile Weapons {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3012: { + "resource_type": "desc", + "id": "3012", + "name": "EW launcher", + "text": "The launcher for the new Etheric Wake missile is a streamlined unit perhaps as long as three fully grown men. It contains ultra high-tech cybernetic connectors for the next generation of onboard ship computers, and damping field generators for the positron warhead that the evil-looking missile carries. Cooling vents longer than baseball bats hiss and squeal as the EW missiles load into place inside it.\\n\\nRequires: Missile Weapons License", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3013: { + "resource_type": "desc", + "id": "3013", + "name": "EW Missile", + "text": "Because of the unique graviton emissions of the Wraith, a new targetable fire-and-forget weapon had to be devised to combat them. The Etheric Wake missile uses a little-known principle of subspace disturbance to track Wraith through their flight path by detecting their wash in space-time. Since the Wraith and the Polaris both use Etheric Wave hyperdrives (although the Wraith version is much more sophisticated), it has been theorized that this weapon will work well versus Polaris jamming.\\n\\nRequires: Missile Weapons License", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3014: { + "resource_type": "desc", + "id": "3014", + "name": "Raven Pod", + "text": "An underslung rack for the self-loading Raven Rockets. No guidance system is present; this is simply a holder for the rocket packs.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3015: { + "resource_type": "desc", + "id": "3015", + "name": "Raven Rocket", + "text": "Raven Rockets are the simplest chemical explosive projectile you can get. They are fast, but they have small payloads and are unguided. Raven Rockets can be devastating when multiple launch systems are installed, and because they have no active targeting systems most 'Point Defense' systems cannot target them.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3016: { + "resource_type": "desc", + "id": "3016", + "name": "Raven Turret", + "text": "The Raven Rocket turret mounts two unguided pods on a swivel base. It comes with a fairly basic tie-in to your vessel's sensors which allows it to track targets. You'll still need to maneuver fairly well to get the rockets to hit small targets, but these pods allow slower ships to use the Raven.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3017: { + "resource_type": "desc", + "id": "3017", + "name": "Stellar Grenade Launcher", + "text": "This weapon is a small airlock mounted in the underside of a ship. Simply place a grenade in the receptacle provided and then pull the lever. The airlock will cycle, and then a mechanical arm-launch system will fling the projectile backwards. The simplicity of the launcher is reflected by its bargain-basement price.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3018: { + "resource_type": "desc", + "id": "3018", + "name": "Stellar Grenade", + "text": "The Stellar Grenade is a device designed to throw pursuing ships off your tail. Dropping a few of these little gems out the hatch will keep adversaries off your tail, or make them regret it if they follow you. Bigger targets will be slowed a little.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3019: { + "resource_type": "desc", + "id": "3019", + "name": "Polaron Cannon", + "text": "Polarons are the new kid on the block in Direct Energy Weapon (DEW) systems. Polarons pack a punch with little generation loss, although they are hard to control out of the barrel. In some ways this cannon is rather like a Tesla coil in space, as it arcs rather than fires. You will need to be close to other ships to use this weapon effectively. The Polaron generation technology is very new, so it's also very expensive.\\n\\nRequires: Exotic Ships & Weapons License", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3020: { + "resource_type": "desc", + "id": "3020", + "name": "Ion Particle Cannon", + "text": "The Rauther Power Industries Ion Particle Cannon is amongst the most powerful directed energy weapons in the known galaxy. Mounted on a 360\u00a1/270\u00a1 firing platform, the weapons accuracy is unmatched, delivering incredibly destructive pulses of stripped helium nuclei, and its rotating phase excels in damaging shields and armor. The only major drawbacks of the Ion Cannon are its heavy power requirement and large mass.\\n\\nRequires: Exotic Ships & Weapons {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3021: { + "resource_type": "desc", + "id": "3021", + "name": "FPC", + "text": "The Fusion Pulse Cannon, like most Aurora technology, is both crude and brutal. However, the weapon's stocky build and inefficient containment fields still provide a highly effective energy packet. Perhaps the most interesting feature of the weapon is the fact that the fusion pulses leave the barrel of the weapon while still at meta-reactive temperatures. It is for this reason that the FPC should not be fired at close range.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3022: { + "resource_type": "desc", + "id": "3022", + "name": "FPC Turret", + "text": "As the FPC is cheap and easy to build, the Auroran houses have opted to mount a turreted version of the cannon on almost all ships. It's rare that you'll find even a freighter without the weapon, in either its forward-firing or its turreted versions. The turret adds some tracking to the otherwise slow FPC blasts, but the overall design is very effective. Just ask the Federation military commanders who have lost armadas to this chunky gun.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3023: { + "resource_type": "desc", + "id": "3023", + "name": "Wraith Cannon", + "text": "Wraithii are tiny capsules of polarons contained in a mar-graviton field. A Wraith Cannon fires these capsules via simple biomechanics, and the capsules burst on impact, releasing a powerful kinetic force. These guns are mounted as standard on the Dragon, and can be retrofitted to most ships on the market. The Nil'kemorya keep a careful eye on these weapons, however, and only the most favored of outsiders are ever allowed to buy them.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3024: { + "resource_type": "desc", + "id": "3024", + "name": "Wraithii", + "text": "The polarons for Wraithii are harvested by deep-space mining scoops run by the Tre'pira. These polarons are then shipped to P'aedt facilities for encapsulation in the mar-graviton field that will hold them until they impact at a speed of greater than 20 kilometers an hour. Needless to say, the final packets are handled with kid gloves. It is a testament to the Tre'pira and the P'aedt that no accidents with Wraithii have ever occurred.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3025: { + "resource_type": "desc", + "id": "3025", + "name": "Capacitor Pulse Laser", + "text": "Perhaps the only weapon to require a ship to be built around it, the Capacitor Pulse Laser stores the energy created in Polaris fusion reactors to be discharged in a single beam lasting only a few short seconds. For that short time, armor and shields may as well be wisps of smoke for all the good they will do against the fury of the most violent energy discharge mankind has yet created. Arachnids and Scarabs are both built around CPL systems{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3026: { + "resource_type": "desc", + "id": "3026", + "name": "BioRelay Laser", + "text": "The BioRelay is a thin laser beam weapon mounted in the framework of Striker and Manta vessels. The BioRelay is a series of cellular storage capacitors that discharge linearly to provide a steady power curve for the beam. As such, the heat generated from the laser body is minimal, which keeps the size down for the Manta and Striker, and yet packs a punch compared to packeted weapons such as the Federation blasters{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3027: { + "resource_type": "desc", + "id": "3027", + "name": "Polaron Torpedo Tube", + "text": "This launcher ties into a ship's main computer core (or neural network, in the case of Polaris ships). It tracks a target ship, and then calculates the complex field generation parameters for the Polaron Flux Coils in the tube. By varying the quantity, spin and charge of the newly generated polarons, the tube can give the polaron 'virtual structure' a good bead on a target before the preprogrammed field generator in the heart of the energy burst takes over{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3028: { + "resource_type": "desc", + "id": "3028", + "name": "Polaron Torpedo", + "text": "Having no mass, the Polaron Torpedo is a masterpiece of non-corporeal engineering. The charge and spin of the huge polaron virtual structure is set by the launcher at firing time. The chaos mathematics of the field interaction is calculated by the neural net of the Polaris vessel, which makes sure that the field will collapse in such a way that it will steer toward the target from the tube. A tiny field generator hovering in the middle of the torpedo modifies the field strengths to correct for mid-flight target variations, and provides the only part of the weapon system that has any mass whatsoever{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3029: { + "resource_type": "desc", + "id": "3029", + "name": "Viper bay", + "text": "A few days is all it takes to convert sections of your ship into a launchbay for Viper fighters. The conversion comes complete with everything you'll need to refuel, re-arm and service a maximum force of four Vipers.\\n\\nRequires: Fighter Bay {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3030: { + "resource_type": "desc", + "id": "3030", + "name": "Viper", + "text": "With the rapid development of space flight, it was inevitable that sports (particularly racing) would come to fruition sooner rather than later. Power Sled racing stood up to the challenge. A few intrepid hot-rodders noticed that one particular sled, the Viper, took very well to a bit of extra weight in the form of armor and armament. With a little engine tweaking, these modified Vipers, designated F-23, were selected by the Federation as the mainstay of their fighter wings.\\n\\nRequires: Fighter Bay {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3031: { + "resource_type": "desc", + "id": "3031", + "name": "Anaconda Bay", + "text": "Anacondas can provide long-range intercept capability for a vessel. This bay allows you to outfit a maximum of two of them.\\n\\nRequires: Fighter Bay {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3032: { + "resource_type": "desc", + "id": "3032", + "name": "Anaconda", + "text": "The main problem with the Viper as a fighter craft is a complete lack of any form of explosive projectile. A new variant that has the 'long distance kill' capacity, based on the Viper chassis, has been the Federation's choice of Space Superiority Fighter ever since. Although this ship, named the Anaconda, suffers from a slightly slower acceleration and top speed than the Viper, its ability to destroy enemy fighters before that fighter can get within gun range more than compensates.\\n\\nRequires: Fighter Bay {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3033: { + "resource_type": "desc", + "id": "3033", + "name": "Firebird Bay", + "text": "The Auroran shipwrights can install the electromag catapults for Firebird launching quite quickly. The conversion also includes the appropriate Firebird housing facilities, allowing for a maximum of six of them{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3034: { + "resource_type": "desc", + "id": "3034", + "name": "Firebird", + "text": "Firebirds are the main Auroran fighter. Their engines are simple, to say the least. Their task is to protect the Phoenix from attack by smaller fighters such as the Viper, while the Phoenix take on the heavier ships. The Firebird is slower than the Viper, but not by enough to give the Viper a decisive edge. Battles between the two often come down to individual skill. Many a Federation/Auroran border skirmish has come to a halt while the two sides watch a Firebird/Viper dogfight between renowned pilots{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3035: { + "resource_type": "desc", + "id": "3035", + "name": "Phoenix Bay", + "text": "Phoenix bays are noisy, smelly and generally fairly grimy. If you can put up with this, you'll have some serious mobile firepower at your disposal, as the bay is capable of housing up to three of these vicious little fighters{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3036: { + "resource_type": "desc", + "id": "3036", + "name": "Phoenix", + "text": "The Phoenix is yet another example of the Auroran will to survive. The Phoenix is slow and turns badly. One would think that it would be target practice for enemy pilots. It is, but it has one redeeming feature: it has almost as good armor plating as a Thunderhead. They plough through fire corridors with impunity, and attack in groups to maximize firepower. The Phoenix can wear a missile from an Anaconda, but a Viper will stay on its tail and pound it mercilessly. Suffice to say that Phoenix pilots suffer the greatest rate of attrition of any group in the Auroran armed forces{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3037: { + "resource_type": "desc", + "id": "3037", + "name": "Thunderhead Bay", + "text": "The schematics of this Thunderhead bay look impressive, but you're a bit unsure as to how you'll fit it to your current vessel, although adding the capability to launch as many as three Thunderheads from your ship could never hurt.\\n\\nRequires: Fighter Bay {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3038: { + "resource_type": "desc", + "id": "3038", + "name": "Thunderhead", + "text": "The Thunderhead is so named for its main weapon, the Thunderhead Lance. The Lance is a solid beam of coherent laser light. In some ways, the Thunderhead has the worst reputation of any fighting vessel in the Galaxy, not because of turn ratings or levels of firepower, but because this assault fighter is the weapon of choice of pirates, privateers and corsairs throughout known space. It has enough armor to allow it to go up against large ships, and enough speed to allow it to catch most craft that try to flee.\\n\\nRequires: Fighter Bay {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3039: { + "resource_type": "desc", + "id": "3039", + "name": "Manta Bay", + "text": "Mantas require food and water, as well as sunlight. This bay provides for up to six of them with all of that, plus the required power taps for recharging all their BioRelay lasers{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3040: { + "resource_type": "desc", + "id": "3040", + "name": "Manta", + "text": "A pilot in the Nil'kemorya comes of age at 16. It is then that he meets the Manta that will be his fighter and personal transport for as long as he lives, no matter how far he advances in rank. Grown from a DNA sample taken from the pilot when he was initiated into the Nil'kemorya, the Manta will bond with him in a very personal way. These fighters are not only swift and powerful, they are also the most 'alive' of the Polaris ships, having approximately the same level of sentience as smart dogs. It incorporates a potent bio-organic laser into its nose as its only weapon{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3041: { + "resource_type": "desc", + "id": "3041", + "name": "Hail Chaingun", + "text": "\\qIf it ain't broke, don't fix it,\\q is the old maxim, and the Hail Chaingun holds true to this time-honored principle. A simple caseless round is loaded into one of the two gatling breaches, and liquid propellant is injected behind the shell. The Hail has a cyclic rate of 3000 RPM, and has enough ammo on board for an extended firefight{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3042: { + "resource_type": "desc", + "id": "3042", + "name": "Chaingun Ammunition", + "text": "Simple caseless rounds have been around for longer than most historians can remember, and the production of them is so old-tech as to be almost a backyard occurrence throughout most of Known Space. The Aurorans in particular produce enormous amounts of it in order to fuel their almost constant war efforts (whether it be against the Federation or amongst themselves){b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3043: { + "resource_type": "desc", + "id": "3043", + "name": "Railgun (100mm)", + "text": "Railguns are simple enough in concept; get a pellet made from a highly conductive, but dense metal (something cheap, like copper or gold), and place it between two rails (one a cathode, the other an anode). Charge the rails with a homopolar generator, and there you have it: one super-high-speed metal pellet. First developed by Sir Marcus Oliphant as a scientific instrument in the twentieth century AD, the railgun is now standard armament on all Auroran capital ships. This version fires 100mm pellets.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3044: { + "resource_type": "desc", + "id": "3044", + "name": "Railgun (150mm)", + "text": "A slightly larger version of the 100mm railgun, this weapon requires a much larger generator, and a power supply to match. The 150mm pellets are made from a copper/cadmium mix, and are drop-forged with care by Auroran weaponsmiths{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3045: { + "resource_type": "desc", + "id": "3045", + "name": "Railgun (200mm)", + "text": "The mother of all railguns. Firing a 200mm copper/cadmium pellet, this railgun looks like nothing less than a deck gun from an ancient Earth ocean-going warship. The electrode rails get so scored during battle that they must be replaced at every landfall. Luckily the rails are very cheap and easy to manufacture. Some have even been constructed of old armor plates in times of emergency{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3046: { + "resource_type": "desc", + "id": "3046", + "name": "Turreted Railgun (100mm)", + "text": "While railguns are normally fixed-position weapons, something turreted was required for the immense Auroran Carrier. Thus the evergreen 100mm railgun was mounted on a Storm Chaingun swivel mount. The combo has proved quite successful, with several other fighting ships being retrofitted with similar guns{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3047: { + "resource_type": "desc", + "id": "3047", + "name": "EMP Torpedo Tube", + "text": "EMP weapons have not changed much since the first days of nuclear power. This tube fires torpedos carrying an EMP weapon with a yield of a gigaton or more of TNT. EMP weapons, as with all nuclear-type weapons, are generally the province of pirates and military dictators, as their use has been severely limited by all civilized people{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3048: { + "resource_type": "desc", + "id": "3048", + "name": "EMP Torpedo", + "text": "The EMP Torpedo was constructed from stolen Federation technology. It is an awesome weapon, with only two real uses: mass destruction and ionization. The Pirate Carrier carries four EMP torps as a blockade running tool; simply fire the weapon at the opposing line, and wait for them to scatter like sheep. Not to be detonated at close range{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3049: { + "resource_type": "desc", + "id": "3049", + "name": "Fusion Reactor", + "text": "While the basic design of the Fusion Reactor has remained unchanged for nearly three centuries, it still enjoys widespread use in the ships run by all castes (except those of the Nil'kemorya) as it more than fills their energy requirements. When asked if Polaris freighters and pleasure craft will ever require greater power sources, members of the Ver'ash shrug their shoulders and answer that if that day ever comes, there are already more advanced energy reactors being used in warrior vessels which could be relatively easily converted for non-military applications{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3050: { + "resource_type": "desc", + "id": "3050", + "name": "Thorium Reactor", + "text": "Until recently, the mighty Federation Carrier had one significant weakness: its reactor was not powerful enough for these enormous ships to operate for very long in sustained battle operations. With the advent of the Thorium Reactor, Federation Carriers can now spend much longer out on patrol without having to come in for a refit{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3051: { + "resource_type": "desc", + "id": "3051", + "name": "Fission Reactor", + "text": "This reactor is the mainstay of the Federation fleet, and can easily handle the energy requirements of most vessels, although it struggles a little with the energy needs of the enormous Federation Carrier. However, for all but the largest of capital ships, the fission reactor is more than sufficient for any energy output{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3052: { + "resource_type": "desc", + "id": "3052", + "name": "Carbon Fiber", + "text": "The invention of the carbon fiber technology has been lost in the turbulent eleven century history of mankind's adventures into space. Easy to produce and very inexpensive, carbon fiber shielding has been added to ships for nearly as long as humanity has been in space, or so historians say. At the end of the day, adding carbon fiber composites to your ship gives you a decent increase to your armor without draining your coffers or using up enormous amounts of your free space.\\n\\nRequires: Protective Technologies License{b424 \\q\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3053: { + "resource_type": "desc", + "id": "3053", + "name": "Matrix Steel", + "text": "Throughout the Empire, armor has been piled onto warships in an effort to make up for shortcomings in Auroran particle shielding. The slabs of matrix steel Auroran pilots and warriors add to their ships is indicative of this mindset; heavy but very strong, these enormous chunks of metal afford excellent protection against whatever unfriendly fire may come your way.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3054: { + "resource_type": "desc", + "id": "3054", + "name": "Titanium Lattice", + "text": "Until very recently, Federation scientists, while having a vastly superior knowledge of particle shielding, were lagging their Auroran counterparts in armor technology. With the recent invention of a commercially viable process to create a lattice of titanium and a few other minor ingredients, it is hoped that before long the vessels of the Federation Navy will begin to not only exhibit superior shielding when compared to their Auroran foes, but also superior armor.\\n\\nRequires: Protective Technologies {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3055: { + "resource_type": "desc", + "id": "3055", + "name": "Spun Diamond", + "text": "Nearly a century ago, P'aedt scientists working with Ver'ash engineers stumbled across a biological process that could be adapted to allow their ships to literally extrude carbon atoms around themselves, forming a diamond shell. Since then, Polaris shielding technology has been greatly enhanced, but many of the Nil'kemorya in particular still ask their Ver'ash cousins to modify their ships to also gain this armor advantage{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3056: { + "resource_type": "desc", + "id": "3056", + "name": "Gravimetric Sensors", + "text": "This software package will increase your onboard computer's ability to differentiate between the size of the sensor returns off any ships in your local area. After installation, you should be able to detect the approximate mass of any ship within range of your ship's scanners, allowing you to differentiate between large and small ships on your radar display.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3057: { + "resource_type": "desc", + "id": "3057", + "name": "IFF Decoder", + "text": "This simple modification to a ship's standard sensor system software will allow it to differentiate between the weapons states of ships within your scanning range. Ships which have their weapons powered up and their sensors locked on you will show up as hostile (red), ships that come from recognized friendly governments will show up as friendly (green), unless they are acting in a hostile manner towards you, and all other ships will show up as neutral (blue).", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3058: { + "resource_type": "desc", + "id": "3058", + "name": "Auto-recharger", + "text": "This handy piece of software automatically contacts spaceport computers via your comm system whenever you land and arranges for them to recharge your ship, saving you the worry. Of course, the cost remains the same regardless of whether you have the Auto-recharger or not.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3059: { + "resource_type": "desc", + "id": "3059", + "name": "Auto-eject", + "text": "Without this piece of equipment, the chances of you surviving an encounter with overwhelming forces is greatly decreased. Essentially, the auto-eject is very simple: when it detects your armor state fall to zero it launches your eject mechanism without waiting for any input from the pilot. With a nearly 100% success rate, this piece of hardware is something of a must for anybody foolhardy enough to brave the spaceways in this day and age.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3060: { + "resource_type": "desc", + "id": "3060", + "name": "Escape Pod", + "text": "By the time you factor in the costs of training, qualified pilots are, almost without fail, far more valuable than the ships they fly. So most governments and major organizations fit this device to their vessels to protect their investment. Though fairly expensive, a fair number of independent pilots who, quite understandably, highly value their own lives, also use escape pods. Unfortunately, no insurance company worth its salt would ever offer ship destruction insurance. Let's face it, with the current unstable climate, travelling the space-lanes is hardly the safest way to make a living...", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3061: { + "resource_type": "desc", + "id": "3061", + "name": "Cargo Expansion", + "text": "This simple upgrade takes up 15 tons of your free mass and gives you 10 tons more cargo space. Common throughout nearly all the known galaxy, the Cargo Expansion upgrade is used by freighter captains everywhere to increase their hold size. As an unfortunate side-effect of the process it also decreases the space available for weapons, so think twice before purchasing if you are going to be operating in dangerous areas.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3062: { + "resource_type": "desc", + "id": "3062", + "name": "Mass Expansion", + "text": "A large number of starship captains, from the earliest pioneers over a millennia ago to those travelling the enormous voids between the stars today, will attest to the value of this simple upgrade. If you are prepared to give up 15 tons of cargo space, it will give you 10 more tons of free mass, allowing you that much more room for weapons for personal protection. In a dangerous galaxy, it would pay to seriously consider this module.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3063: { + "resource_type": "desc", + "id": "3063", + "name": "Cargo Retool", + "text": "The cargo retool is similar to the cargo expansion in that it exchanges free mass for cargo space, but instead of adding a module to do it the refitters retool a portion of your weapon space and turn it into cargo space. It gives a better return on your space (12 tons of free mass turns into 10 tons of cargo space), but, unlike the cargo expansion, it is not a reversible procedure. That space will remain cargo space forever.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3064: { + "resource_type": "desc", + "id": "3064", + "name": "Mass Retool", + "text": "The mass retool does the exact opposite of the cargo retool; it exchanges cargo space for free mass. Like the cargo retool, it gives a better return on your space than the mass expansion equivalent (12 tons of cargo space turns into 10 tons of free mass), but it too is a non-reversible procedure.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3065: { + "resource_type": "desc", + "id": "3065", + "name": "Shield Recharger", + "text": "Federation particle shielding technology has always been vastly ahead of anything the Auroran Empire has ever had, and the shield recharger is a prime example of this. All ships with particle shielding can gradually recharge any lost shield power, but the shield recharger has a separate power source specifically attuned to your shield frequencies, allowing raw power to be pumped into your shields and causing them to recharge faster.\\n\\nRequires: Protective Technologies {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3066: { + "resource_type": "desc", + "id": "3066", + "name": "Organic Shield", + "text": "\\qWe strive always to ensure that we achieve the balance of a true warrior,\\q explains a gray-cloaked Nil'kemorya warrior. \\qAnd our ships, when we fly into battle with them, must become extensions of ourselves, and must therefore be balanced also. If we wield great weapons of destruction, they must also have excellent protection, as they will become a target by the enemy. The organic shield increases the restorative power of our shields, allowing us to maintain our balance.{P30\\q\\\\\\q\\q \\q\\\\\\q\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3067: { + "resource_type": "desc", + "id": "3067", + "name": "Shield Buffer", + "text": "At the end of the day, the greater your shields, the longer you will survive. Most Federation starship captains, if they can get their hands on the necessary funding, will leap at the chance to get ahold of one of these Sigma Shipyards S-72 Shield Buffers. In simple terms, the S-72 detects the outer layer of your particle shielding and adds another layer on top of that.\\n\\nRequires: Protective Technologies {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3068: { + "resource_type": "desc", + "id": "3068", + "name": "Shield Organelles", + "text": "As with all Polaris ships, everything is now bioengineered, including the organs that produce the particle shielding. However, like everything else they do, the Ver'ash have the capability of growing new organs to either 'heal' existing damage on ships or to 'add' a new organ to a ship, enhancing its capabilities. If more shielding is wanted, then they can cause your ship to grow more shield organelles to accommodate you{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3069: { + "resource_type": "desc", + "id": "3069", + "name": "Afterburner", + "text": "The ability to dump raw power into your propulsion system to temporarily increase your acceleration and top speed has been around since we were trapped within Earth's biosphere, and has followed us out into space. The afterburner chews power at a prodigious rate, but losing a little power is better than getting caught in the middle of a fleet battle{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3070: { + "resource_type": "desc", + "id": "3070", + "name": "Port & Polish", + "text": "A Port & Polish is just that, a cleanup of your ship and its drive systems, allowing for more efficient engine usage. Anybody seeking to get that little bit of extra acceleration out of their ship could use one of these little tune-ups{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3071: { + "resource_type": "desc", + "id": "3071", + "name": "Overdrive", + "text": "This is the engine modification inspired by the inbred mechanical genius 'Skinny'. Without getting too technical, it dramatically increases the speed and acceleration of your ship, and as everyone knows, the faster your ship, the harder you are to catch. Anybody who lives close to the legal edge needs more speed. Merchants need it to try and keep away from the pirates, the pirates need it to keep ahead of the merchants and to keep away from the authorities, and the authorities could use it to catch the pirates. If you need to get out to hyperspace range in a hurry, then this is the upgrade for you{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3072: { + "resource_type": "desc", + "id": "3072", + "name": "Vectored Thrust", + "text": "This is another Owen Greylock special. He came up with the idea when he saw ancient drawings of aerial fighter-craft that had small panels on either side of their exhaust pipes to direct the thrust in one direction or another and enhance maneuverability. It took him ten years to perfect, but now the Greylock system is used by nearly all pirates throughout the Known Galaxy, and more than a few merchants and free-lance starship captains have also chosen to add this upgrade to their ships{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3073: { + "resource_type": "desc", + "id": "3073", + "name": "Alluvial Damper", + "text": "When he joined the Rebellion, Mr. Donald Chick and his engineers took with them many of Sigma Shipyards experimental designs, and one of them that has come into fruition was the alluvial damper. Strictly speaking, it is more of a psychological damper: it lessens the EM field strengths created by a hyperspace field, but only within the living compartments of a starship. The end result is that humans can therefore endure the more powerful hyperspace fields without mental breakdown, and so starships can travel faster between systems{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3074: { + "resource_type": "desc", + "id": "3074", + "name": "Horizontal Booster", + "text": "Donald Chick's expertise does not just stop at starship design and engineering; it also extends to hyperspatial navigational computational modules. When you link this module into your navi-computer, it will be able to calculate hyperspatial trajectories much earlier than normal, as it includes an incredibly advanced gravitational compensation algorithm which allows you to enter hyperspace from much closer to the system center. Many Rebel starship captains will attest to its effectiveness{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3075: { + "resource_type": "desc", + "id": "3075", + "name": "Sensor Boost", + "text": "Throughout the galaxy there are navigational hazards that affect your sensors, and the only problem with increasing power to your sensors is that any more power would start creating EM fields which would render your sensors useless. Federation scientists on Menin recently found a new, commercially viable, way of increasing the shielding on the solid state electronics which then allows for more powerful sensors that do not interfere with their own operation.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3076: { + "resource_type": "desc", + "id": "3076", + "name": "Map", + "text": "This map will automatically update your ship's computer with information about the location and contents of the systems surrounding this one.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3077: { + "resource_type": "desc", + "id": "3077", + "name": "T5 Strength", + "text": "While your skills are still rudimentary, and you are far from powerful, you still have some capability to defend yourself", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3078: { + "resource_type": "desc", + "id": "3078", + "name": "T4 Strength", + "text": "Your telepathic capabilities afford you some increased protection against possible hazards.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3079: { + "resource_type": "desc", + "id": "3079", + "name": "T3 Strength", + "text": "With your power growing and your skills increasing, you telepathic capabilities afford you a fair amount of protection against the many and various hazards of the modern universe.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3080: { + "resource_type": "desc", + "id": "3080", + "name": "Cargo Retool", + "text": "The cargo retool is similar to the cargo expansion in that it exchanges free mass for cargo space, but instead of adding a module to do it the refitters retool a portion of your weapon space and turn it into cargo space. It gives a better return on your space (12 tons of free mass turns into 10 tons of cargo space), but, unlike the cargo expansion, it is not a reversible procedure. That space will remain cargo space forever.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3081: { + "resource_type": "desc", + "id": "3081", + "name": "T2 Strength", + "text": "Your skill and power would be the envy of most Vell-os galaxy wide. It affords you excellent protection against the hazards of the universe.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3082: { + "resource_type": "desc", + "id": "3082", + "name": "Mass Retool", + "text": "The mass retool does the exact opposite of the cargo retool; it exchanges cargo space for free mass. Like the cargo retool, it gives a better return on your space than the mass expansion equivalent (12 tons of cargo space turns into 10 tons of free mass), but it too is a non-reversible procedure.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3083: { + "resource_type": "desc", + "id": "3083", + "name": "Fed Cloaking Device", + "text": "As a result of a lab accident when trying to study a captured Polaris biological ship, Federation scientists were able to create a sub-space bubble. Later, with further research, they were able to figure out how to wrap one around a ship. The result is that most modern sensors are completely incapable of detecting the ship as it is now 'cloaked' in the background fabric of the universe.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3084: { + "resource_type": "desc", + "id": "3084", + "name": "Sensor Boost", + "text": "Throughout the galaxy there are navigational hazards that affect your sensors, and over the last four centuries the Ver'ash and the P'aedt have been working on ways and means to overcome these problems. The latest version can cut through even the most horrendous interference, making even the most treacherous parts of the galaxy navigable{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3085: { + "resource_type": "desc", + "id": "3085", + "name": "Sensor Boost", + "text": "Throughout the galaxy there are navigational hazards that affect your sensors, and even though the Empire's scientists are not as capable as those of the Federation, they are more than capable of reverse engineering anything they find on a captured Federation vessel. The Auroran sensor boosts are not quite as effective as those of the Federation, but only because the manufacturing processes are not of the same meticulous standard. You will find, however, that the Auroran sensor boost is a very cheap buy{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3086: { + "resource_type": "desc", + "id": "3086", + "name": "Sensor Boost", + "text": "When Owen Greylock tinkers with a design, you can be assured that he will improve it somehow, and this sensor boost is no exception. While the cost is enormous, the only place that you can get a better sensor array is from the Polaris, and they tend to keep their technology to themselves. If you want the next best thing, then this is it{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3087: { + "resource_type": "desc", + "id": "3087", + "name": "Storm Chaingun", + "text": "The Storm is a sacred weather pattern in Auroran culture. Symbolizing the power and fury of the hordes of Auroran warriors, many warriors have a thundercloud as a death tattoo, indicating that they will die in the fury of a mass offensive. The Storm Chaingun reflects the Auroran philosophy of overwhelming the enemy with numbers; the Storm is effectively four Hails on a turret, and, as a point defence weapon system, is used to destroy incoming fighters and missiles with often devastating effect, and without requiring any command input from the bridge{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3088: { + "resource_type": "desc", + "id": "3088", + "name": "Fusion Pulse Turret", + "text": "When the Heraan family were constructing the first Abomination gunboats, they discovered quite quickly that standard Fusion Pulse Cannons mounted on Abominations were unable to hit fast moving targets, due to the poor turning speed of the craft. So was born the Fusion Pulse Turret (and later the battery version).", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3089: { + "resource_type": "desc", + "id": "3089", + "name": "Thunderhead Lance", + "text": "Thunderheads are built around this stocky beam unit. The Lance is a simple laser; nothing more, nothing less. It is a very highly charged weapon, but it is effective only at short range. As the best way to use a Lance is to almost ram the ship in question, it is a favored weapon of the Wild Geese, who consider it a divine gift.\\n\\nRequires: Heavy Weapons {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3090: { + "resource_type": "desc", + "id": "3090", + "name": "Pirate Viper Bay", + "text": "Pirates know about violence, and the threat of violence. They also know about hounding individual ships in packs. However, they also value speed, and the Pirate Viper Bay launches them far faster than any other type of bay outside of Polaris Space, allowing them to swarm over their foes with frightening rapidity. So despite only being able to house a maximum of four Pirate Vipers, many pirates vessels have at least one. With one of these bays on board, you'll have a fast pack at your disposal at all times{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3091: { + "resource_type": "desc", + "id": "3091", + "name": "Pirate Viper", + "text": "As soon as Comara released the Viper frame on the general market, a few shiploads of frames were bought up by notorious pirate shipwright Olaf Greyshoulders. He and his crew have totally refitted the shell, and the familiar shape of its advanced armor plating hides a wealth of minor and major improvements to the basic idea. But, as with all Greyshoulders upgrades, there is a hefty price to pay for the improved model. It's up to you to decide whether it's worth it{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3092: { + "resource_type": "desc", + "id": "3092", + "name": "Turreted BioRelay Laser", + "text": "The TBRL is a special variant of the Polaris BioRelay Laser. It is mounted on the Polaris Dragon as a primary weapon. This weapon is used rather than the more powerful pulse laser, so as to limit the potential damage were a Dragon to fall into unfriendly hands; a good scientist can unravel much from a working sample of an enemy weapon{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3093: { + "resource_type": "desc", + "id": "3093", + "name": "Flower Of Spring", + "text": "The Vell-os name their weapons after the telepathic weaves used to turn their telepathic abilities into physical energy. Thus this weapon is called the Flower Of Spring because the weave works from the ground up and includes patterns much like that of a flower.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3094: { + "resource_type": "desc", + "id": "3094", + "name": "Summer Bloom", + "text": "The Summer Bloom is the magenta beam that is incorporated into the form of the Arrow. A T2 Vell-os can maintain power to this weapon almost indefinitely, and the stopping power of a Bloom is stunning for such a small beam.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3095: { + "resource_type": "desc", + "id": "3095", + "name": "Autumn Petal", + "text": "This instrument of destruction is an integral part of the makeup of a Vell-os Javelin. The color of early autumn kirastei petals on Vell-os worlds, the Autumn Petal has an excellent sustained fire rate, and long range. Only T1's have been known to be able to create the weave required for this weapon.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3096: { + "resource_type": "desc", + "id": "3096", + "name": "Winter Tempest", + "text": "Winter Tempest is a name spoken in dark corners by the Vell-os people. The storm-colored arc of light has only once been used in anger. Even then it took a T1 working at focusing the power of twenty T2's to get it to work. It has been theorized by Vell-os scientists that a T0 would have the potential to create this beam by himself.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3097: { + "resource_type": "desc", + "id": "3097", + "name": "Create Dart", + "text": "As your telepathic power swells, you learn a great deal more about how to project your consciousness out upon the universe. Now, if you choose to prepare yourself correctly by selecting this ability, you can project small parts of your mind into Dart-like receptacles which will act as you command them.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3098: { + "resource_type": "desc", + "id": "3098", + "name": "Dart", + "text": "As part of gaining the ability to project small parts of your consciousness out onto the universe, you must prepare yourself for it by deliberately setting apart portions of your telepathic energy by selecting this option.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3099: { + "resource_type": "desc", + "id": "3099", + "name": "Marine Platoon", + "text": "The leader of these hard-looking men tells you that he is capable of increasing your chances of capturing any vessel enormously.\\n\\n\\qAnd we don't need continuous cash flow,\\q he explains in his deep voice as his men watch on with casual alertness. \\qWe have all the equipment we need, and we take small amounts of profit by foraging on every ship we board.{P30\\q\\\\\\q\\q \\q\\\\\\q\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3100: { + "resource_type": "desc", + "id": "3100", + "name": "Solar Panel", + "text": "Most experienced traders will recommend that you buy at least one of these Sigma N41 Solar Panels. They work by converting the energy of nearby stars, via super-efficient photo-voltaic cells, into electrical energy to continually build up charge in the superconductor loops which store the energy for later use. The energy thus stored can the be called upon to slowly build up the reserves in your energy cells. Comes in handy when you find yourself out of energy in an uninhabited system with no help in sight.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3101: { + "resource_type": "desc", + "id": "3101", + "name": "Nanites", + "text": "Krypt has no weapons; why should she have? As far as she is concerned, she is the only life-form in the universe. Krypt is, however, very curious. She will send out colonies of nanites from her roving spheres to explore strange asteroids and other phenomena. These colonies will latch on to material in space, and start exploring the composition. This has a devastating effect on ships.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3102: { + "resource_type": "desc", + "id": "3102", + "name": "Solar Lance", + "text": "The Solar Lance is the defensive mechanism of the Hyperioids. A Hyperioid can generate a significant charge by rotating its pods around its body at a high rate of speed. The Solar Lance uses this charge to propel photons out of the Hyperioid's feeding orifice. The resulting beam weapon is very dangerous; contact should be avoided at all costs.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3103: { + "resource_type": "desc", + "id": "3103", + "name": "WGB (A)", + "text": "The Wraith have evolved a focused graviton beam as a territorial display, and as a weapon in mating rituals. As the Wraith evolved into an intelligent species, their beams became defensive weapons as well. The highly focused gravitons cause severe damage to unshielded vessels. Armor plates of lesser ships have been known to simply shear off under the force.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3104: { + "resource_type": "desc", + "id": "3104", + "name": "WGB (Y)", + "text": "Despite not being as powerful as that of an adult Wraith, the graviton beam produced by young Wraith is still a formidable weapon. It gives pause to smaller ships, and can inflict serious damage on larger ships if unchecked.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3105: { + "resource_type": "desc", + "id": "3105", + "name": "WGB (C)", + "text": "The children of the Wraith use their underdeveloped beams to divert the courses of small meteors in games of skill and dexterity. They're not much good for anything else.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3106: { + "resource_type": "desc", + "id": "3106", + "name": "Rebel Cloaking Device - legal", + "text": "With the help of Polaris scientists and engineers, the Rebels were able to build cloaking devices that fold the fabric of space around a ship, leaving it undetectable by any current sensor array. More than a few undercover Rebel ships have been fitted with this upgrade as an insurance policy against Bureau discovery.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3107: { + "resource_type": "desc", + "id": "3107", + "name": "Matter/Anti-Matter Reactor", + "text": "Humanity has been trying to figure out ways of controlling a matter/anti-matter reaction so as to gain access to an enormous, virtually undepletable energy source for nearly two millennia. When P'Ardandt discovered that particular high energy frequency EM fields could be used to 'resonate' with varying sized particles of matter and anti-matter, the matter/anti-matter reactor became a reality, ensuring near-limitless power to any machine connected to it{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3108: { + "resource_type": "desc", + "id": "3108", + "name": "Fuel Transfer", + "text": "No desc req'd", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3109: { + "resource_type": "desc", + "id": "3109", + "name": "Map", + "text": "No desc req'd", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3110: { + "resource_type": "desc", + "id": "3110", + "name": "Civilian IR Jammer", + "text": "Just traveling the space lanes can be dangerous, what with the pirates as well as the Aurorans and the Federation fighting. So it never hurts to have a little insurance against some of their long range attacks to give you some time to get away. This simple system merely fires a low-power laser into the IR sensor of the incoming missile, hopefully burning it out. The technology is still a little bit hit-and-miss, but it sure beats nothing.\\n\\nRequires: Protective Technologies License{b424 \\q\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3111: { + "resource_type": "desc", + "id": "3111", + "name": "Civilian Radar Jammer", + "text": "Like the IR Jammer, this system is a cheap, low power rip-off of the military models. It works by flooding the space directly surrounding your ship with incoherent signals. Unfortunately, due to the low power of this model (which has more to do with legal restrictions than any engineering faults), many missiles still manage to get through.\\n\\nRequires: Protective Technologies License{b424 \\q\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3112: { + "resource_type": "desc", + "id": "3112", + "name": "Military IR Jammer", + "text": "This system is the top of the line in IR missile protection. It sends out a short laser burst at the incoming missile, disabling its sensor 'eye' and causing it to wander off target. Recent developments in this technology have improved its reliability, and very few missiles make it through its 'screen'.\\n\\nRequires: Protective Technologies {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3113: { + "resource_type": "desc", + "id": "3113", + "name": "Military Radar Jammer", + "text": "This is a much higher power version of the Civilian Radar Jammer. It creates a lot more sensor interference and so is correspondingly much better at confusing the incoming missiles. This system has recently been tested against the Aurorans radar missiles and has shown itself to be enormously effective, but it has not yet been issued to all Federation capital ships.\\n\\nRequires: Protective Technologies {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3114: { + "resource_type": "desc", + "id": "3114", + "name": "Auroran IR Jammer", + "text": "During their interminable wars, the first missile to be used successfully by the Aurorans was the IR missile. For a while they were produced in huge quantities, but now, due to the effectiveness of this system, they are all but extinct within the Auroran Empire. Even the Federation has copied its design of firing a laser at the sensor 'eye' of the incoming missile for their systems as it is so effective{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3115: { + "resource_type": "desc", + "id": "3115", + "name": "Auroran Radar Jammer", + "text": "Only recently have the Aurorans managed to develop the technology to have any effect against radar guided missiles. They were able to salvage an old Federation radar counter-measures package and deconstruct it. The capabilities of the resulting system are still years behind those of the Federation, but it is better than nothing{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3116: { + "resource_type": "desc", + "id": "3116", + "name": "Polaris Jammer", + "text": "Although very few non-military Polaris ships venture out of Polaris space, for the sake of safety, a counter-measures system to foil the most common types of missile tracking (infra-red and radar) is available to all Polaris ships{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3117: { + "resource_type": "desc", + "id": "3117", + "name": "Nil'kemorya Jammer", + "text": "Unlike their civilian counterparts, the ships of the Nil'kemorya are forced to deal with hostile forces quite often. To help them deal with the problem, P'aedt scientists and Ver'ash engineers have come up with this system that detects the electron movements common to most guidance systems and then shorts them out by creating an electromagnetic field in the surrounding space that is directly inverse to the fields of the incoming missiles{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3118: { + "resource_type": "desc", + "id": "3118", + "name": "Rebel IR Jammer", + "text": "Stolen from the Federation military by General Cade 'Sundown' Smart, this system has been tinkered with by Donald Chick and his staff of engineers, and while they have made a few minor improvements, the end result is barely different from the original Federation designs in effectiveness{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3119: { + "resource_type": "desc", + "id": "3119", + "name": "Rebel Radar Jammer", + "text": "Unlike their Federation counterparts, the Rebels have rushed this piece of equipment into production to make it standard throughout their fleet. Already all the capital ships carry them, and it will not be long before the heavy interceptors get them also. Of course, the Rebel fleet is much smaller than that of the Federation, so it is a lot easier to get all the new technology out to its ships{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3120: { + "resource_type": "desc", + "id": "3120", + "name": "Pirate Jammer", + "text": "This is another Olaf Greyshoulders special. He took the recent Federation improvements in radar countermeasures and combined them with their already excellent infra-red systems. The end result is a little bulkier, but performs both jobs admirably. 'Free traders' from all over are buying it, and Olaf is making a quiet killing{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3121: { + "resource_type": "desc", + "id": "3121", + "name": "Distract Sensors", + "text": "As your abilities grow, you are soon able to discern the workings of guided missiles from background space. It is a simple matter of twisting the surrounding space to confuse them.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3122: { + "resource_type": "desc", + "id": "3122", + "name": "Rebel Radar Jammer", + "text": "Unlike their Federation counterparts, the Rebels have rushed this piece of equipment into production to make it standard throughout their fleet. Already all the capital ships carry them, and it will not be long before the heavy interceptors get them also. Of course, the Rebel fleet is much smaller than that of the Federation, so it is a lot easier to get all the new technology out to its ships{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3123: { + "resource_type": "desc", + "id": "3123", + "name": "Vell-os Area Map", + "text": "With your telepathic senses, you can reach out and observe the physical nature of the universe around. The further out you get, the harder it is to make out distinctive features, but it does allow you a greater understanding of the local area of the universe than any human map.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3124: { + "resource_type": "desc", + "id": "3124", + "name": "Physical Sense", + "text": "No desc req'd", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3125: { + "resource_type": "desc", + "id": "3125", + "name": "Hostility Sense", + "text": "No desc req'd", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3126: { + "resource_type": "desc", + "id": "3126", + "name": "Wraith Cannon", + "text": "Wraithii are tiny capsules of polarons contained in a mar-graviton field. A Wraith Cannon fires these capsules via simple biomechanics, and the capsules burst on impact, releasing a powerful kinetic force. These guns are mounted as standard on the Dragon, a Polaris vessel, but can be retrofitted to most ships on the market. Ever since this technology was stolen from the Polaris in a daring raid, Federation scientists, while capable of duplicating the technology, have been having problems understanding it...", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3127: { + "resource_type": "desc", + "id": "3127", + "name": "Wraithii", + "text": "The polarons for Wraithii are harvested by deep-space mining scoops manned usually by hard-core prospectors. These polarons are then shipped to military installations for encapsulation in the mar-graviton field (a type of field that Federation scientists are still struggling to understand) that will hold them until they impact at a speed of greater than 20 kilometers an hour. Needless to say, the final packets are handled with kid gloves. It is a testament to the safety protocols put in place by the Bureau that only a few minor accidents have ever occurred since they stole the plans for this weapon from the Polaris...", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3128: { + "resource_type": "desc", + "id": "3128", + "name": "Battery Pack", + "text": "Most traders who have been working in space for more than a few years have at least one of these fitted onto their vessels. In over a thousand years this simple design of several interlocking superconductor rings has remained virtually unchanged and has provided extra energy storage for countless numbers of ships, giving them that extra jump that everyone so often needs.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3129: { + "resource_type": "desc", + "id": "3129", + "name": "Heavy Weapons License", + "text": "Heavy Weapons License:\\n\\nThe Holder of this License is able to purchase the following items classed as 'Heavy Weapons' by the Federation Security Council: Medium Blaster, Medium Blaster Turret, Heavy Blaster Turret (subject to military approval), Quad Light Blaster Turret (also requires 'Protective Technologies License' and subject to military approval), Thunderhead Lance.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3130: { + "resource_type": "desc", + "id": "3130", + "name": "Missile Weapons License", + "text": "Missile Weapons License:\\n\\nThe Holder of this License is able to purchase the following items classed as 'Missile Weapons' by the Federation Security Council: IR Missile Launcher, IR Missile, Radar Missile Launcher, Radar Missile, Gravimetric Missile Launcher (subject to military approval), Gravimetric Missile (subject to military approval).", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3131: { + "resource_type": "desc", + "id": "3131", + "name": "Fighter Bay License", + "text": "Fighter Bay License:\\n\\nThe Holder of this License is able to purchase the following items classed as 'Fighter Bays' or as 'Carried Fighters' by the Federation Security Council: Thunderhead Bay, Thunderhead, Viper Bay (subject to military approval), Viper (subject to military approval), Anaconda Bay (subject to military approval), Anaconda (subject to military approval).", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3132: { + "resource_type": "desc", + "id": "3132", + "name": "Protective Technologies License", + "text": "Protective Technologies License:\\n\\nThe Holder of this License is able to purchase the following items classed as 'Protective Technologies' by the Federation Security Council: Quad Light Blaster Turret (also requires 'Heavy Weapons License' and subject to military approval), Carbon Fiber, Titanium Lattice (subject to military approval), Shield Recharger (subject to military approval), Shield Buffer (subject to military approval), Civilian IR Jammer, Civilian Radar Jammer, Military IR Jammer (subject to military approval), Military Radar Jammer (subject to military approval).", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3133: { + "resource_type": "desc", + "id": "3133", + "name": "Thorium Reactor - Ionization", + "text": "This is what happens when you own a dodgy Thorium Reactor from \\qJoe's Magic Thorium Reactor Saleyard(tm)\\q. Having forked over your hard earned, you'll be willing to bet you'll find yourself getting kicked royally in the bum as your cheapo Thorium Reactor blows. You will probably be able to limp into port, so long as no pirates notice that you have little chance of evading them. Of course, if you want to sell it before this happens, be our guest.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3134: { + "resource_type": "desc", + "id": "3134", + "name": "Ion Dissipator", + "text": "This outfit, stolen from Rauther when the engineer Tomak Gemmell defected to the Rebellion, is actually a series of radiative surfaces that radiate the energy buildup that causes ionization out into the surrounding space, allowing ships to function more fully under an ionizing attack.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3135: { + "resource_type": "desc", + "id": "3135", + "name": "Capital Ships License", + "text": "Capital Ships License:\\n\\nThe Holder of this License is able to purchase the following ships classed as 'Capital Ships' by the Federation Security Council: Leviathan, Pegasus, Starliner, IDA Frigate (also requires 'Capital Warships License'), Federation Destroyer (also requires 'Capital Warships License' and subject to military approval), Federation Carrier (also requires 'Capital Warships License' and subject to military approval){P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3136: { + "resource_type": "desc", + "id": "3136", + "name": "Capital Warships License", + "text": "Capital Warships License:\\n\\nThe Holder of this License is able to purchase the following ships classed as 'Capital Warships' by the Federation Security Council: IDA Frigate, Federation Patrol Boat (subject to military approval), Federation Destroyer (also requires 'Capital Ships License' and subject to military approval), Federation Carrier (also requires 'Capital Ships License' and subject to military approval){P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3137: { + "resource_type": "desc", + "id": "3137", + "name": "Exotic Ships & Weapons License", + "text": "Exotic Ships & Weapons License:\\n\\nThe Holder of this License is able to purchase those ships and items classed as 'Exotic Ships' or as 'Exotic Weapons' and all items of any other classification as classified by the Federation Security Council{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3138: { + "resource_type": "desc", + "id": "3138", + "name": "Wraith Cloaking Device", + "text": "The Wraith have an instinctual ability to cloak. Much in the same way a human will put on a coat for certain situations, a Wraith will be able to cloak. It is a fairly big mystery how this occurs, but needless to say at one moment the Wraith will be there and the next it won't.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3139: { + "resource_type": "desc", + "id": "3139", + "name": "Wraith Fast Jump", + "text": "Living totally in the cold void of deep space has led to some amazing adaptations for the Wraith. The same evolutionary forces that led to opposable thumbs for humans has also led to unbelievable advantages for the wraith in their natural environment. While a human can run, jump and chew gum at the same time, a wraith may choose to jump at any time without slowing down to stop.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3140: { + "resource_type": "desc", + "id": "3140", + "name": "Cloaking Organ - Pol v1.0", + "text": "The Ver'ash, working with the P'aedt on data recovered from encounters with the Wraith, have managed to duplicate their 'cloaking' capabilities. There is still an energy signature that can be easily be read by most sensor systems, but any ship with the Cloaking Organ is invisible to the naked eye and is extremely difficult to target.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3141: { + "resource_type": "desc", + "id": "3141", + "name": "Cloaking Organ - Pol v1.0", + "text": "With a great deal of research and exhaustive trials, the Ver'ash, working with the P'aedt, have improved upon their original Cloaking Organ. No longer does the organ leave behind a noticeable energy signature, making the cloaked ship almost impossible to detect.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3142: { + "resource_type": "desc", + "id": "3142", + "name": "Asteroid Mining Laser", + "text": "When mankind first began exploring space, one of the many things they were looking for was new sources of raw materials, and the asteroids of many systems proved to hold a relative bonanza of near-pure metals and minerals. The Pyrogenesis Asteroid Mining Laser is the tool of choice to break up passing asteroids and to get at the contained metals. Over the past millennia, the basic design has changed only minimally, but it still remains popular with asteroid prospectors the galaxy over.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3143: { + "resource_type": "desc", + "id": "3143", + "name": "Asteroid Scoop", + "text": "For the would-be asteroid prospector, this is the second piece of necessary equipment. Blowing up asteroids, while being fun, is only half the job; a prospector needs to be able to scoop up the resulting debris. The Asteroid Scoop is simply that, a small ram-scoop that picks up any useful products released in the break-up of an asteroid.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3144: { + "resource_type": "desc", + "id": "3144", + "name": "Dr. Ralph's Exploration Map", + "text": "No desc req'd", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3145: { + "resource_type": "desc", + "id": "3145", + "name": "Tunnelling Organ", + "text": "By observing the Wraith, the P'aedt learned that instead of projecting hyperspace around them and then moving, they tunnelled directly into hyperspace, allowing them to hyperjump without stopping. Now, with the experimental Tunnelling Organ, the Polaris are seeking to emulate this capability.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3146: { + "resource_type": "desc", + "id": "3146", + "name": "Tunnelling Organ", + "text": "By observing the Wraith, the P'aedt learned that instead of projecting hyperspace around them and then moving, they tunnelled directly into hyperspace, allowing them to hyperjump without stopping. Now, with the Tunnelling Organ, they have managed to emulate this remarkable capability.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3147: { + "resource_type": "desc", + "id": "3147", + "name": "Multi-Jump Organ", + "text": "The Ver'ash and the P'aedt, working together on Ver'a Se, have grown an organ that combines the tunnelling capabilities of the Wraith with more traditional hyperspace manipulation techniques. It enables a ship to change direction in hyperspace, allowing for multiple jumps to be performed as if performing a single jump.\\n\\nAs yet, only a maximum of ten jumps are possible due to organ fatigue, but it is a major leap forward for Polaris hyperspatial technology.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3148: { + "resource_type": "desc", + "id": "3148", + "name": "Polaron Multi-Torpedo Tube", + "text": "Like the simpler Polaron Torpedo Tube, this launcher ties into a ship's main computer core (or neural network, in the case of Polaris ships). It tracks nearby hostile ships, and then calculates the complex field generation parameters for the Polaron Flux Coils in the tube. By varying the quantity, spin and charge of the newly generated polarons, the tube can give the polaron 'virtual structure' allowing it to replicate itself into five separate copies that begin tracking the local hostile ships{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3149: { + "resource_type": "desc", + "id": "3149", + "name": "Polaron Multi-Torpedo", + "text": "The Polaron Multi-Torpedo takes non-corporeal engineering to the extreme. The charge and spin of the huge polaron virtual structure is set by the launcher at firing time, much like the simpler Polaron Torpedoes. However, in the case of the Multi-Torpedo, the chaos mathematics of the field interaction allows the neural net of the Polaris vessel to create virtual sub-structures that get activated shortly after launch, creating five simple Torpedoes all capable of attacking different targets{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3150: { + "resource_type": "desc", + "id": "3150", + "name": "Wraith Cannon", + "text": "Wraithii are tiny capsules of polarons contained in a mar-graviton field. A Wraith Cannon fires these capsules via simple biomechanics, and the capsules burst on impact, releasing a powerful kinetic force. These guns are mounted as standard on the Dragon, and can be retrofitted to most ships on the market. And now that they have been modified to allow them to shoot while the parent ship is cloaked, they are even more effective. The Nil'kemorya keep a careful eye on these weapons, however, and only the most favored of outsiders are ever allowed to buy them.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3151: { + "resource_type": "desc", + "id": "3151", + "name": "Wraithii", + "text": "The polarons for Wraithii are harvested by deep-space mining scoops run by the Tre'pira. These polarons are then shipped to P'aedt facilities for encapsulation in the mar-graviton field that will hold them until they impact at a speed of greater than 20 kilometers an hour. Needless to say, the final packets are handled with kid gloves. It is a testament to the Tre'pira and the P'aedt that no accidents with Wraithii have ever occurred.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3152: { + "resource_type": "desc", + "id": "3152", + "name": "Polaron Torpedo Tube", + "text": "This launcher ties into a ship's main computer core (or neural network, in the case of Polaris ships). It tracks a target ship, and then calculates the complex field generation parameters for the Polaron Flux Coils in the tube. By varying the quantity, spin and charge of the newly generated polarons, the tube can give the polaron 'virtual structure' a good bead on a target before the preprogrammed field generator in the heart of the energy burst takes over. And with a few relatively minor adjustments, it is now possible to use this weapon while the parent ship is cloaked{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3153: { + "resource_type": "desc", + "id": "3153", + "name": "Polaron Torpedo", + "text": "Having no mass, the Polaron Torpedo is a masterpiece of non-corporeal engineering. The charge and spin of the huge polaron virtual structure is set by the launcher at firing time. The chaos mathematics of the field interaction is calculated by the neural net of the Polaris vessel, which makes sure that the field will collapse in such a way that it will steer toward the target from the tube. A tiny field generator hovering in the middle of the torpedo modifies the field strengths to correct for mid-flight target variations{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3154: { + "resource_type": "desc", + "id": "3154", + "name": "Polaron Multi-Torpedo Tube", + "text": "Like the simpler Polaron Torpedo Tube, this launcher ties into a ship's main computer core (or neural network, in the case of Polaris ships). It tracks nearby hostile ships, and then calculates the complex field generation parameters for the Polaron Flux Coils in the tube. By varying the quantity, spin and charge of the newly generated polarons, the tube can give the polaron 'virtual structure' allowing it to replicate itself into five separate copies that begin tracking the local hostile ships. And, again like the simpler version, the Multi-Torpedo Tube is also now capable of being fired while cloaked{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3155: { + "resource_type": "desc", + "id": "3155", + "name": "Polaron Multi-Torpedo", + "text": "The Polaron Multi-Torpedo takes non-corporeal engineering to the extreme. The charge and spin of the huge polaron virtual structure is set by the launcher at firing time, much like the simpler Polaron Torpedoes. However, in the case of the Multi-Torpedo, the chaos mathematics of the field interaction allows the neural net of the Polaris vessel to create virtual sub-structures that get activated shortly after launch, creating five simple Torpedoes all capable of attacking different targets{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3156: { + "resource_type": "desc", + "id": "3156", + "name": "Pirate Thunderhead Bay", + "text": "The schematics for this Pirate Thunderhead bay look both impressive and practical, but you're a bit unsure as to how you'll fit it to your current vessel, although having the ability to launch three Pirate Thunderheads at your foes could never hurt{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3157: { + "resource_type": "desc", + "id": "3157", + "name": "Pirate Thunderhead", + "text": "The Pirate Thunderhead, like its civilian cousin, is so named for its main weapon, the Thunderhead Lance. Upgraded beyond even the deadly capabilities of the basic Thunderhead, this pirate version has enough armor to allow it to go up against even the largest ships, and enough speed to allow it to stay with most craft that try to flee{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3158: { + "resource_type": "desc", + "id": "3158", + "name": "Firebird Bay", + "text": "The Auroran shipwrights can install the electromag catapults for Firebird launching quite quickly. The conversion also includes the appropriate Firebird housing facilities, allowing for a maximum of six of them{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3159: { + "resource_type": "desc", + "id": "3159", + "name": "Firebird", + "text": "Firebirds are the main Auroran fighter. Their engines are simple, to say the least. Their task is to protect the Phoenix from attack by smaller fighters such as the Viper, while the Phoenix take on the heavier ships. The Firebird is slower than the Viper, but not by enough to give the Viper a decisive edge. Battles between the two often come down to individual skill. Many a Federation/Auroran border skirmish has come to a halt while the two sides watch a Firebird/Viper dogfight between renowned pilots{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3160: { + "resource_type": "desc", + "id": "3160", + "name": "Firebird Bay", + "text": "The Auroran shipwrights can install the electromag catapults for Firebird launching quite quickly. The conversion also includes the appropriate Firebird housing facilities, allowing for a maximum of six of them{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3161: { + "resource_type": "desc", + "id": "3161", + "name": "Firebird", + "text": "Firebirds are the main Auroran fighter. Their engines are simple, to say the least. Their task is to protect the Phoenix from attack by smaller fighters such as the Viper, while the Phoenix take on the heavier ships. The Firebird is slower than the Viper, but not by enough to give the Viper a decisive edge. Battles between the two often come down to individual skill. Many a Federation/Auroran border skirmish has come to a halt while the two sides watch a Firebird/Viper dogfight between renowned pilots{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3162: { + "resource_type": "desc", + "id": "3162", + "name": "Phoenix Bay", + "text": "Phoenix bays are noisy, smelly and generally fairly grimy. If you can put up with this, you'll have some serious mobile firepower at your disposal, as the bay is capable of housing up to three of these vicious little fighters{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3163: { + "resource_type": "desc", + "id": "3163", + "name": "Phoenix", + "text": "The Phoenix is yet another example of the Auroran will to survive. The Phoenix is slow and turns badly. One would think that it would be target practice for enemy pilots. It is, but it has one redeeming feature: it has almost as good armor plating as a Thunderhead. They plough through fire corridors with impunity, and attack in groups to maximize firepower. The Phoenix can wear a missile from an Anaconda, but a Viper will stay on its tail and pound it mercilessly. Suffice to say that Phoenix pilots suffer the greatest rate of attrition of any group in the Auroran armed forces{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3164: { + "resource_type": "desc", + "id": "3164", + "name": "Phoenix Bay", + "text": "Phoenix bays are noisy, smelly and generally fairly grimy. If you can put up with this, you'll have some serious mobile firepower at your disposal, as the bay is capable of housing up to three of these vicious little fighters{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3165: { + "resource_type": "desc", + "id": "3165", + "name": "Phoenix", + "text": "The Phoenix is yet another example of the Auroran will to survive. The Phoenix is slow and turns badly. One would think that it would be target practice for enemy pilots. It is, but it has one redeeming feature: it has almost as good armor plating as a Thunderhead. They plough through fire corridors with impunity, and attack in groups to maximize firepower. The Phoenix can wear a missile from an Anaconda, but a Viper will stay on its tail and pound it mercilessly. Suffice to say that Phoenix pilots suffer the greatest rate of attrition of any group in the Auroran armed forces{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3166: { + "resource_type": "desc", + "id": "3166", + "name": "Pirate Viper Bay", + "text": "Pirates know about violence, and the threat of violence. They also know about hounding individual ships in packs. However, they also value speed, and the Pirate Viper Bay launches them far faster than any other type of bay outside of Polaris Space, allowing them to swarm over their foes with frightening rapidity. So despite only being able to house a maximum of two Pirate Vipers, many pirates vessels have at least one. With one of these bays on board, you'll have a fast pack at your disposal at all times{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3167: { + "resource_type": "desc", + "id": "3167", + "name": "Pirate Viper", + "text": "As soon as Comara released the Viper frame on the general market, a few shiploads of frames were bought up by notorious pirate shipwright Olaf Greyshoulders. He and his crew have totally refitted the shell, and the familiar shape of its advanced armor plating hides a wealth of minor and major improvements to the basic idea. But, as with all Greyshoulders upgrades, there is a hefty price to pay for the improved model. It's up to you to decide whether it's worth it{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3168: { + "resource_type": "desc", + "id": "3168", + "name": "Pirate Viper Bay", + "text": "Pirates know about violence, and the threat of violence. They also know about hounding individual ships in packs. However, they also value speed, and the Pirate Viper Bay launches them far faster than any other type of bay outside of Polaris Space, allowing them to swarm over their foes with frightening rapidity. So despite only being able to house a maximum of two Pirate Vipers, many pirates vessels have at least one. With one of these bays on board, you'll have a fast pack at your disposal at all times{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3169: { + "resource_type": "desc", + "id": "3169", + "name": "Pirate Viper", + "text": "As soon as Comara released the Viper frame on the general market, a few shiploads of frames were bought up by notorious pirate shipwright Olaf Greyshoulders. He and his crew have totally refitted the shell, and the familiar shape of its advanced armor plating hides a wealth of minor and major improvements to the basic idea. But, as with all Greyshoulders upgrades, there is a hefty price to pay for the improved model. It's up to you to decide whether it's worth it{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3170: { + "resource_type": "desc", + "id": "3170", + "name": "Rebel Viper Bay", + "text": "Mr. Donald Chick and his engineers have spent years trying to adapt the enormous fighter bays so that they can be fitted into the relatively small ships that the Rebels have managed to get their hands on. With it, you will be able to hold and launch up to four of the upgraded Rebel Vipers. As far as adaptive engineering solutions go, this one certainly stands up well...", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3171: { + "resource_type": "desc", + "id": "3171", + "name": "Rebel Viper", + "text": "When General (ret) Cade 'Sundown' Smart defected to the Rebellion, he brought with him plans for all Federation vessels, and also intelligence on many ships used by other governments. With this in hand, Donald Chick and his engineers set to work building and upgrading existing ships. The resulting variant of the Viper is virtually unmatched anywhere in space.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3172: { + "resource_type": "desc", + "id": "3172", + "name": "Rebel Viper Bay", + "text": "Mr. Donald Chick and his engineers have spent years trying to adapt the enormous fighter bays so that they can be fitted into the relatively small ships that the Rebels have managed to get their hands on. With it, you will be able to hold and launch up to four of the upgraded Rebel Vipers. As far as adaptive engineering solutions go, this one certainly stands up well...", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3173: { + "resource_type": "desc", + "id": "3173", + "name": "Rebel Viper", + "text": "When General (ret) Cade 'Sundown' Smart defected to the Rebellion, he brought with him plans for all Federation vessels, and also intelligence on many ships used by other governments. With this in hand, Donald Chick and his engineers set to work building and upgrading existing ships. The resulting variant of the Viper is virtually unmatched anywhere in space.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3174: { + "resource_type": "desc", + "id": "3174", + "name": "Rebel Viper Bay", + "text": "Mr. Donald Chick and his engineers have spent years trying to adapt the enormous fighter bays so that they can be fitted into the relatively small ships that the Rebels have managed to get their hands on. With it, you will be able to hold and launch up to four of the upgraded Rebel Vipers. As far as adaptive engineering solutions go, this one certainly stands up well...", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3175: { + "resource_type": "desc", + "id": "3175", + "name": "Rebel Viper", + "text": "When General (ret) Cade 'Sundown' Smart defected to the Rebellion, he brought with him plans for all Federation vessels, and also intelligence on many ships used by other governments. With this in hand, Donald Chick and his engineers set to work building and upgrading existing ships. The resulting variant of the Viper is virtually unmatched anywhere in space.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3176: { + "resource_type": "desc", + "id": "3176", + "name": "Rebel Viper Bay", + "text": "Mr. Donald Chick and his engineers have spent years trying to adapt the enormous fighter bays so that they can be fitted into the relatively small ships that the Rebels have managed to get their hands on. With it, you will be able to hold and launch up to four of the upgraded Rebel Vipers. As far as adaptive engineering solutions go, this one certainly stands up well...", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3177: { + "resource_type": "desc", + "id": "3177", + "name": "Rebel Viper", + "text": "When General (ret) Cade 'Sundown' Smart defected to the Rebellion, he brought with him plans for all Federation vessels, and also intelligence on many ships used by other governments. With this in hand, Donald Chick and his engineers set to work building and upgrading existing ships. The resulting variant of the Viper is virtually unmatched anywhere in space.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3178: { + "resource_type": "desc", + "id": "3178", + "name": "Viper bay", + "text": "A few days is all it takes to convert sections of your ship into a launchbay for Viper fighters. The conversion comes complete with everything you'll need to refuel, re-arm and service a maximum force of four Vipers.\\n\\nRequires: Fighter Bay {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3179: { + "resource_type": "desc", + "id": "3179", + "name": "Viper", + "text": "With the rapid development of space flight, it was inevitable that sports (particularly racing) would come to fruition sooner rather than later. Power Sled racing stood up to the challenge. A few intrepid hot-rodders noticed that one particular sled, the Viper, took very well to a bit of extra weight in the form of armor and armament. With a little engine tweaking, these modified Vipers, designated F-23, were selected by the Federation as the mainstay of their fighter wings.\\n\\nRequires: Fighter Bay {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3180: { + "resource_type": "desc", + "id": "3180", + "name": "Viper bay", + "text": "A few days is all it takes to convert sections of your ship into a launchbay for Viper fighters. The conversion comes complete with everything you'll need to refuel, re-arm and service a maximum force of four Vipers.\\n\\nRequires: Fighter Bay {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3181: { + "resource_type": "desc", + "id": "3181", + "name": "Viper", + "text": "With the rapid development of space flight, it was inevitable that sports (particularly racing) would come to fruition sooner rather than later. Power Sled racing stood up to the challenge. A few intrepid hot-rodders noticed that one particular sled, the Viper, took very well to a bit of extra weight in the form of armor and armament. With a little engine tweaking, these modified Vipers, designated F-23, were selected by the Federation as the mainstay of their fighter wings.\\n\\nRequires: Fighter Bay {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3182: { + "resource_type": "desc", + "id": "3182", + "name": "Anaconda Bay", + "text": "Anacondas can provide long-range intercept capability for a vessel. This bay allows you to outfit a maximum of two of them.\\n\\nRequires: Fighter Bay {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3183: { + "resource_type": "desc", + "id": "3183", + "name": "Anaconda", + "text": "The main problem with the Viper as a fighter craft is a complete lack of any form of explosive projectile. A new variant that has the 'long distance kill' capacity, based on the Viper chassis, has been the Federation's choice of Space Superiority Fighter ever since. Although this ship, named the Anaconda, suffers from a slightly slower acceleration and top speed than the Viper, its ability to destroy enemy fighters before that fighter can get within gun range more than compensates.\\n\\nRequires: Fighter Bay {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3184: { + "resource_type": "desc", + "id": "3184", + "name": "Anaconda Bay", + "text": "Anacondas can provide long-range intercept capability for a vessel. This bay allows you to outfit a maximum of two of them.\\n\\nRequires: Fighter Bay {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3185: { + "resource_type": "desc", + "id": "3185", + "name": "Anaconda", + "text": "The main problem with the Viper as a fighter craft is a complete lack of any form of explosive projectile. A new variant that has the 'long distance kill' capacity, based on the Viper chassis, has been the Federation's choice of Space Superiority Fighter ever since. Although this ship, named the Anaconda, suffers from a slightly slower acceleration and top speed than the Viper, its ability to destroy enemy fighters before that fighter can get within gun range more than compensates.\\n\\nRequires: Fighter Bay {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3186: { + "resource_type": "desc", + "id": "3186", + "name": "Chrome Valk Upgrade", + "text": "Sigma Shipyard engineers recently came up with a relatively simple process for upgrading the standard Starbridge into the far more capable Starbridge C, most commonly known as the Chrome Valkyrie for reasons known only to its original designers. The process takes barely 24 hours and at the end of it the new ship is ready for action. The only drawback is that the process will strip all of your outfits from your old model and only leaves the 'standard' fittings for the Starbridge C type{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3187: { + "resource_type": "desc", + "id": "3187", + "name": "Rebel Starbridge Upgrade", + "text": "Before he defected, Mr. Donald Chick and his engineers were working on processes of updating older versions of spare vessels to later models. Since then he has perfected the techniques required, and here is the resulting process to upgrade a standard Starbridge to the slightly more capable Rebellion standard type. It takes just short of 24 hours and strips all excess outfits, leaving only those outfits defined as standard for the Rebel version. However it is cheap, and relatively simple{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3188: { + "resource_type": "desc", + "id": "3188", + "name": "Rebel Valkyrie Upgrade", + "text": "Before he defected, Mr. Donald Chick and his engineers were working on processes of updating older versions of spare vessels to later models. Since then he has perfected the techniques required, and here is the resulting process to upgrade a standard Valkyrie to the slightly more capable Rebellion standard type. It takes just short of 24 hours and strips all excess outfits, leaving only those outfits defined as standard for the Rebel version. However it is cheap, and relatively simple{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3189: { + "resource_type": "desc", + "id": "3189", + "name": "Pirate Starbridge Upgrade", + "text": "In a direct rip-off of the Sigma Shipyards upgrading process (which was probably taken from the upgrading process used by engineers working for the Rebellion), underhanded outfitters can now upgrade your standard Starbridge to the base level Pirate type. Like the Sigma Shipyards process, all existing outfits are stripped from your vessel, leaving only those outfits deemed to be standard according to the new vessel type{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3190: { + "resource_type": "desc", + "id": "3190", + "name": "Pirate Valkyrie Upgrade", + "text": "With only a few relatively minor modifications, many shady outfitters have been able to take the Sigma Shipyards Starbridge upgrading process and use it to upgrade standard Valkyries to the much more feared pirate type. Like all processes of this type, all existing outfits are stripped from your vessel, leaving only those outfits deemed to be standard according to the parameters of the new model{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3191: { + "resource_type": "desc", + "id": "3191", + "name": "Drop Bear Repellant", + "text": "You are a little dubious as to the veracity of the claims of this shifty, grinning merchant trying to sell you bottles of Auroran Drop Bear repellant. But you cannot help feeling that anything that helps protect you from the well-documented deadly Drop Bear attacks will stand you in good stead.\\n\\nStill, it is strange that just about everyone who walks past you starts grinning and shaking their heads as you consider buying from the smiling merchant...", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3192: { + "resource_type": "desc", + "id": "3192", + "name": "Medium Blaster", + "text": "Pyrogenesis' midrange product is the unimaginatively named Medium Blaster. This variant is normally carried by capital ships only; the weight alone makes it difficult for anything smaller to mount it. While it's slower and more bulky than its lesser sibling, the Medium Blaster is much more powerful. The lack of a turret mechanism does drop the weight some. And you can buy it here without a license, but you had better be wary of Federation scans..{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3193: { + "resource_type": "desc", + "id": "3193", + "name": "MB Turret", + "text": "The Medium Blaster really comes into its own when it becomes turreted. Combined with sophisticated Glenn:Cyber targeting scopes, these weapons score easy hits on all but the smallest space vessels. The Medium Blaster Turret does tend to lag a little on the faster capital ships. The IDA Frigate mounted two of these batteries as standard. And you can buy it here without a license, but you had better be wary of Federation scans..{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3194: { + "resource_type": "desc", + "id": "3194", + "name": "HB Turret", + "text": "So big and slow that only a turret mechanism allows it to hit anything at all, the Heavy Blaster Turret is the grand-daddy of the Pyrogenesis line of directed energy firepower. Mounted as standard on the E-60 Carrier, the pride of the Federation fleet, the Heavy Blaster chews through shields and armor alike. The short range and slow speed of the enormous packets limit the effectiveness of this weapon at anything other than boarding range. And you can buy it here without a license, but you had better be wary of Federation scans...", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3195: { + "resource_type": "desc", + "id": "3195", + "name": "QLB Turret", + "text": "Comprised of quadruple Pyrogenesis Light Blasters on the most technically advanced turret they offer, the Quad Light Blaster system comes with a guarantee that it will dispose of your hostile fighter problems once and for all. Shipboard gunners salivate at the thought of being permanently assigned to one of these beauties. While the QLB System is heavy, it pours a truly prodigious amount of fire into enemy fighter squadrons, and creates havoc in the ranks of even the most disciplined fighter wings. And you can buy it here without a license, but you had better be wary of Federation scans...", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3196: { + "resource_type": "desc", + "id": "3196", + "name": "IRM Launcher", + "text": "Kayel Solutions (KLSol) have won 'Best of Show' 26 years running for their clever adaptation of the Infrared Missile launcher. Based on the launcher mounted by the F-29 Anaconda and the E-41 Destroyer, the KLSol version is a tightly integrated set of standardized components that can easily swap between a hundred different classes of ship with only a minor, dealer serviceable tweak of the software. The KLSol IR Missile Launcher does produce a fair amount of heat for such a small unit, but it's easily compensated for. And you can buy it here without a license, but you had better be wary of Federation scans..{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3197: { + "resource_type": "desc", + "id": "3197", + "name": "IR Missile", + "text": "The Infrared Missile uses the simplest of tracking systems to deliver its small payload. It's not much to look at, but it's cheap and promiscuously available. The weapon itself can be loaded into a number of aftermarket launchers, including several highly illegal handheld ones used by Rebellion Vacuum Soldiers. And you can buy it here without a license, but you had better be wary of Federation scans..{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3198: { + "resource_type": "desc", + "id": "3198", + "name": "RM Launcher", + "text": "GLiMMER, a band of propellerheads turned pro, created the first modern radar guided missile and launcher system way back in 2045 AD. This design, produced under license by KLSol, is practically identical to that original design, albeit with KLSol's usual software driver genius. You can mount this unit in any spacefaring vessel with enough expansion space to hold it. There have even been some reports that it has been successfully incorporated into Auroran vessels! And you can buy it here without a license, but you had better be wary of Federation scans..{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3199: { + "resource_type": "desc", + "id": "3199", + "name": "Radar Missile", + "text": "Radar as a concept and as a useable weapons guidance system has been around since the middle of the twentieth century AD. As humanity reached for the stars they brought their technology with them, and radar, which is not reliant on a medium for effectiveness, quickly became a necessary tool for guiding missiles. This modern radar guided missile is a cheap GLiMMER knock-off. And you can buy it here without a license, but you had better be wary of Federation scans..{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3200: { + "resource_type": "desc", + "id": "3200", + "name": "Disabling FPC Turret", + "text": "As the FPC is cheap and easy to build the Auroran houses have opted to mount a turreted version of the cannon on almost all ships. This particular version has been designed to specifically disable yet not destroy any targeted ships. Auroran warriors use this weapon as their weapon of choice in their many and varied duels, and some even mount it as their standard battle weapon, claiming that they only wish to defeat their opponents, not destroy them.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3201: { + "resource_type": "desc", + "id": "3201", + "name": "Disabling RM Launcher", + "text": "Many Auroran warriors have taken the basic GLiMMER radar missile launchers and modified them to launch the modified disable-only radar missiles they use in their many space-based duels. The only main difference is a slightly wider bore so that the extra sensors required to sense ship activity can fit.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3202: { + "resource_type": "desc", + "id": "3202", + "name": "Disabling Radar Missile", + "text": "To allow them to conduct space-based, yet non-lethal duels, the Aurorans have been forced to add some fairly sophisticated sensory equipment to their radar missiles. The result is a missile with a slightly greater diameter than the basic radar missile design that allows warriors to fight to the utmost of their ability without fear of utterly destroying their opponents.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3203: { + "resource_type": "desc", + "id": "3203", + "name": "User Modified Ion Particle Cannon", + "text": "The Rauther Power Industries Ion Particle Cannon is amongst the most powerful directed energy weapons in the known galaxy. Mounted on a 360\u00a1/270\u00a1 firing platform, the weapons' accuracy is unmatched, delivering incredibly destructive pulses of charged helium nuclei. This particular version looks like it's a few decades old, and has been tinkered with and repaired by a number of different owners. A few backyard tinkerers, and even one major weapon corporations seem interested in buying it, but only so they can pull it apart and have a look at what's been done to it.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3204: { + "resource_type": "desc", + "id": "3204", + "name": "Ion Particle Cannon", + "text": "The Rauther Power Industries Ion Particle Cannon is amongst the most powerful directed energy weapons in the known galaxy. Mounted on a 360\u00a1/270\u00a1 firing platform, the weapons accuracy is unmatched, delivering incredibly destructive pulses of charged helium nuclei. The weapon's rotating phase excels in damaging shields and armor. The weapon's only major drawbacks are its heavy power requirement and large mass. And you can buy it here without a license, but you had better be wary of Federation scans..{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3205: { + "resource_type": "desc", + "id": "3205", + "name": "Sigma Engine Tune-up", + "text": "If you are prepared to pay the exorbitant price, the Sigma Shipyards engineers will go over the engines of your ship with a fine-tooth comb, bringing out every possible bit of performance from your engine. They will personalize every aspect of your engine to take advantage of every ounce of power, and make it as efficient as possible. The end result is an engine that will accelerate faster, have a higher top speed, allow for slightly better maneuverability and will be more energy-efficient when hyperspacin{P30\\qg.\\q \\qg.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3206: { + "resource_type": "desc", + "id": "3206", + "name": "Sigma Electrical Rewiring", + "text": "The electrical wiring of ships created on a production line is never very efficient, as manufacturers are more interested in cutting costs than creating a perfect electrical system. However, if you are prepared to pay the price, the Sigma engineers will rip out all the electrics of your ship and recraft them with far more attention to detail. The resulting system should slightly increase the capabilities of your sensors, and give a boost to both your shielding capacity and your recharge rat{P30\\qe.\\q \\qe.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3207: { + "resource_type": "desc", + "id": "3207", + "name": "Sigma Mount Reinforcement", + "text": "The limits of guns and turrets on most vessels are decided by safety engineers, but with a little bit of reinforcement, it becomes possible to increase those limits. The cost may be prohibitive, but for the ship captain who wants that much more firepower, the Sigma engineers will guarantee that by the time they are finished you should be able to fit four more guns and two more turrets to your vesse{P30\\ql.\\q \\ql.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3208: { + "resource_type": "desc", + "id": "3208", + "name": "T1 Strength", + "text": "Your power and skill match that of any Vell-os that has ever lived. There is very little in the universe that can harm you now.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3209: { + "resource_type": "desc", + "id": "3209", + "name": "T0 Strength", + "text": "Mighty beyond the understanding of even the Vell-os of old, your telepathic capabilities afford you protection against all but the most destructive of forces in the universe, and even they are often survivable.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3211: { + "resource_type": "desc", + "id": "3211", + "name": "Krypt Mind Attack", + "text": "MY BRAIN HURTS! This is a stupid d\u00ebsc to have to write. Who bloody knows? You can make people hurt with your brain! ", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3212: { + "resource_type": "desc", + "id": "3212", + "name": "Sigma Mass Expansion", + "text": "If you have a large enough ship, with lots of cargo space that you would like to swap out for a bit more weapons room, the Sigma Shipyards engineers can mount the required structural beams inside your ship and cut the necessary weapons ports in your hull. They don't recommend this procedure more than once, as it could start to destabilise your vessel, and once done, it is virtually impossible to undo, as they have to dramatically change the overall integrity of your hull. However, for a cost of 120 tons of cargo space, you can gain a total of 100 tons of room for any weapon emplacements you like{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3213: { + "resource_type": "desc", + "id": "3213", + "name": "Sigma Mass Addition", + "text": "The Sigma Shipyards engineers are capable of adding numerous small 'weapons pods' to the outside of your hull without seriously unbalancing your vessel. The result is a mere 5 extra tons of weapons space, but it is 5 tons gained without the loss of any cargo space and, as any pilot can tell you, that extra 5 tons can make all the difference{P30\\q.\\q \\q.\\n\\nREQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3214: { + "resource_type": "desc", + "id": "3214", + "name": "Area Map - Vell-os", + "text": "Placeholder text to prevent error from appearing on start-up. This description is never seen by the player.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3217: { + "resource_type": "desc", + "id": "3217", + "name": "Wraith Cannon", + "text": "Wraithii are tiny capsules of polarons contained in a mar-graviton field. A Wraith Cannon fires these capsules via simple biomechanics, and the capsules burst on impact, releasing a powerful kinetic force. These guns are mounted as standard on the Dragon, and can be retrofitted to most ships on the market. Only in recent times have the Polaris even allowed this item, which they consider to be low-tech, to be used by the Rebellion, and even then there were stringent controls placed upon them.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3218: { + "resource_type": "desc", + "id": "3218", + "name": "Wraithii", + "text": "The polarons for Wraithii are harvested by deep-space mining scoops run by the Polaris worker caste. These polarons are then shipped to P'aedt facilities for encapsulation in the mar-graviton field that will hold them until they impact at a speed of greater than 20 kilometers an hour. Needless to say, the final packets are handled with kid gloves. It is a testament to the capabilities of the Polaris that no accidents have ever occurred since they began shipping these weapons to the Rebellion.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3219: { + "resource_type": "desc", + "id": "3219", + "name": "Rebel Cloaking Device - illegal", + "text": "Rebel Scientists, working in conjunction with Polaris Ver'ash, have devised a cloaking device for rebel ships. Highly illegal, it is advised to not allow the customs inspector a good look at it. You will be able to cloak in space, thus becoming all but invisible to your foes.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3220: { + "resource_type": "desc", + "id": "3220", + "name": "Bureau Bomb Outfit Called Desc", + "text": "With a sudden whump, you realize that nobody escapes the Bureau that easily. As the expanding gases engulf your body you wish you had never gotten yourself involved with the Bureau in the first place...", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3230: { + "resource_type": "desc", + "id": "3230", + "name": "Thorium Reactor", + "text": "After much argument you discover that the main saving of mass and energy in this poorer cousin of the Thorium reactors in Federation Carriers and the new models of Starbridge is in its radiation shielding and reaction-containing walls. While it should work, if things go wrong, it may result in a rather large expanding ball of gas that you will end up being a part of{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3231: { + "resource_type": "desc", + "id": "3231", + "name": "Fission Reactor", + "text": "If pure safety is one of your major concerns when it comes to power systems, then you had better skip this item. However, if you want a quick power boost but do not have the cash or the clearance to buy the more expensive commercial items then this might be the answer. Still, you have more than a few doubts that it performs as well as the backyard tinkerer who built it says it should..{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3232: { + "resource_type": "desc", + "id": "3232", + "name": "Carbon Fiber", + "text": "The introduction of controlled impurities has made a relatively inexpensive process almost dirt cheap.\\n\\n\\qIt will degrade over time, {G\\qmate\\q \\qma'am\\q},\\q says the podgy grease-covered tinkerer, \\qSo you will have to regularly replace it. Once every six months or so should be fine, but if you let it go too long, you will end up with a very expensive paint job, and no protection whatsoever.{b424 \\q\\\\\\q\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\\\\\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3233: { + "resource_type": "desc", + "id": "3233", + "name": "Military IR Jammer", + "text": "This stolen version of the IR Jammer used by the Federation Navy was salvaged from a destroyed Federation Destroyer and then patched up. Highly illegal (and probably a little less capable than it was before its former housing was destroyed), but very inexpensive, it is still going to be far more capable than anything you can buy in the normal civilian market{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3234: { + "resource_type": "desc", + "id": "3234", + "name": "Military Radar Jammer", + "text": "This is actually a real Federation Navy Radar Jammer, salvaged from debris after a space battle and restored to nearly its former condition. However, it is highly illegal, but it is far better at confusing incoming missiles than the civilian version available nearly everywhere{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3235: { + "resource_type": "desc", + "id": "3235", + "name": "Exotic Ships & Weapons License", + "text": "The 'Exotic Ships & Weapons License' is the most expensive and the most sought-after license, as it gives you access to all of the outfits classified by the Federation Navy as requiring a license. The small hunched man before you grumpily informs you that his work will fool even the most capable sensor sweep by Federation interceptors{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3236: { + "resource_type": "desc", + "id": "3236", + "name": "Exotic Ships & Weapons License", + "text": "The 'Exotic Ships & Weapons License' is the most expensive and the most sought-after license, as it gives you access to all of the outfits classified by the Federation Navy as requiring a license. The small hunched man before you grumpily informs you that his work will fool even the most capable sensor sweep by Federation interceptors{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3246: { + "resource_type": "desc", + "id": "3246", + "name": "Thorium Reactor - bomb", + "text": "Warning klaxons sound as the safeguards on your Thorium Reactor begin to catastrophically fail. As explosions engulf your ship, you curse yourself for buying a cheap knock-off instead of the real thing...", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3247: { + "resource_type": "desc", + "id": "3247", + "name": "Fission Reactor - disabled", + "text": "All good things must come to an end, and unfortunately for this fission reactor, the end has come. Pure and simple, you need to sell it for whatever you can get (telling the new owner it is shagged or not) and get a new power source.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3248: { + "resource_type": "desc", + "id": "3248", + "name": "Carbon Fiber - disabled", + "text": "\\qIt looks like this is just starting to go,\\q says the podgy grease-covered tinkerer, \\qA nip and tuck here and there and it could be as good as new.\\q", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3249: { + "resource_type": "desc", + "id": "3249", + "name": "Carbon Fiber - disabled", + "text": "\\qIt looks like this is well on the way out,\\q says the podgy grease-covered tinkerer, \\qIf you want to return it to full effectiveness, you will need to replace most of it.\\q", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3250: { + "resource_type": "desc", + "id": "3250", + "name": "Carbon Fiber - degraded", + "text": "\\qIt looks like this is shot to pieces,\\q says the podgy grease-covered tinkerer, \\qThis is going to require a complete replace, I'm afraid.\\q", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3305: { + "resource_type": "desc", + "id": "3305", + "name": "Map", + "text": "This map will automatically update your ship's computer with information about the location and contents of the systems surrounding this one.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3306: { + "resource_type": "desc", + "id": "3306", + "name": "Map", + "text": "This map will automatically update your ship's computer with information about the location and contents of the systems surrounding this one.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3307: { + "resource_type": "desc", + "id": "3307", + "name": "Hellhound Missile Launcher", + "text": "In recent times the Federation has been trying to come up with something new between the radar missile and the nuclear torpedo. The end result has been this beauty. Hellhound missiles scare every ship captain who is unfortunate enough to be anywhere near the business end of this devastating weapon. This launcher gives you the capability to hurl these hellish thunderbolts at your enemies, something they will never forget.\\n\\nRequires: Missile Weapons {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3308: { + "resource_type": "desc", + "id": "3308", + "name": "Hellhound Missile", + "text": "Without a doubt, this is one of the most devastating missiles out there. Although technically radar-guided, it will burn through most forms of radar jamming, making it nearly impossible to shake, and it lasts just a little too long before detonating. With an excellent turn rate and a hefty payload, the hellhound missile is an excellent addition to any arsenal.\\n\\nRequires: Missile Weapons {P30\\qLicense\\q \\qLicense, REQUIRES YOU TO REGISTER EV NOVA\\q}{b424 \\q\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3309: { + "resource_type": "desc", + "id": "3309", + "name": "Armor Repair Droids", + "text": "These little droids, an invention by the redoubtable Dr. Sutherland, repair your armor while you are in flight. Not very pretty, but extremely effective, these little critters will make you the envy of every trader captain out there...", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3310: { + "resource_type": "desc", + "id": "3310", + "name": "Light Cannon", + "text": "When they were developing the Lightning Heavy Fighter, Rauther discovered that the traditional Light Blaster just didn't suit the ship's basic load-out. So they went away and tinkered with the design somewhat, and they came up with a weapon they called the Light Cannon. It isn't quite as powerful as the Light Blaster, but it fires faster, its shots reach a little further, and it takes up a little less space as well. Every Lightning to roll off their production line has three of them. Not all pilots like them, because they are twice as expensive as the ubiquitous Blaster, but most agree they are a somewhat better product...", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3311: { + "resource_type": "desc", + "id": "3311", + "name": "Exotic Ships & Weapons License", + "text": "The 'Exotic Ships & Weapons License' is the most expensive and the most sought after license, as it gives you access to all of the outfits classified by the Federation Navy as requiring a license. The small hunched man before you grumpily informs you that his work will fool even the most capable sensor sweep by Federation interceptors{b424 \\q.\\n\\nYou stare at this item, and the others around it, for several long, sad moments, knowing that you may never be able to buy any of them ever again.\\q \\q.\\q}", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3312: { + "resource_type": "desc", + "id": "3312", + "name": "TripHammer", + "text": "The Auroran Thunderforge is the pinnacle of current Auroran science. It combines many diverse elements with a distinctive Auroran flavour, and nothing typifies this more than the Triphammer. Thanks largely to Vell-os intervention, the Triphammer combines Vell-os energy principals with typical Auroran brutish technology. The cannon fires a cadmium telluride pellet which vaporizes during its flight. The particles left in its wake create a conduit for the real action to follow. The particle trail is a perfect channel to conduct an obscene amount of metaphasic energy, which arcs into the target with predictably devastating results. The Thunderforge itself was built as a suitable weapons platform for these mighty guns, and would be immeasurably weakened by their removal; they form an integral part of the ship's structure.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3313: { + "resource_type": "desc", + "id": "3313", + "name": "Transmission Jammer", + "text": "Heraan scientists quickly utilized technology stolen from the Federation during the Battle of Lesten and created the Transmission Jammer. It jams the signals being sent out so that reinforcement fleets will not receive notice to make their move. The military applications of this technology are immense, and especially for those involved in operations deep within enemy territory.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3314: { + "resource_type": "desc", + "id": "3314", + "name": "IFF Projector - Federation", + "text": "This outfit, based on technology stolen during the Battle of Lesten, will manipulate your IFF system to project a signal friendly to Federation forces, so that they will treat you as friendly unless directly attacked.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3315: { + "resource_type": "desc", + "id": "3315", + "name": "IFF Projector - Moash", + "text": "This outfit, based on technology stolen during the Battle of Lesten, will manipulate your IFF system to project a signal friendly to Moashi forces, so that they will treat you as friendly unless directly attacked.", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + } +} \ No newline at end of file diff --git a/worlds/evn/rules.py b/worlds/evn/rules.py index c6465c34f362..0efe4e530190 100644 --- a/worlds/evn/rules.py +++ b/worlds/evn/rules.py @@ -9,7 +9,8 @@ #from .logics import story_routes #from .locations import ev_location_bank from .rezdata.misns import misn_table -from .locations import loc_type_offset +#from .locations import loc_type_offset +from .apdata.offsets import offsets_table as loc_type_offset if TYPE_CHECKING: from .world import EVNWorld diff --git a/worlds/evn/world.py b/worlds/evn/world.py index c082035373af..7eb535dd27ae 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -14,7 +14,10 @@ from . import options as evn_options # rename due to a name conflict with World.options from .logics import story_routes, possible_regions, EVNStoryRoute, MISSION_BLOCKING_BIT -from .rezdata import misns, ships, outfits +from .rezdata import misns, ships, outfits, desc +from .apdata.offsets import offsets_table +from .apdata.customoutf import cust_outf_table +from .apdata.customdesc import cust_desc_table GAME_NAME = "EV Nova" @@ -164,7 +167,8 @@ def prep_plugins_output(self) -> str: # block_missions[self.options.chosen_string.value] = 0 #so we won't block the one that was chosen. - chosen_route = story_routes[self.options.chosen_string.value] + #chosen_route = story_routes[self.options.chosen_string.value] + chosen_route = self.get_chosen_string() # first, the column headers for column in misns.misn_columns.keys(): @@ -210,7 +214,7 @@ def prep_plugins_output(self) -> str: if column == check_target: # WARNING: if we ever change this format for location names, we need to change it in both the location creation code in locations.py and this export code here, to ensure the lookups work properly. We could consider making this more robust by storing the location name directly in the mission table, but that would require a lot of changes to the mission table and mission creation code, so for now we will just be careful to maintain this format. # So, consider fetching this somehow instead of reconstructing it from the mission name and ID. That would be more robust and less error prone, but would require a lot of changes to the mission table and mission creation code, so for now we will just be careful to maintain this format. - target_id = locations.loc_type_offset["misn"] + mission + target_id = offsets_table["misn"] + mission if target_id in locations.ev_location_bank: associated_location = locations.ev_location_bank[target_id] new_id = associated_location["address"] @@ -229,7 +233,7 @@ def prep_plugins_output(self) -> str: logger.info(f"Warning: on_success location id {target_id} for mission {temp_mission['name']} not found in location_id_to_name. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the mission table and location creation code to debug this issue.") output_file_string += default_val # elif column == "available_bits" and mission in block_missions.values(): - # output_file_string += f'"b{locations.loc_type_offset['misn-block']} & ({current_val})"\t' #we know it is a bit string, and we know these ones have bits, so don't need to protect as much + # output_file_string += f'"b{offsets_table['misn-block']} & ({current_val})"\t' #we know it is a bit string, and we know these ones have bits, so don't need to protect as much else: output_file_string += default_val output_file_string += "\r\n" @@ -256,7 +260,7 @@ def prep_plugins_output(self) -> str: if column == "availability": # We need to inject our special bit here as well, so the client can know when to unlock the ship. - target_id = items.type_offset["ship"] + ship + target_id = offsets_table["ship"] + ship if target_id in items.ev_item_bank: #associated_item = items.ev_item_bank[target_id] new_id = items.ev_item_bank[target_id]["code"] if "code" in items.ev_item_bank[target_id] else None @@ -293,12 +297,14 @@ def prep_plugins_output(self) -> str: output_file_string += "\r\n" # Outfits + # Now, due to the outf checks, we will always have outf data, so do the columns + # column titles + output_file_string += "\r\n" + for column in outfits.outf_columns.keys(): + output_file_string += f'"{outfits.outf_columns[column]}"\t' + output_file_string += "\r\n" + if (self.options.include_outfits): - # column titles - output_file_string += "\r\n" - for column in outfits.outf_columns.keys(): - output_file_string += f'"{outfits.outf_columns[column]}"\t' - output_file_string += "\r\n" # then, the outf data for outf in outfits.outf_table.keys(): temp_outf = outfits.outf_table[outf] @@ -311,7 +317,7 @@ def prep_plugins_output(self) -> str: if column == "availability": # We need to inject our special bit here as well, so the client can know when to unlock the outf. - target_id = items.type_offset["outf"] + outf + target_id = offsets_table["outf"] + outf if target_id in items.ev_item_bank: #associated_item = items.ev_item_bank[target_id] new_id = items.ev_item_bank[target_id]["code"] if "code" in items.ev_item_bank[target_id] else None @@ -347,6 +353,72 @@ def prep_plugins_output(self) -> str: output_file_string += default_val output_file_string += "\r\n" + # then, custom outfit checks + # these are used as LOCATIONS not ITEMS, even though they are in game items. + # meaning, use locations.ev_location_bank not items.ev_item_bank. + for coutf in cust_outf_table.keys(): + temp_coutf = cust_outf_table[coutf] + for column in outfits.outf_columns.keys(): + current_val = temp_coutf[column] + default_val = current_val + "\t" + col_anno = outfits.OutfDict.__annotations__[column] + if col_anno == str: + default_val = f'"{current_val}"\t' + + target_id = offsets_table["outf_cks"] + coutf + + if column == "on_purchase": + # We need to inject our special bit here as well, so the client can know when to unlock the outf. + if target_id in locations.ev_location_bank: + associated_location = locations.ev_location_bank[target_id] + new_id = associated_location["address"] + if (new_id is not None): + output_file_string += f'"b{new_id}"\t' + else: + logger.info(f"Warning: availability location {target_id} for outf {temp_coutf['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") + output_file_string += default_val + else: + #logger.info(f"Outf blocked (must have been ignored): {target_id} for outf {temp_coutf['name']}") + output_file_string += f'"b{MISSION_BLOCKING_BIT}"' + elif (column == "short_name"): + mwloc = self.multiworld.get_location(locations.ev_location_bank[target_id]["name"], self.player) # should be the populated items for my seed now (post shuffle and fill) + output_file_string += f'"{temp_coutf["name"]}\\\\n- {mwloc.player} -"\t' + else: + output_file_string += default_val + output_file_string += "\r\n" + + # Descriptions + # column titles + output_file_string += "\r\n" + for column in desc.desc_columns.keys(): + output_file_string += f'"{desc.desc_columns[column]}"\t' + output_file_string += "\r\n" + + # finally, custom desc data + for cdesc in cust_desc_table.keys(): + temp_desc = cust_desc_table[cdesc] + for column in desc.desc_columns.keys(): + current_val = temp_desc[column] + default_val = current_val + "\t" + col_anno = desc.DescDict.__annotations__[column] + if col_anno == str: + default_val = f'"{current_val}"\t' + + target_id = cdesc - offsets_table["desc_alt"] + offsets_table["outf_cks"] # get custom outf id + if column == "text": + #logger.info(f'trying to find desc for {target_id}, and I am player {self.player}') + # We need to inject our special bit here as well, so the client can know when to unlock the outf. + if target_id in locations.ev_location_bank: + mwloc = self.multiworld.get_location(locations.ev_location_bank[target_id]["name"], self.player) # should be the populated items for my seed now (post shuffle and fill) + output_file_string += f'"{temp_desc["name"]} will unlock {mwloc.item.name}"\t' # I don't know how to get the player name yet. mwloc.player is just my player id, becuase it it is my check. + else: + #logger.info(f"Outf blocked (must have been ignored): {target_id} for outf {temp_desc['name']}") + output_file_string += default_val + else: + output_file_string += default_val + output_file_string += "\r\n" + + logger.info(f"output file string prepared: {output_file_string[:1000]}...") # Log the first 1000 characters of the output for debugging purposes. Be careful with this if the output can be very large, as it may cause performance issues or clutter the logs. return output_file_string \ No newline at end of file From 9f5f1c8616676b8fe9b0f2f52bd176c138e07c9c Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Fri, 20 Feb 2026 16:55:25 -0800 Subject: [PATCH 13/30] EVN: feat: added another pilot with quicker start Added pilot option that starts with more money, Mod SB, and combat rating Removed a debug line Fixed char data --- worlds/evn/locations.py | 2 +- worlds/evn/rezdata/chars.py | 167 ++++++++++++++++++++++-------------- worlds/evn/world.py | 22 ++++- 3 files changed, 124 insertions(+), 67 deletions(-) diff --git a/worlds/evn/locations.py b/worlds/evn/locations.py index 2f59bd914453..b5e31676e449 100644 --- a/worlds/evn/locations.py +++ b/worlds/evn/locations.py @@ -101,7 +101,7 @@ def get_locations() -> Dict[int, EVNLocationData]: for coutf in cust_outf_table.keys(): temp_outf = cust_outf_table[coutf] loc_id = loc_type_offset["outf_cks"] + (int)(temp_outf["id"]) - logger.info(f'adding location (custom outf): {loc_id}, {temp_outf["name"]}') + #logger.info(f'adding location (custom outf): {loc_id}, {temp_outf["name"]}') ret_data[loc_id] = EVNLocationData( name=temp_outf["name"].strip() + "-" + temp_outf["id"], address=loc_id diff --git a/worlds/evn/rezdata/chars.py b/worlds/evn/rezdata/chars.py index 669cf013ea10..11b52968a896 100644 --- a/worlds/evn/rezdata/chars.py +++ b/worlds/evn/rezdata/chars.py @@ -45,78 +45,115 @@ class CharDict(TypedDict, total=False): resource_type: str - id: str + id: int name: str - cash: str - ship_type: str - system_1: str - system_2: str - system_3: str - system_4: str - government_1: str - status_1: str - government_2: str - status_2: str - government_3: str - status_3: str - government_4: str - status_4: str - combat_rating: str - intro_pict_1: str - intro_pict_2: str - intro_pict_3: str - intro_pict_4: str - pict_delay_1: str - pict_delay_2: str - pict_delay_3: str - pict_delay_4: str - intro_text: str + cash: int + ship_type: int + system_1: int + system_2: int + system_3: int + system_4: int + government_1: int + status_1: int + government_2: int + status_2: int + government_3: int + status_3: int + government_4: int + status_4: int + combat_rating: int + intro_pict_1: int + intro_pict_2: int + intro_pict_3: int + intro_pict_4: int + pict_delay_1: int + pict_delay_2: int + pict_delay_3: int + pict_delay_4: int + intro_text: int on_start: str - start_day: str - start_month: str - start_year: str + start_day: int + start_month: int + start_year: int date_prefix: str date_suffix: str - flags: str + flags: int end_of_resource: str char_table: Dict[int, CharDict] = { 128: { - "Resource Type": "char", - "ID": "128", - "Name": ".Trader", - "Cash": "25000", - "Ship Type": "128", - "System 1": "128", - "System 2": "136", - "System 3": "170", - "System 4": "184", - "Government 1": "-1", - "Status 1": "-1", - "Government 2": "-1", - "Status 2": "-1", - "Government 3": "-1", - "Status 3": "-1", - "Government 4": "-1", - "Status 4": "-1", - "Combat Rating": "0", - "Intro Pict 1": "8200", - "Intro Pict 2": "8201", - "Intro Pict 3": "8202", - "Intro Pict 4": "-1", - "Pict Delay 1": "45", - "Pict Delay 2": "45", - "Pict Delay 3": "45", - "Pict Delay 4": "-1", - "Intro Text": "-1", - "On Start": "", - "Start Day": "23", - "Start Month": "6", - "Start Year": "1177", - "Date Prefix": "", - "Date Suffix": " NC", - "Flags": "0x0001", - "End-of-resource": "EOR", - } + "resource_type": "char", + "id": "128", + "name": ".Trader", + "cash": "25000", + "ship_type": "128", + "system_1": "128", + "system_2": "136", + "system_3": "170", + "system_4": "184", + "government_1": "-1", + "status_1": "-1", + "government_2": "-1", + "status_2": "-1", + "government_3": "-1", + "status_3": "-1", + "government_4": "-1", + "status_4": "-1", + "combat_rating": "0", + "intro_pict_1": "-1", + "intro_pict_2": "-1", + "intro_pict_3": "-1", + "intro_pict_4": "-1", + "pict_delay_1": "-1", + "pict_delay_2": "-1", + "pict_delay_3": "-1", + "pict_delay_4": "-1", + "intro_text": "-1", + "on_start": "", + "start_day": "23", + "start_month": "6", + "start_year": "1177", + "date_prefix": "", + "date_suffix": " NC", + "flags": "0x0001", + "end_of_resource": "EOR" + }, + 129: { + "resource_type": "char", + "id": "129", + "name": ".Head Start", + "cash": "500000", + "ship_type": "165", # mod starbridge + "system_1": "128", + "system_2": "136", + "system_3": "170", + "system_4": "184", + "government_1": "-1", + "status_1": "-1", + "government_2": "-1", + "status_2": "-1", + "government_3": "-1", + "status_3": "-1", + "government_4": "-1", + "status_4": "-1", + "combat_rating": "1600", + "intro_pict_1": "-1", + "intro_pict_2": "-1", + "intro_pict_3": "-1", + "intro_pict_4": "-1", + "pict_delay_1": "-1", + "pict_delay_2": "-1", + "pict_delay_3": "-1", + "pict_delay_4": "-1", + "intro_text": "-1", + "on_start": "", + "start_day": "23", + "start_month": "6", + "start_year": "1177", + "date_prefix": "", + "date_suffix": " NC", + "flags": "0x0000", + "end_of_resource": "EOR" + } } \ No newline at end of file diff --git a/worlds/evn/world.py b/worlds/evn/world.py index 7eb535dd27ae..ef37c6bb8e09 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -14,7 +14,7 @@ from . import options as evn_options # rename due to a name conflict with World.options from .logics import story_routes, possible_regions, EVNStoryRoute, MISSION_BLOCKING_BIT -from .rezdata import misns, ships, outfits, desc +from .rezdata import misns, ships, outfits, desc, chars from .apdata.offsets import offsets_table from .apdata.customoutf import cust_outf_table from .apdata.customdesc import cust_desc_table @@ -418,6 +418,26 @@ def prep_plugins_output(self) -> str: output_file_string += default_val output_file_string += "\r\n" + # Chars + + # Actually, let's also throw in some pilot data options + output_file_string += "\r\n" + for column in chars.char_columns.keys(): + output_file_string += f'"{chars.char_columns[column]}"\t' + output_file_string += "\r\n" + # then, the data + for pilot in chars.char_table.keys(): + temp_char = chars.char_table[pilot] + for column in chars.char_columns.keys(): + current_val = temp_char[column] + default_val = current_val + "\t" + col_anno = chars.CharDict.__annotations__[column] + if col_anno == str: + default_val = f'"{current_val}"\t' + + output_file_string += default_val + output_file_string += "\r\n" + logger.info(f"output file string prepared: {output_file_string[:1000]}...") # Log the first 1000 characters of the output for debugging purposes. Be careful with this if the output can be very large, as it may cause performance issues or clutter the logs. From 8e384e14411a0c4291706ce72e8ab4b6375cd635 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sat, 28 Feb 2026 21:47:56 -0800 Subject: [PATCH 14/30] EVN: fix: bounty hunter available bits hotfix Some BH missions not accessible if you start another story string first even though there's room before BH branches AND it does another check when it branches. So removing this check for b511. --- worlds/evn/logics.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/worlds/evn/logics.py b/worlds/evn/logics.py index d75f6ef4f058..11c37ff49a90 100644 --- a/worlds/evn/logics.py +++ b/worlds/evn/logics.py @@ -416,12 +416,18 @@ class EVNRegionData(TypedDict, total=False): "missions": [ 257, 258, 259, 260, 261, 262, 140, 263, 264, 265, 267, 268, 269, 270, 271, 272, 273, 276, 274, 275, 277, 278, + # OTHER Missions (ex: ferry misn) that are unlocked from BH + # ex: BH sets b3, which 235 checks + 235, ], "misn_edits": { + 262: { + "available_bits": "(b0 & !b424) & !b1" # removing story string started bit check of 511 - dunno why it is here + }, 266: { "available_bits": f"b{MISSION_BLOCKING_BIT}" }, - } + }, }, 24: { "id": 24, @@ -430,10 +436,13 @@ class EVNRegionData(TypedDict, total=False): 257, 258, 259, 260, 261, 262, 140, 263, 264, 265, 266, ], "misn_edits": { + 262: { + "available_bits": "(b0 & !b424) & !b1" # removing story string started bit check of 511 - dunno why it is here + }, 267: { "available_bits": f"b{MISSION_BLOCKING_BIT}" }, - } + }, }, 25: { # I don't like this one - don't like that you have to fail "id": 25, From 6c121e1d44acde703dcb4f76250b561b73adb24f Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sat, 28 Feb 2026 21:56:19 -0800 Subject: [PATCH 15/30] EVN: fix: misn fixes from playtest 1 Either missed or mistyped misn ids fixed --- worlds/evn/logics.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/worlds/evn/logics.py b/worlds/evn/logics.py index 11c37ff49a90..8a1acb1e7202 100644 --- a/worlds/evn/logics.py +++ b/worlds/evn/logics.py @@ -45,6 +45,7 @@ 899, 900, 905, 913, # silent misn 880, 881, 883, 884, # pursuit groups of enemies 886, 894, 890, 891, 892, + 794, # comes from a silent mission. I think this one was supposed to be marked as silent as well... Auroran 12a # invisible misn - again, don't seem to have ability to complete 802, 803, 833, # Krypt mind attack string from Polars32... Could have on success, but I'm unclear what it takes to meet that req... @@ -53,6 +54,8 @@ 872, # generic post game missions (but victory will already have released, so can't get to before end.) 874, 876, 877, 878, 910, 911, + # I don't know how this mission is gained and done... + 625, ] # Introducing this logic caused the number of available missions to drop below the item count @@ -509,7 +512,7 @@ class EVNRegionData(TypedDict, total=False): "name": "Pirate - Pt 2", "missions": [ 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 712, - 300, 720, 718, 721, 722, 723, 724, + 300, 720, 719, 721, 722, 723, 724, 842, # some kind of link or something, but has on_success bits # ? # 874, 876, # i think postgame From c7a06373a1a9afd2f7cdb1c484494ef0d10bf459 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sat, 7 Mar 2026 14:18:36 -0800 Subject: [PATCH 16/30] EVN: fix: sphere distribution, more misn fixes Implemented rules logic to push some missions into later spheres. Namely side strings, story strings, etc. New condition rules, both for sphere logic and for smoothing out distribution to prevent bad scenarios for player. Removed more bad missions from the pool. Added description region connection names. Added vell-os player ships to early sphere due to number of misns locked behind them (non story missions). --- worlds/evn/items.py | 2 +- worlds/evn/logics.py | 374 ++++++++++++++++++++++++++++++++++-------- worlds/evn/regions.py | 6 +- worlds/evn/rules.py | 70 +++++++- worlds/evn/world.py | 8 + 5 files changed, 384 insertions(+), 76 deletions(-) diff --git a/worlds/evn/items.py b/worlds/evn/items.py index 292a5f281da2..bb135ce1c4bc 100644 --- a/worlds/evn/items.py +++ b/worlds/evn/items.py @@ -84,7 +84,7 @@ def get_items() -> Dict[int, EVNItemData]: ret_bank[STRING_COMPLETE_BIT] = EVNItemData( name="Victory", - classification=ItemClassification.progression, + classification=ItemClassification.progression, # Odd, changing this to "skip_balancing" made the server think the game was unbeatable. code=STRING_COMPLETE_BIT, ) diff --git a/worlds/evn/logics.py b/worlds/evn/logics.py index 8a1acb1e7202..30f58b2892e4 100644 --- a/worlds/evn/logics.py +++ b/worlds/evn/logics.py @@ -34,6 +34,8 @@ 904, 609, # drop bear - "haha"... 610, + # cutoff variants of story line missions + 820, 821, 822, 823, 824, 825, 826, 860, # Were these debug missions or something? @@ -45,7 +47,7 @@ 899, 900, 905, 913, # silent misn 880, 881, 883, 884, # pursuit groups of enemies 886, 894, 890, 891, 892, - 794, # comes from a silent mission. I think this one was supposed to be marked as silent as well... Auroran 12a + 794, # comes from a silent mission (793's bit). I think this one was supposed to be marked as silent as well... Auroran 12a # invisible misn - again, don't seem to have ability to complete 802, 803, 833, # Krypt mind attack string from Polars32... Could have on success, but I'm unclear what it takes to meet that req... @@ -56,6 +58,8 @@ 874, 876, 877, 878, 910, 911, # I don't know how this mission is gained and done... 625, + # Other + 133, # derelict decoy - no completion settings ] # Introducing this logic caused the number of available missions to drop below the item count @@ -163,6 +167,7 @@ class EVNRegionData(TypedDict, total=False): missions: List[int] #safeties: Dict[int, MisnSafetyLogic] # mission edits req to enforce the storyline misn_edits: Dict[int, Dict[str, str]] # The typing was nice, but id was redundant... + entrance_rules: Dict[str, int] # ex: "ship": 435, "min_cargo": 10 # NOTE: This is universe and story, but may just become story if I decide to handle side stories more. # TODO: With stories that can come from side stories, edit the branches of those side stories. Ex: If Pirate - WB pirate branch needs to be blocked (and auroran too...) @@ -171,7 +176,8 @@ class EVNRegionData(TypedDict, total=False): "id": 0, # I don't know if we need this one here. It is our default starting region that all story lines start from. "name": "Universe", "missions": [], # I would like to dynamically populate this by adding all missions in misn_table not in any other region's list - "misn_edits": {} + "misn_edits": {}, + "entrance_rules": {}, }, 1: { "id": 1, @@ -180,7 +186,8 @@ class EVNRegionData(TypedDict, total=False): 128, 129, 130, 131, 142, 143, 144, 145, 146, 147, 148, 149, 193, 194, 195, 196, 197, 198, 199, 318, 319, 320, 321, 322, - 323, 324, 325, 326, 327, 355, 356, 357, 358, 359, 360, 361, 362, 363, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, + 323, 324, 325, 326, 327, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 649, 849, 850, @@ -191,7 +198,10 @@ class EVNRegionData(TypedDict, total=False): "on_refuse": "!b511", "on_abort": "!b511", } - } + }, + "entrance_rules": { + "min_cargo": 10, + }, }, 2: { "id": 2, @@ -200,7 +210,10 @@ class EVNRegionData(TypedDict, total=False): 150, 179, # later in story, but not worth making own node ], - "misn_edits": {} + "misn_edits": {}, + "entrance_rules": { + "min_cargo": 10, + }, }, 3: { "id": 3, @@ -217,7 +230,10 @@ class EVNRegionData(TypedDict, total=False): "on_success": f"!b511", # set same as failure, allowing mission to be redone. Abort is acceptable. "on_refuse": "CHECK_TARGET" } - } + }, + "entrance_rules": { + "min_cargo": 10, + }, }, 4: { "id": 4, @@ -225,7 +241,8 @@ class EVNRegionData(TypedDict, total=False): "missions": [ 151, 152, 153, 717, ], - "misn_edits": {} + "misn_edits": {}, + "entrance_rules": {}, }, # Screw it - a path pick feds at end, and b path picks aurorans at end. I don't want to duplicate just for that choice... 5: { @@ -238,7 +255,8 @@ class EVNRegionData(TypedDict, total=False): 154: { "on_success": "b279" } - } + }, + "entrance_rules": {}, }, 6: { "id": 6, @@ -250,7 +268,8 @@ class EVNRegionData(TypedDict, total=False): 154: { "on_success": "b316" } - } + }, + "entrance_rules": {}, }, 7: { "id": 7, @@ -261,7 +280,8 @@ class EVNRegionData(TypedDict, total=False): #887, ], "misn_edits": { - } + }, + "entrance_rules": {}, }, 8: { "id": 8, @@ -274,7 +294,8 @@ class EVNRegionData(TypedDict, total=False): "refuse_button": "Don't pick this", "on_refuse": "!b315", } - } + }, + "entrance_rules": {}, }, 9: { "id": 9, @@ -288,7 +309,8 @@ class EVNRegionData(TypedDict, total=False): "on_success": f"!b315", # set same as failure, allowing mission to be redone. Abort is acceptable. "on_refuse": "CHECK_TARGET", } - } + }, + "entrance_rules": {}, }, 10: { "id": 10, @@ -304,7 +326,10 @@ class EVNRegionData(TypedDict, total=False): "on_failure": "!b511 A749 A750 A751 A752", "on_abort": "!b511 A749 A750 A751 A752", } - } + }, + "entrance_rules": { + "min_cargo": 10, + }, }, 11: { "id": 11, @@ -315,7 +340,8 @@ class EVNRegionData(TypedDict, total=False): 690, 916, 917, 918, # deep into auroran, might cause logic blocks unnecessarily by having here. ], "misn_edits": { - } + }, + "entrance_rules": {}, }, 12: { "id": 12, @@ -324,7 +350,8 @@ class EVNRegionData(TypedDict, total=False): 656, 657, 658, ], "misn_edits": { - } + }, + "entrance_rules": {}, }, 13: { "id": 13, @@ -335,7 +362,8 @@ class EVNRegionData(TypedDict, total=False): 684, # same, but this is a deep mission, might cause logic blocks unnecessarily. If so, will need to create new zones :( ], "misn_edits": { - } + }, + "entrance_rules": {}, }, 14: { "id": 14, @@ -345,17 +373,23 @@ class EVNRegionData(TypedDict, total=False): 734, 735, 736, 737, 739, # offshoot ], "misn_edits": { - } + }, + "entrance_rules": {}, }, 15: { # A lot of optional quests get locked if you don't do them before mission 13 (670), so marking this as a different zone "id": 15, "name": "Auroran - Pt 4", "missions": [ 670, 671, 672, 673, 674, 857, 675, 676, 677, - 741, 742, 743, 744, 745, 746, 747, 748, # offshoot + 741, 742, 743, 744, 745, 746, 747, # offshoot + 748, # Awards the thunderforge. Either ignore this one, or add its bit to "OnAccept" ], "misn_edits": { - } + }, + "entrance_rules": { + "min_ship_str": 400 # for EVN, makes sense in next segment instead, but because mission depth, better for other players to have it push into another sphere here instead. + #, "min_checks": 300 # This is an arbitrary sphere pusher. + }, }, 16: { # Again, offshoot must be done before this "id": 16, @@ -364,7 +398,8 @@ class EVNRegionData(TypedDict, total=False): 678, 679, 680, 681, 682, 683, 685, 686, ], "misn_edits": { - } + }, + "entrance_rules": {}, }, 20: { "id": 20, @@ -379,7 +414,10 @@ class EVNRegionData(TypedDict, total=False): 645: { "on_success": "b816" } - } + }, + "entrance_rules": { + "min_ship_str": 75 # fighters + }, }, 21: { "id": 21, @@ -396,7 +434,10 @@ class EVNRegionData(TypedDict, total=False): "on_success": "", "on_refuse": "CHECK_TARGET" } - } + }, + "entrance_rules": { + "min_ship_str": 75 # fighters + }, }, 22: { "id": 22, @@ -411,7 +452,10 @@ class EVNRegionData(TypedDict, total=False): 645: { "on_success": "b817" } - } + }, + "entrance_rules": { + "min_ship_str": 75 # fighters + }, }, 23: { "id": 23, @@ -431,6 +475,9 @@ class EVNRegionData(TypedDict, total=False): "available_bits": f"b{MISSION_BLOCKING_BIT}" }, }, + "entrance_rules": { + "min_ship_str": 105 + }, }, 24: { "id": 24, @@ -446,6 +493,9 @@ class EVNRegionData(TypedDict, total=False): "available_bits": f"b{MISSION_BLOCKING_BIT}" }, }, + "entrance_rules": { + "min_ship_str": 105 + }, }, 25: { # I don't like this one - don't like that you have to fail "id": 25, @@ -457,7 +507,8 @@ class EVNRegionData(TypedDict, total=False): 279: { "on_success": "!b511" }, - } + }, + "entrance_rules": {}, }, 26: { "id": 26, @@ -469,7 +520,8 @@ class EVNRegionData(TypedDict, total=False): 279: { "on_failure": "!b511" }, - } + }, + "entrance_rules": {}, }, 27: { # Don't use last two missions so that the player can't be branched into another storyline before starting the intended one. "id": 27, @@ -481,7 +533,8 @@ class EVNRegionData(TypedDict, total=False): 279: { "available_bits": f"b{MISSION_BLOCKING_BIT}" }, - } + }, + "entrance_rules": {}, }, 30: { "id": 30, @@ -493,7 +546,10 @@ class EVNRegionData(TypedDict, total=False): 694: { "on_refuse": "" }, - } + }, + "entrance_rules": { + "min_cargo": 10, + }, }, 31: { "id": 31, @@ -505,7 +561,8 @@ class EVNRegionData(TypedDict, total=False): 840: { "on_refuse": "" }, - } + }, + "entrance_rules": {}, }, 32: { "id": 32, @@ -521,7 +578,8 @@ class EVNRegionData(TypedDict, total=False): 694: { "on_refuse": "" }, - } + }, + "entrance_rules": {}, }, 33: { "id": 33, @@ -534,7 +592,8 @@ class EVNRegionData(TypedDict, total=False): "refuse_button": "Don't pick this", "on_refuse": "" }, - } + }, + "entrance_rules": {}, }, 34: { "id": 34, @@ -549,7 +608,8 @@ class EVNRegionData(TypedDict, total=False): "on_accept": "b435", # force into refusal "on_refuse": "CHECK_TARGET" }, - } + }, + "entrance_rules": {}, }, 40: { "id": 40, @@ -563,7 +623,10 @@ class EVNRegionData(TypedDict, total=False): "refuse_button": "Don't pick this", "on_refuse": "" } - } + }, + "entrance_rules": { + "min_cargo": 10, + }, }, 41: { "id": 41, # TODO: Implement. Requires failing a BH mission which is why I don't like trying to enforce it. @@ -572,7 +635,8 @@ class EVNRegionData(TypedDict, total=False): 440, ], "misn_edits": { - } + }, + "entrance_rules": {}, }, 42: { "id": 42, @@ -589,7 +653,8 @@ class EVNRegionData(TypedDict, total=False): 613: { "available_bits": f"b{MISSION_BLOCKING_BIT}" # block the glitecnia version of the mission } - } + }, + "entrance_rules": {}, }, 43: { "id": 43, # I'm not implementing these for now, but I need them out of the pool (aka: in at least 1 region) @@ -598,7 +663,8 @@ class EVNRegionData(TypedDict, total=False): 448, 449, ], "misn_edits": { - } + }, + "entrance_rules": {}, }, 44: { "id": 44, # For now, I'm not implementing this one. Again, need them out of the pool. @@ -607,7 +673,8 @@ class EVNRegionData(TypedDict, total=False): 575, 576, 590, 592, 591, 593, 594, 595, 596, ], "misn_edits": { - } + }, + "entrance_rules": {}, }, 45: { "id": 45, # Not implementing this branch for now, sorry. Need it out of the pool. @@ -616,7 +683,8 @@ class EVNRegionData(TypedDict, total=False): 613, ], "misn_edits": { - } + }, + "entrance_rules": {}, }, 50: { # Rebels "id": 50, # Too many links, not dealing with this for now. Other ways into rebels. @@ -626,13 +694,17 @@ class EVNRegionData(TypedDict, total=False): 611, # technically *to* feds? ], "misn_edits": { - } + }, + "entrance_rules": {}, }, 51: { # Rebels "id": 51, # "name": "Rebel - From BH", "missions": [ 328, 329, 331, 332, 333, 334, 335, 336, 337, 338, 853, + # generic missions unlocked by doing rebel stuff + # b 127 + 139, 239, 240, 241, 242, ], "misn_edits": { 611: { @@ -641,7 +713,8 @@ class EVNRegionData(TypedDict, total=False): 608: { # due to lockout conditions, cutting off this option. do sigma "available_bits": f"b{MISSION_BLOCKING_BIT}" } - } + }, + "entrance_rules": {}, }, 52: { # Rebels "id": 50, # If you want hyper gates, do sigma story line @@ -650,7 +723,8 @@ class EVNRegionData(TypedDict, total=False): 608, ], "misn_edits": { - } + }, + "entrance_rules": {}, }, 53: { # Rebels "id": 53, @@ -665,7 +739,8 @@ class EVNRegionData(TypedDict, total=False): "accept_button": "Must Succeed", "on_failure": "" } - } + }, + "entrance_rules": {}, }, 54: { # Rebels "id": 54, # Forced fail... bleh @@ -680,7 +755,8 @@ class EVNRegionData(TypedDict, total=False): "accept_button": "Must FAIL", "on_success": "" } - } + }, + "entrance_rules": {}, }, # For these blocking missions - only add the edits. Don't add the mission ID otherwise it'll get assigned an item / check 100: { "id": 100, @@ -690,7 +766,8 @@ class EVNRegionData(TypedDict, total=False): 128: { "available_bits": f"b{MISSION_BLOCKING_BIT}" } - } + }, + "entrance_rules": {}, }, 101: { "id": 101, @@ -700,7 +777,8 @@ class EVNRegionData(TypedDict, total=False): 150: { "available_bits": f"b{MISSION_BLOCKING_BIT}" } - } + }, + "entrance_rules": {}, }, 102: { "id": 102, @@ -710,7 +788,8 @@ class EVNRegionData(TypedDict, total=False): 653: { "available_bits": f"b{MISSION_BLOCKING_BIT}" } - } + }, + "entrance_rules": {}, }, 103: { "id": 103, @@ -720,7 +799,8 @@ class EVNRegionData(TypedDict, total=False): 693: { "available_bits": f"b{MISSION_BLOCKING_BIT}" } - } + }, + "entrance_rules": {}, }, 104: { "id": 104, @@ -730,7 +810,8 @@ class EVNRegionData(TypedDict, total=False): 428: { "available_bits": f"b{MISSION_BLOCKING_BIT}" } - } + }, + "entrance_rules": {}, }, 200: { # Due to checks vs blocking nature of missions, pulling out some paths of side quests "id": 200, @@ -742,7 +823,8 @@ class EVNRegionData(TypedDict, total=False): 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, # second half of United Shipping due to polaris req :( ], "misn_edits": { - } + }, + "entrance_rules": {}, }, 201: { "id": 201, @@ -761,7 +843,90 @@ class EVNRegionData(TypedDict, total=False): 756: { "on_abort": "" } - } + }, + "entrance_rules": {}, + }, + 300: { + "id": 300, + "name": "Side Misn String - Sigma", + "missions": [ + 555, 556, + # cargo 20 + 897, 898, + # repeating + 569, 570, 571, 572, 573, 574, + ], + "misn_edits": { + }, + "entrance_rules": { + "min_cargo": 10, + }, + }, + 301: { + "id": 301, + "name": "Side Misn String - Sigma - Bulk Misns", + "missions": [ + 557, 558, 559, 560, 561, 562, 563, 564, + ], + "misn_edits": { + }, + "entrance_rules": { + "min_cargo": 300, + }, + }, + 302: { + "id": 302, + "name": "Side Misn String - Sigma - Large Bulk Misns", + "missions": [ + 565, 566, 567, 568, + ], + "misn_edits": { + }, + "entrance_rules": { + "min_cargo": 1250, + }, + }, + 310: { + "id": 310, + "name": "Vellos BBS Misns - Dart", + "missions": [ + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + ], + "misn_edits": { + }, + "entrance_rules": { + "ship": 381, + }, + }, + 311: { + "id": 311, + "name": "Vellos BBS Misns - Arrow", + "missions": [ + 293, 294, 295, 296, 297, 298, 299, 301, 302, 303, 304, 305, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 475, 476, 477, 478, 479, 480, 481, 482, + ], + "misn_edits": { + }, + "entrance_rules": { + "ship": 382, + }, + }, + 312: { + "id": 312, + "name": "Vellos BBS Misns - Javelin", + "missions": [ + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, + # What are these missions? + # 614, 615, + ], + "misn_edits": { + }, + "entrance_rules": { + "ship": 383, + }, }, } @@ -772,6 +937,7 @@ class EVNStoryRoute(TypedDict, total=False): regions: List[int] # NOTE: ORDER MATTERS. If we need to, we'll reorg to have each define their entrance and exit regions, but for now, will make the assumption that these are in order and connect in that order. region_connections: Dict[int, List[int]] # Dict[FromID, ToIDs] - Use 0 for Universe final_mission: int | None # The mission ID that we need to assign the victory condition to + #region_entrance_rules: Dict[int, Dict[str, int]] # region_id: key_reason - id or count (ex: "ship": 435, "min_cargo": 10) # Dictionary of our possible storylines / region routes @@ -782,13 +948,19 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Vellos - Standard", "option_name": "vellos", "regions": [ + # Universe 0, # always include universe as our default start! + # Block other story strings 101, 102, 103, 104, 201, # blocking (don't connect) - 20, 23, 27, # WG + BH + # our story line 1, # Story + # Side misn stuff + 20, 23, 27, # WG + BH + 300, 301, 302, # Sigma + 310, 311, 312, # vellos ship misns ], #"region_connections": { 0: [1, 101, 102, 20] }, # I don't think we need to add the blocking missions - "region_connections": { 0: [1, 20, 23, 27] }, + "region_connections": { 0: [1, 20, 23, 27, 300, 301, 302, 310, 311, 312] }, "final_mission": 417, }, 2: { @@ -796,12 +968,18 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Polaris - Standard - Path A", "option_name": "polaris", "regions": [ + # Universe 0, + # Block other story strings 100, 102, 103, 104, 201, - 20, 23, 27, + # our story line 2, 4, 5, 7, 9, + # Side misn stuff + 20, 23, 27, # WG + BH + 300, 301, 302, # Sigma + 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [2, 20, 23, 27], 2: [4], 4: [5], 5: [7], 7: [9] }, + "region_connections": { 0: [2, 20, 23, 27, 300, 301, 302, 310, 311, 312], 2: [4], 4: [5], 5: [7], 7: [9] }, "final_mission": 887, }, 3: { # So, there's 2 starting options, and 2 paths, for 4 combos. May implement all 4, may not. @@ -809,12 +987,18 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Polaris - From Vellos - Path B", "option_name": "vellos_polaris", "regions": [ + # Universe 0, + # Block other story strings 101, 102, 103, 104, 201, - 20, 23, 27, + # our story line 3, 4, 6, 7, 8, + # Side misn stuff + 20, 23, 27, # WG + BH + 300, 301, 302, # Sigma + 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [3, 20, 23, 27], 3: [4], 4: [6], 6: [7], 7: [8] }, + "region_connections": { 0: [3, 20, 23, 27, 300, 301, 302, 310, 311, 312], 3: [4], 4: [6], 6: [7], 7: [8] }, "final_mission": 887, }, 4: { # Auroran options @@ -822,12 +1006,18 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Auroran", "option_name": "auroran", "regions": [ + # Universe 0, + # Block other story strings 100, 101, 103, 104, 201, - 20, 23, 27, + # our story line 10, 12, 14, 15, 16, + # Side misn stuff + 20, 23, 27, # WG + BH + 300, 301, 302, # Sigma + 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [10, 20, 23, 27], 10: [12], 12: [14], 14: [15], 15: [16] }, + "region_connections": { 0: [10, 20, 23, 27, 300, 301, 302, 310, 311, 312], 10: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, }, 5: { # Auroran options @@ -835,12 +1025,18 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Auroran - From WG", "option_name": "wg_auroran", "regions": [ + # Universe 0, + # Block other story strings 100, 101, 102, 103, 104, 201, - 23, 27, + # our story line 21, 11, 12, 14, 15, 16, + # Side misn stuff + 23, 27, # BH + 300, 301, 302, # Sigma + 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [11, 21, 23, 27], 11: [12], 12: [14], 14: [15], 15: [16] }, + "region_connections": { 0: [21, 23, 27, 300, 301, 302, 310, 311, 312], 21: [11], 11: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, }, 6: { # Auroran options @@ -848,12 +1044,18 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Auroran - From Bounty Hunter", "option_name": "bh_auroran", "regions": [ + # Universe 0, + # Block other story strings 100, 101, 102, 103, 104, 201, - 20, + # our story line 24, 13, 12, 14, 15, 16, + # side misn stuff + 20, # WG good ending + 300, 301, 302, # Sigma + 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [20, 24], 24: [13], 13: [12], 12: [14], 14: [15], 15: [16] }, + "region_connections": { 0: [20, 24, 300, 301, 302, 310, 311, 312], 24: [13], 13: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, }, 7: { # Pirates @@ -861,12 +1063,18 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Pirate", "option_name": "pirate", "regions": [ + # Universe 0, # universe + # Block other story strings 100, 101, 102, 104, 201, # blocking other strings (don't connect) - 20, 23, 27, # WG + BH + # our story line 30, 32, 34, # Story + # side misn stuff + 20, 23, 27, # WG + BH + 300, 301, 302, # Sigma + 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [20, 23, 27, 30], 30: [32], 32: [34] }, + "region_connections": { 0: [20, 23, 27, 30, 300, 301, 302, 310, 311, 312], 30: [32], 32: [34] }, "final_mission": 712, }, 8: { @@ -874,12 +1082,18 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Pirates - From WG", "option_name": "wg_pirate", "regions": [ + # Universe 0, + # Block other story strings 100, 101, 102, 103, 104, 201, # blocking - 23, 27, # BH + # our story line 22, 31, 32, 34, # WG -> Story + # side misn stuff + 23, 27, # BH + 300, 301, 302, # Sigma + 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [22, 23, 27], 22: [31], 31: [32], 32: [34] }, + "region_connections": { 0: [22, 23, 27, 300, 301, 302, 310, 311, 312], 22: [31], 31: [32], 32: [34] }, "final_mission": 712, }, 9: { @@ -887,12 +1101,18 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Feds", "option_name": "feds", "regions": [ + # Universe 0, + # Block other story strings 100, 101, 102, 103, 201, # blocking - 20, 23, 27, # BH + # our story line 40, 42, # Story + # side misn stuff + 20, 23, 27, # BH + 300, 301, 302, # Sigma + 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [20, 23, 27, 40], 40: [42] }, + "region_connections": { 0: [20, 23, 27, 40, 300, 301, 302, 310, 311, 312], 40: [42] }, "final_mission": 474, }, 10: { @@ -900,12 +1120,18 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Rebel I - From BH", "option_name": "bh_rebel1", "regions": [ + # Universe 0, + # Block other story strings 100, 101, 102, 103, 104, 201, # blocking - 20, # WG + # our story line 23, 26, 51, 53, # BH -> Story + # side misn stuff + 20, # WG + 300, 301, 302, # Sigma + 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [20, 23], 23: [26], 26: [51], 51: [53] }, + "region_connections": { 0: [20, 23, 300, 301, 302, 310, 311, 312], 23: [26], 26: [51], 51: [53] }, "final_mission": 354, }, 11: { @@ -913,12 +1139,18 @@ class EVNStoryRoute(TypedDict, total=False): "name": "Rebel II - From BH", "option_name": "bh_rebel2", "regions": [ + # Universe 0, + # Block other story strings 100, 101, 102, 103, 104, 201, # blocking - 20, # WG + # our story line 23, 26, 51, 54, # BH -> Story + # side misn stuff + 20, # WG + 300, 301, 302, # Sigma + 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [20, 23], 23: [26], 26: [51], 51: [54] }, + "region_connections": { 0: [20, 23, 300, 301, 302, 310, 311, 312], 23: [26], 26: [51], 51: [54] }, "final_mission": 381, } } diff --git a/worlds/evn/regions.py b/worlds/evn/regions.py index 1399d68a1511..6fb3ad49417d 100644 --- a/worlds/evn/regions.py +++ b/worlds/evn/regions.py @@ -126,9 +126,11 @@ def connect_regions(world: EVNWorld) -> None: chosen_route = world.get_chosen_string() #logger.info(f"story routes: {chosen_route["region_connections"]}") for fromid, targets in chosen_route["region_connections"].items(): - from_region = world.get_region(possible_regions[fromid]["name"]) + from_r_name = possible_regions[fromid]["name"] + from_region = world.get_region(from_r_name) for toid in targets: - from_region.connect(world.get_region(possible_regions[toid]["name"])) + to_r_name = possible_regions[toid]["name"] + from_region.connect(world.get_region(possible_regions[toid]["name"]), f"{from_r_name} to {to_r_name}") #logger.info(f"connected {possible_regions[fromid]["name"]} to {possible_regions[toid]["name"]}") # Okay, now we can get connecting. For this, we need to create Entrances. diff --git a/worlds/evn/rules.py b/worlds/evn/rules.py index 0efe4e530190..e0d970c1a8aa 100644 --- a/worlds/evn/rules.py +++ b/worlds/evn/rules.py @@ -1,6 +1,8 @@ from __future__ import annotations -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, List + +from flask_caching import logger from BaseClasses import CollectionState from worlds.generic.Rules import add_rule, set_rule @@ -9,8 +11,11 @@ #from .logics import story_routes #from .locations import ev_location_bank from .rezdata.misns import misn_table +from .rezdata.ships import ship_table #, ShipDict #from .locations import loc_type_offset from .apdata.offsets import offsets_table as loc_type_offset +from .logics import possible_regions +#from .items import ev_item_bank if TYPE_CHECKING: from .world import EVNWorld @@ -26,6 +31,39 @@ # "Return to Ar'Za Iusia;Polaris 46-887": 887, # } +def _ship_id_rule(ship_id: int) -> str: + ship_offset = loc_type_offset["ship"] + #return ev_item_bank[ship_offset + ship_id]["name"] + # apparently can't import items bank when this is run... so we have to manually recreate the name. + # I don't like this, because it could change... + ship_data = ship_table[ship_id] + return ship_data["name"].strip() + ship_data["id"] + +def _min_cargo_rule(min_weight: int) -> List[str]: + ship_offset = loc_type_offset["ship"] + core_list = [] + for ship_id, ship_data in ship_table.items(): + ship_cargo = ship_data["cargo"] + if int(ship_cargo) >= min_weight: + #core_list.append(ship_id) + core_list.append(ship_data["name"].strip() + ship_data["id"]) + # ret_list = [] + # for ship_id in core_list: + # ret_list.append(ev_item_bank[ship_offset + ship_id]["name"]) + # return ret_list + return core_list + +def _min_ship_str_rule(min_str: int) -> List[str]: + ship_offset = loc_type_offset["ship"] + core_list = [] + for ship_id, ship_data in ship_table.items(): + ship_stat = ship_data["strength"] + if int(ship_stat) >= min_str: + #logger.info(f"Ship str rule, adding {min_str}, {ship_stat}, {ship_data['id']}") + core_list.append(ship_data["name"].strip() + ship_data["id"]) + return core_list + + def set_all_rules(world: EVNWorld) -> None: # In order for AP to generate an item layout that is actually possible for the player to complete, # we need to define rules for our Entrances and Locations. @@ -39,7 +77,7 @@ def set_all_rules(world: EVNWorld) -> None: def set_all_entrance_rules(world: EVNWorld) -> None: #return - test = 1 + #test = 1 # # First, we need to actually grab our entrances. Luckily, there is a helper method for this. # overworld_to_bottom_right_room = world.get_entrance("Overworld to Bottom Right Room") # overworld_to_top_left_room = world.get_entrance("Overworld to Top Left Room") @@ -75,6 +113,33 @@ def set_all_entrance_rules(world: EVNWorld) -> None: # overworld_to_top_middle_room = world.get_entrance("Overworld to Top Middle Room") # set_rule(overworld_to_top_middle_room, lambda state: state.has("Hammer", world.player)) + chosen_route = world.get_chosen_string() + for from_id, to_regions in chosen_route["region_connections"].items(): + from_region = possible_regions[from_id] + for to_id in to_regions: + to_region = possible_regions[to_id] + entrance_name = f"{from_region['name']} to {to_region['name']}" + region_entrance = world.get_entrance(entrance_name) + for rule_type, rule_value in to_region["entrance_rules"].items(): + match rule_type: + case "ship": + temp_ship_id = _ship_id_rule(rule_value) + #logger.info(f"Ship rule for: {temp_ship_id}") + set_rule(region_entrance, lambda state: state.has(temp_ship_id, world.player)) + case "min_cargo": + temp_list = _min_cargo_rule(rule_value) + set_rule(region_entrance, lambda state: state.has_any(temp_list, world.player)) + case "min_ship_str": # Note: Ship str is arbitrary number designers added, but fits our purposes well enough here + temp_list = _min_ship_str_rule(rule_value) + set_rule(region_entrance, lambda state: state.has_any(temp_list, world.player)) + #case "min_checks": + # apparently this doesn't update how we would expect. Advice was to not use it. + # set_rule(region_entrance, lambda state: len(state.locations_checked)) + # I don't want to recreate a list of all possible checks, but I can't import the item library either due to cross ref imports + # set_rule(region_entrance, lambda state: state.has_from_list_unique(temp_list, world.player)) + #case _: + # do nothing + def set_all_location_rules(world: EVNWorld) -> None: # NOTE: I'll have to care for missions that can't be repeated. Ex: the first tutorial mission - if you say "no" to accepting it, you can't get it later. @@ -166,3 +231,4 @@ def set_completion_condition(world: EVNWorld) -> None: # In our case, we went for the Victory event design pattern (see create_events() in locations.py). # So lets undo what we just did, and instead set the completion condition to: world.multiworld.completion_condition[world.player] = lambda state: state.has("Victory", world.player) + #world.multiworld.completion_condition[world.player] = lambda state: state.has_all(("Victory"), world.player) \ No newline at end of file diff --git a/worlds/evn/world.py b/worlds/evn/world.py index ef37c6bb8e09..746bdbe303ea 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -85,6 +85,14 @@ def get_chosen_string(self) -> EVNStoryRoute: return story_routes[self.get_chosen_string_id()] + def generate_early(self): + #early_weapon = self.random.choice(["Super Shotgun", "Plasma gun"]) + #self.multiworld.early_items[self.player][early_weapon] = 1 + # Try to get some Vell-os player ships into pool in sphere 1 because altogether ~75 checks locked behind 'em + self.multiworld.early_items[self.player]["Vell-os Dart381"] = 1 + self.multiworld.early_items[self.player]["Vell-os Arrow382"] = 1 + self.multiworld.early_items[self.player]["Vell-os Javelin383"] = 1 + # Our world class must have certain functions ("steps") that get called during generation. # The main ones are: create_regions, set_rules, create_items. # For better structure and readability, we put each of these in their own file. From 254320e5bd32536d222dd7bd63d62fcda69509c4 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sat, 7 Mar 2026 18:33:15 -0800 Subject: [PATCH 17/30] EVN: fix: multiple char options now selectable Fixed issue causing char options to not show up. --- worlds/evn/rezdata/chars.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/worlds/evn/rezdata/chars.py b/worlds/evn/rezdata/chars.py index 11b52968a896..3b03d7f2281f 100644 --- a/worlds/evn/rezdata/chars.py +++ b/worlds/evn/rezdata/chars.py @@ -85,7 +85,7 @@ class CharDict(TypedDict, total=False): 128: { "resource_type": "char", "id": "128", - "name": ".Trader", + "name": "Trader", "cash": "25000", "ship_type": "128", "system_1": "128", @@ -122,7 +122,7 @@ class CharDict(TypedDict, total=False): 129: { "resource_type": "char", "id": "129", - "name": ".Head Start", + "name": "Head Start", "cash": "500000", "ship_type": "165", # mod starbridge "system_1": "128", From ee0e06eca58952f52a3b8aaff36fe2f3333ec5e8 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sat, 7 Mar 2026 22:45:54 -0800 Subject: [PATCH 18/30] EVN: fix: more outf checks for some story strings Added additional set of purchaseable checks for shorter strings that no longer have enough checks due to other fixes (ex: pirate). Didn't want to bloat all strings though, so configureable use. --- worlds/evn/apdata/customdesc.py | 160 ++++++++++ worlds/evn/apdata/customoutf.py | 512 ++++++++++++++++++++++++++++++++ worlds/evn/locations.py | 5 + worlds/evn/logics.py | 12 + worlds/evn/world.py | 22 +- 5 files changed, 707 insertions(+), 4 deletions(-) diff --git a/worlds/evn/apdata/customdesc.py b/worlds/evn/apdata/customdesc.py index a444cea09bc1..a89c45e86bc4 100644 --- a/worlds/evn/apdata/customdesc.py +++ b/worlds/evn/apdata/customdesc.py @@ -164,5 +164,165 @@ "movie_file": "", "flags": "0x0000", "end_of_resource": "EOR" + }, + 3342: { + "resource_type": "desc", + "id": "3342", + "name": "Unlock 5k (ext)", + "text": "[player_name]'s [item_name]", # we'll overwrite, just leave blank. But I left this as template example. + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3343: { + "resource_type": "desc", + "id": "3343", + "name": "Unlock 10k (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3344: { + "resource_type": "desc", + "id": "3344", + "name": "Unlock 15k (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3345: { + "resource_type": "desc", + "id": "3345", + "name": "Unlock 25k (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3346: { + "resource_type": "desc", + "id": "3346", + "name": "Unlock 50k (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3347: { + "resource_type": "desc", + "id": "3347", + "name": "Unlock 75k (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3348: { + "resource_type": "desc", + "id": "3348", + "name": "Unlock 100k (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3349: { + "resource_type": "desc", + "id": "3349", + "name": "Unlock 125k (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3350: { + "resource_type": "desc", + "id": "3350", + "name": "Unlock 150k (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3351: { + "resource_type": "desc", + "id": "3351", + "name": "Unlock 175k (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3352: { + "resource_type": "desc", + "id": "3352", + "name": "Unlock 200k (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3353: { + "resource_type": "desc", + "id": "3353", + "name": "Unlock 250k (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3354: { + "resource_type": "desc", + "id": "3354", + "name": "Unlock 500k (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3355: { + "resource_type": "desc", + "id": "3355", + "name": "Unlock 750k (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3356: { + "resource_type": "desc", + "id": "3356", + "name": "Unlock 1M (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3357: { + "resource_type": "desc", + "id": "3357", + "name": "Unlock 5M (ext)", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" } } \ No newline at end of file diff --git a/worlds/evn/apdata/customoutf.py b/worlds/evn/apdata/customoutf.py index 92edafcd268a..5641fd60850a 100644 --- a/worlds/evn/apdata/customoutf.py +++ b/worlds/evn/apdata/customoutf.py @@ -519,5 +519,517 @@ "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" + }, + 470: { + "resource_type": "outf", + "id": "470", + "name": "Unlock 5k (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "5000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "Unlock 5k\\\\n- Player -", # put in that player's name for recognition? + "lower_case_name": "Unlock 5k (ext)", + "lower_case_plural_name": "Unlocks 5k (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 471: { + "resource_type": "outf", + "id": "471", + "name": "Unlock 10k (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "10000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 10k (ext)", + "lower_case_plural_name": "Unlocks 10k (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 472: { + "resource_type": "outf", + "id": "472", + "name": "Unlock 15k (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "15000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 15k (ext)", + "lower_case_plural_name": "Unlocks 15k (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 473: { + "resource_type": "outf", + "id": "473", + "name": "Unlock 25k (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "25000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 25k (ext)", + "lower_case_plural_name": "Unlocks 25k (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 474: { + "resource_type": "outf", + "id": "474", + "name": "Unlock 50k (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "50000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 50k (ext)", + "lower_case_plural_name": "Unlocks 50k (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 475: { + "resource_type": "outf", + "id": "475", + "name": "Unlock 75k (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "75000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 75k (ext)", + "lower_case_plural_name": "Unlocks 75k (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 476: { + "resource_type": "outf", + "id": "476", + "name": "Unlock 100k (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "100000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 100k (ext)", + "lower_case_plural_name": "Unlocks 100k (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 477: { + "resource_type": "outf", + "id": "477", + "name": "Unlock 125k (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "125000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 125k (ext)", + "lower_case_plural_name": "Unlocks 125 (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 478: { + "resource_type": "outf", + "id": "478", + "name": "Unlock 150k (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "150000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 150k (ext)", + "lower_case_plural_name": "Unlocks 150k (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 479: { + "resource_type": "outf", + "id": "479", + "name": "Unlock 175k (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "175000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 175k (ext)", + "lower_case_plural_name": "Unlocks 175k (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 480: { + "resource_type": "outf", + "id": "480", + "name": "Unlock 200k (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "200000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 200k (ext)", + "lower_case_plural_name": "Unlocks 200k (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 481: { + "resource_type": "outf", + "id": "481", + "name": "Unlock 250k (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "250000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 250k (ext)", + "lower_case_plural_name": "Unlocks 250k (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 482: { + "resource_type": "outf", + "id": "482", + "name": "Unlock 500k (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "500000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 500k (ext)", + "lower_case_plural_name": "Unlocks 500k (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 483: { + "resource_type": "outf", + "id": "483", + "name": "Unlock 750k (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "750000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 750k (ext)", + "lower_case_plural_name": "Unlocks 750k (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 484: { + "resource_type": "outf", + "id": "484", + "name": "Unlock 1M (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "1000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 1M (ext)", + "lower_case_plural_name": "Unlocks 1M (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 485: { + "resource_type": "outf", + "id": "485", + "name": "Unlock 5M (ext)", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "5000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 5M (ext)", + "lower_case_plural_name": "Unlocks 5M (ext)", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" } } \ No newline at end of file diff --git a/worlds/evn/locations.py b/worlds/evn/locations.py index b5e31676e449..7b2f541fd03b 100644 --- a/worlds/evn/locations.py +++ b/worlds/evn/locations.py @@ -165,12 +165,17 @@ def create_universe_locations(world: EVNWorld) -> None: misn_offset = loc_type_offset["misn"] coutf_offset = loc_type_offset["outf_cks"] + chosen_route = world.get_chosen_string() + # Check if location used by any story regions for key, loc in ev_location_bank.items(): loc_found = False # cust outf - shortcut it (was added later) if key > coutf_offset: # misn is 2k but outf_cks is 4k, so we know here this is an okay check + if not chosen_route["use_extended_checks"] and "(ext)" in loc["name"]: + #logger.info(f'skipping cust outf {key}') + continue universe.add_locations( get_location_names_with_ids(world, [loc["name"]]) , EVNLocation diff --git a/worlds/evn/logics.py b/worlds/evn/logics.py index 30f58b2892e4..352b9182e9bf 100644 --- a/worlds/evn/logics.py +++ b/worlds/evn/logics.py @@ -937,6 +937,7 @@ class EVNStoryRoute(TypedDict, total=False): regions: List[int] # NOTE: ORDER MATTERS. If we need to, we'll reorg to have each define their entrance and exit regions, but for now, will make the assumption that these are in order and connect in that order. region_connections: Dict[int, List[int]] # Dict[FromID, ToIDs] - Use 0 for Universe final_mission: int | None # The mission ID that we need to assign the victory condition to + use_extended_checks: bool #region_entrance_rules: Dict[int, Dict[str, int]] # region_id: key_reason - id or count (ex: "ship": 435, "min_cargo": 10) @@ -962,6 +963,7 @@ class EVNStoryRoute(TypedDict, total=False): #"region_connections": { 0: [1, 101, 102, 20] }, # I don't think we need to add the blocking missions "region_connections": { 0: [1, 20, 23, 27, 300, 301, 302, 310, 311, 312] }, "final_mission": 417, + "use_extended_checks": False, }, 2: { "id": 2, @@ -981,6 +983,7 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [2, 20, 23, 27, 300, 301, 302, 310, 311, 312], 2: [4], 4: [5], 5: [7], 7: [9] }, "final_mission": 887, + "use_extended_checks": False, }, 3: { # So, there's 2 starting options, and 2 paths, for 4 combos. May implement all 4, may not. "id": 3, @@ -1000,6 +1003,7 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [3, 20, 23, 27, 300, 301, 302, 310, 311, 312], 3: [4], 4: [6], 6: [7], 7: [8] }, "final_mission": 887, + "use_extended_checks": False, }, 4: { # Auroran options "id": 4, @@ -1019,6 +1023,7 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [10, 20, 23, 27, 300, 301, 302, 310, 311, 312], 10: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, + "use_extended_checks": False, }, 5: { # Auroran options "id": 5, @@ -1038,6 +1043,7 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [21, 23, 27, 300, 301, 302, 310, 311, 312], 21: [11], 11: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, + "use_extended_checks": False, }, 6: { # Auroran options "id": 6, @@ -1057,6 +1063,7 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [20, 24, 300, 301, 302, 310, 311, 312], 24: [13], 13: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, + "use_extended_checks": False, }, 7: { # Pirates "id": 7, @@ -1076,6 +1083,7 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [20, 23, 27, 30, 300, 301, 302, 310, 311, 312], 30: [32], 32: [34] }, "final_mission": 712, + "use_extended_checks": True, }, 8: { "id": 8, @@ -1095,6 +1103,7 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [22, 23, 27, 300, 301, 302, 310, 311, 312], 22: [31], 31: [32], 32: [34] }, "final_mission": 712, + "use_extended_checks": False, }, 9: { "id": 9, @@ -1114,6 +1123,7 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [20, 23, 27, 40, 300, 301, 302, 310, 311, 312], 40: [42] }, "final_mission": 474, + "use_extended_checks": False, }, 10: { "id": 10, @@ -1133,6 +1143,7 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [20, 23, 300, 301, 302, 310, 311, 312], 23: [26], 26: [51], 51: [53] }, "final_mission": 354, + "use_extended_checks": False, }, 11: { "id": 11, @@ -1152,5 +1163,6 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [20, 23, 300, 301, 302, 310, 311, 312], 23: [26], 26: [51], 51: [54] }, "final_mission": 381, + "use_extended_checks": False, } } diff --git a/worlds/evn/world.py b/worlds/evn/world.py index 746bdbe303ea..09cb6752c2ee 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -177,6 +177,7 @@ def prep_plugins_output(self) -> str: #chosen_route = story_routes[self.options.chosen_string.value] chosen_route = self.get_chosen_string() + use_extended = chosen_route["use_extended_checks"] # first, the column headers for column in misns.misn_columns.keys(): @@ -364,6 +365,10 @@ def prep_plugins_output(self) -> str: # then, custom outfit checks # these are used as LOCATIONS not ITEMS, even though they are in game items. # meaning, use locations.ev_location_bank not items.ev_item_bank. + # I kinda hate having to check this, but haven't figured out a better way yet + our_multiworld_locations = [l.name for l in self.multiworld.get_locations(self.player)] + # NOTE: This is because we may NOT have created the extended custom location checks! + for coutf in cust_outf_table.keys(): temp_coutf = cust_outf_table[coutf] for column in outfits.outf_columns.keys(): @@ -387,10 +392,19 @@ def prep_plugins_output(self) -> str: output_file_string += default_val else: #logger.info(f"Outf blocked (must have been ignored): {target_id} for outf {temp_coutf['name']}") - output_file_string += f'"b{MISSION_BLOCKING_BIT}"' + #output_file_string += f'"b{MISSION_BLOCKING_BIT}"' # Don't set that! will make bad misns available! + output_file_string += f'""' # honestly, could just drop the else block + elif (column == "buy_random"): + if target_id in locations.ev_location_bank and locations.ev_location_bank[target_id]["name"] in our_multiworld_locations: + output_file_string += default_val + else: + output_file_string += f'0\t' # don't show the item elif (column == "short_name"): - mwloc = self.multiworld.get_location(locations.ev_location_bank[target_id]["name"], self.player) # should be the populated items for my seed now (post shuffle and fill) - output_file_string += f'"{temp_coutf["name"]}\\\\n- {mwloc.player} -"\t' + if target_id in locations.ev_location_bank and locations.ev_location_bank[target_id]["name"] in our_multiworld_locations: + mwloc = self.multiworld.get_location(locations.ev_location_bank[target_id]["name"], self.player) # should be the populated items for my seed now (post shuffle and fill) + output_file_string += f'"{temp_coutf["name"]}\\\\n- {mwloc.player} -"\t' + else: + output_file_string += default_val else: output_file_string += default_val output_file_string += "\r\n" @@ -416,7 +430,7 @@ def prep_plugins_output(self) -> str: if column == "text": #logger.info(f'trying to find desc for {target_id}, and I am player {self.player}') # We need to inject our special bit here as well, so the client can know when to unlock the outf. - if target_id in locations.ev_location_bank: + if target_id in locations.ev_location_bank and locations.ev_location_bank[target_id]["name"] in our_multiworld_locations: mwloc = self.multiworld.get_location(locations.ev_location_bank[target_id]["name"], self.player) # should be the populated items for my seed now (post shuffle and fill) output_file_string += f'"{temp_desc["name"]} will unlock {mwloc.item.name}"\t' # I don't know how to get the player name yet. mwloc.player is just my player id, becuase it it is my check. else: From cc1e7bfec06ccbf813dca551e13e2f0dd7eb771a Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sat, 7 Mar 2026 22:52:32 -0800 Subject: [PATCH 19/30] EVN: fix: terraforming always available and faster Adjusted crons for terraforming to better fit the speed and availability of intended play for this sort of thing. --- worlds/evn/rezdata/crons.py | 324 ++++++++++++++++++++++++++++++++++++ worlds/evn/world.py | 20 ++- 2 files changed, 343 insertions(+), 1 deletion(-) create mode 100644 worlds/evn/rezdata/crons.py diff --git a/worlds/evn/rezdata/crons.py b/worlds/evn/rezdata/crons.py new file mode 100644 index 000000000000..7d944d572f59 --- /dev/null +++ b/worlds/evn/rezdata/crons.py @@ -0,0 +1,324 @@ +# This file is auto generated by a custom script. +# With how EVN plugins work, we essentially have to reconstruct any objects we want to modify. +# This file contains a table of character data used in EV Nova. +# Search and replace regex: (\})\r?\n?\},\r?\n?\{(\r?\n?\s+)"([\d]*)"(:) -> $1,$2$3$4 + +# NOTE: This is only a partial export. Trying not to shove too many resources into mod file, so in this case just took what I needed to fix +# Also, these have been manually adjusted. + +from typing import Dict, TypedDict, List, Set + +cron_columns = { + "resource_type": "Resource Type", + "id": "ID", + "name": "Name", + "first_day": "First Day", + "first_month": "First Month", + "first_year": "First Year", + "last_day": "Last Day", + "last_month": "Last Month", + "last_year": "Last Year", + "random": "Random", + "duration": "Duration", + "pre_holdoff": "Pre Holdoff", + "post_holdoff": "Post Holdoff", + "enable_on": "Enable On", + "on_start": "On Start", + "on_end": "On End", + "contribute": "Contribute", + "require": "Require", + "government_1": "Government 1", + "government_news_1": "Government News 1", + "government_2": "Government 2", + "government_news_2": "Government News 2", + "government_3": "Government 3", + "government_news_3": "Government News 3", + "government_4": "Government 4", + "government_news_4": "Government News 4", + "independent_news": "Independent News", + "flags": "Flags", + "end_of_resource": "End-of-resource" +} + +class CronDict(TypedDict, total=False): + resource_type: str + id: int + name: str + first_day: int + first_month: int + first_year: int + last_day: int + last_month: int + last_year: int + random: int + duration: int + pre_holdoff: int + post_holdoff: int + enable_on: str + on_start: str + on_end: str + contribute: int + require: int + government_1: int + government_news_1: int + government_2: int + government_news_2: int + government_3: int + government_news_3: int + government_4: int + government_news_4: int + independent_news: int + flags: int + end_of_resource: str + +cron_table: Dict[int, CronDict] = { + 129: { + "resource_type": "cron", + "id": "129", + "name": "Terraforming Start", + "first_day": "1", + "first_month": "1", + "first_year": "1178", + "last_day": "1", + "last_month": "1", + "last_year": "1180", + "random": "100", + "duration": "0", + "pre_holdoff": "0", + "post_holdoff": "0", + "enable_on": "!(b17 & b9998)", + "on_start": "", + "on_end": "b9998", + "contribute": "0x0000000000000000", + "require": "0x0000000000000000", + "government_1": "0", + "government_news_1": "0", + "government_2": "0", + "government_news_2": "0", + "government_3": "0", + "government_news_3": "0", + "government_4": "0", + "government_news_4": "0", + "independent_news": "0", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 130: { + "resource_type": "cron", + "id": "130", + "name": "Terraforming misn 2", + "first_day": "-1", + "first_month": "-1", + "first_year": "-1", + "last_day": "-1", + "last_month": "-1", + "last_year": "-1", + "random": "100", + "duration": "0", + "pre_holdoff": "1", + "post_holdoff": "0", + "enable_on": "b17 & !b35", + "on_start": "b35", + "on_end": "", + "contribute": "0x0000000000000000", + "require": "0x0000000000000000", + "government_1": "0", + "government_news_1": "0", + "government_2": "0", + "government_news_2": "0", + "government_3": "0", + "government_news_3": "0", + "government_4": "0", + "government_news_4": "0", + "independent_news": "0", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 131: { + "resource_type": "cron", + "id": "131", + "name": "Terraforming misn 3", + "first_day": "-1", + "first_month": "-1", + "first_year": "-1", + "last_day": "-1", + "last_month": "-1", + "last_year": "-1", + "random": "100", + "duration": "0", + "pre_holdoff": "1", + "post_holdoff": "0", + "enable_on": "b18 & !b36", + "on_start": "b36", + "on_end": "", + "contribute": "0x0000000000000000", + "require": "0x0000000000000000", + "government_1": "0", + "government_news_1": "0", + "government_2": "0", + "government_news_2": "0", + "government_3": "0", + "government_news_3": "0", + "government_4": "0", + "government_news_4": "0", + "independent_news": "0", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 132: { + "resource_type": "cron", + "id": "132", + "name": "Terraforming misn 4", + "first_day": "-1", + "first_month": "-1", + "first_year": "-1", + "last_day": "-1", + "last_month": "-1", + "last_year": "-1", + "random": "100", + "duration": "0", + "pre_holdoff": "1", + "post_holdoff": "0", + "enable_on": "b19 & !b37", + "on_start": "b37", + "on_end": "", + "contribute": "0x0000000000000000", + "require": "0x0000000000000000", + "government_1": "0", + "government_news_1": "0", + "government_2": "0", + "government_news_2": "0", + "government_3": "0", + "government_news_3": "0", + "government_4": "0", + "government_news_4": "0", + "independent_news": "0", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 133: { + "resource_type": "cron", + "id": "133", + "name": "Terraforming misn 5", + "first_day": "-1", + "first_month": "-1", + "first_year": "-1", + "last_day": "-1", + "last_month": "-1", + "last_year": "-1", + "random": "100", + "duration": "0", + "pre_holdoff": "1", + "post_holdoff": "0", + "enable_on": "b20 & !b38", + "on_start": "b38", + "on_end": "", + "contribute": "0x0000000000000000", + "require": "0x0000000000000000", + "government_1": "0", + "government_news_1": "0", + "government_2": "0", + "government_news_2": "0", + "government_3": "0", + "government_news_3": "0", + "government_4": "0", + "government_news_4": "0", + "independent_news": "0", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 134: { + "resource_type": "cron", + "id": "134", + "name": "Terraforming misn 6", + "first_day": "-1", + "first_month": "-1", + "first_year": "-1", + "last_day": "-1", + "last_month": "-1", + "last_year": "-1", + "random": "100", + "duration": "0", + "pre_holdoff": "1", + "post_holdoff": "0", + "enable_on": "b21 & !b39", + "on_start": "b39", + "on_end": "", + "contribute": "0x0000000000000000", + "require": "0x0000000000000000", + "government_1": "0", + "government_news_1": "0", + "government_2": "0", + "government_news_2": "0", + "government_3": "0", + "government_news_3": "0", + "government_4": "0", + "government_news_4": "0", + "independent_news": "0", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 135: { + "resource_type": "cron", + "id": "135", + "name": "Terraforming misn 7", + "first_day": "-1", + "first_month": "-1", + "first_year": "-1", + "last_day": "-1", + "last_month": "-1", + "last_year": "-1", + "random": "100", + "duration": "0", + "pre_holdoff": "1", + "post_holdoff": "0", + "enable_on": "b22 & !b40", + "on_start": "b40", + "on_end": "", + "contribute": "0x0000000000000000", + "require": "0x0000000000000000", + "government_1": "0", + "government_news_1": "0", + "government_2": "0", + "government_news_2": "0", + "government_3": "0", + "government_news_3": "0", + "government_4": "0", + "government_news_4": "0", + "independent_news": "0", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 136: { + "resource_type": "cron", + "id": "136", + "name": "Terraforming misn 8", + "first_day": "-1", + "first_month": "-1", + "first_year": "-1", + "last_day": "-1", + "last_month": "-1", + "last_year": "-1", + "random": "100", + "duration": "0", + "pre_holdoff": "1", + "post_holdoff": "0", + "enable_on": "b23 & !b41", + "on_start": "b41", + "on_end": "", + "contribute": "0x0000000000000000", + "require": "0x0000000000000000", + "government_1": "0", + "government_news_1": "0", + "government_2": "0", + "government_news_2": "0", + "government_3": "0", + "government_news_3": "0", + "government_4": "0", + "government_news_4": "0", + "independent_news": "0", + "flags": "0x0000", + "end_of_resource": "EOR" + } +} + diff --git a/worlds/evn/world.py b/worlds/evn/world.py index 09cb6752c2ee..5c42cb1a8865 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -14,7 +14,7 @@ from . import options as evn_options # rename due to a name conflict with World.options from .logics import story_routes, possible_regions, EVNStoryRoute, MISSION_BLOCKING_BIT -from .rezdata import misns, ships, outfits, desc, chars +from .rezdata import misns, ships, outfits, desc, chars, crons from .apdata.offsets import offsets_table from .apdata.customoutf import cust_outf_table from .apdata.customdesc import cust_desc_table @@ -460,6 +460,24 @@ def prep_plugins_output(self) -> str: output_file_string += default_val output_file_string += "\r\n" + # Crons + output_file_string += "\r\n" + for column in crons.cron_columns.keys(): + output_file_string += f'"{crons.cron_columns[column]}"\t' + output_file_string += "\r\n" + # then, the data + for item in crons.cron_table.keys(): + temp_char = crons.cron_table[item] + for column in crons.cron_columns.keys(): + current_val = temp_char[column] + default_val = current_val + "\t" + col_anno = crons.CronDict.__annotations__[column] + if col_anno == str: + default_val = f'"{current_val}"\t' + + output_file_string += default_val + output_file_string += "\r\n" + logger.info(f"output file string prepared: {output_file_string[:1000]}...") # Log the first 1000 characters of the output for debugging purposes. Be careful with this if the output can be very large, as it may cause performance issues or clutter the logs. From 739e3775f1965b9a1a9ee80d61290fa1edebf71c Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Thu, 18 Jun 2026 22:34:18 -0700 Subject: [PATCH 20/30] EVN: fix: prevent nonvellos misn lockout Vellos storyline prevents players from running other misns, which is problematic when running this randomizer with other players, and can be even solo. So, removing the lockout condition. --- worlds/evn/logics.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/worlds/evn/logics.py b/worlds/evn/logics.py index 352b9182e9bf..951722f0092c 100644 --- a/worlds/evn/logics.py +++ b/worlds/evn/logics.py @@ -197,7 +197,10 @@ class EVNRegionData(TypedDict, total=False): "refuse_button": "Don't pick this", "on_refuse": "!b511", "on_abort": "!b511", - } + }, + 130: { + "on_accept": "b450", # removing b424 as that locks out all other non-vellos missions, which is more problematic for this use case. + }, }, "entrance_rules": { "min_cargo": 10, From 8212ca95d25126e2ec08a01d862fcb857cdf1840 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Wed, 24 Jun 2026 22:10:11 -0700 Subject: [PATCH 21/30] EVN: fix: removed "avoid fleet" misn Ignoring "avoid fleet" type missions as they are not completable. Adjusted available strings to compensate for lacking location checks due to the removal. Updated / fixed some comments. --- worlds/evn/logics.py | 96 +++++++++++++++++++++++-------------------- worlds/evn/options.py | 1 + worlds/evn/world.py | 4 +- 3 files changed, 55 insertions(+), 46 deletions(-) diff --git a/worlds/evn/logics.py b/worlds/evn/logics.py index 951722f0092c..e360e6f5d6e0 100644 --- a/worlds/evn/logics.py +++ b/worlds/evn/logics.py @@ -19,9 +19,13 @@ # "Pirate" : ["Pirate"], # } -# This should be a bit that will NEVER be set. Use it to perm block missions in the seed. +# This should be a bit that will NEVER be set naturally by the game. Use it to perm block missions in the seed that you don't want to be reachable. MISSION_BLOCKING_BIT = 9955 +# NOTE: This is a bit of a catch-all for missions that don't fit well with the archipelago check system. +# Namely, this will be missions that cannot be completed. Ex: Ship asks to be refilled (afaik, the game literally doesn't have a way to trigger the on_success of the misn for this scenario.) +# Or, are engine drivers / not intended for gameplay / may never be used, found, or interacted with. Ex: "Link" missions +# Or, are highly impractical, unfun, or even impossible for a player to complete. Ex: Drop bear event (which is done as a chron based misn iirc) misns_to_ignore: List[int] = [ # for our sanity, we're going to ignore "Link" missions - they do barely more than add some text and connect missions. But can *also* be branches to bring the player back to one mission. 783, 786, 787, 788, 789, 790, 797, 798, 799, 800, 801, 804, 805, 806, 807, 811, 812, @@ -60,6 +64,9 @@ 625, # Other 133, # derelict decoy - no completion settings + + # Avoid x force or fleet misns + 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 626, 627, 628, 629, ] # Introducing this logic caused the number of available missions to drop below the item count @@ -986,7 +993,7 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [2, 20, 23, 27, 300, 301, 302, 310, 311, 312], 2: [4], 4: [5], 5: [7], 7: [9] }, "final_mission": 887, - "use_extended_checks": False, + "use_extended_checks": True, # due to how short this path is, we'll need to utilize extended checks to make sure players don't jump into the endgame too early. }, 3: { # So, there's 2 starting options, and 2 paths, for 4 combos. May implement all 4, may not. "id": 3, @@ -1006,7 +1013,7 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [3, 20, 23, 27, 300, 301, 302, 310, 311, 312], 3: [4], 4: [6], 6: [7], 7: [8] }, "final_mission": 887, - "use_extended_checks": False, + "use_extended_checks": True, }, 4: { # Auroran options "id": 4, @@ -1026,7 +1033,7 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [10, 20, 23, 27, 300, 301, 302, 310, 311, 312], 10: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, - "use_extended_checks": False, + "use_extended_checks": True, }, 5: { # Auroran options "id": 5, @@ -1046,48 +1053,49 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [21, 23, 27, 300, 301, 302, 310, 311, 312], 21: [11], 11: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, - "use_extended_checks": False, - }, - 6: { # Auroran options - "id": 6, - "name": "Auroran - From Bounty Hunter", - "option_name": "bh_auroran", - "regions": [ - # Universe - 0, - # Block other story strings - 100, 101, 102, 103, 104, 201, - # our story line - 24, 13, 12, 14, 15, 16, - # side misn stuff - 20, # WG good ending - 300, 301, 302, # Sigma - 310, 311, 312, # vellos ship misns - ], - "region_connections": { 0: [20, 24, 300, 301, 302, 310, 311, 312], 24: [13], 13: [12], 12: [14], 14: [15], 15: [16] }, - "final_mission": 686, - "use_extended_checks": False, - }, - 7: { # Pirates - "id": 7, - "name": "Pirate", - "option_name": "pirate", - "regions": [ - # Universe - 0, # universe - # Block other story strings - 100, 101, 102, 104, 201, # blocking other strings (don't connect) - # our story line - 30, 32, 34, # Story - # side misn stuff - 20, 23, 27, # WG + BH - 300, 301, 302, # Sigma - 310, 311, 312, # vellos ship misns - ], - "region_connections": { 0: [20, 23, 27, 30, 300, 301, 302, 310, 311, 312], 30: [32], 32: [34] }, - "final_mission": 712, "use_extended_checks": True, }, + # 6: { # Auroran options + # "id": 6, + # "name": "Auroran - From Bounty Hunter", + # "option_name": "bh_auroran", + # "regions": [ + # # Universe + # 0, + # # Block other story strings + # 100, 101, 102, 103, 104, 201, + # # our story line + # 24, 13, 12, 14, 15, 16, + # # side misn stuff + # 20, # WG good ending + # 300, 301, 302, # Sigma + # 310, 311, 312, # vellos ship misns + # ], + # "region_connections": { 0: [20, 24, 300, 301, 302, 310, 311, 312], 24: [13], 13: [12], 12: [14], 14: [15], 15: [16] }, + # "final_mission": 686, + # "use_extended_checks": True, + # }, + # Once again, too short and not enough locations (even with extended checks). Removing for now, may add back in later. + # 7: { # Pirates + # "id": 7, + # "name": "Pirate", + # "option_name": "pirate", + # "regions": [ + # # Universe + # 0, # universe + # # Block other story strings + # 100, 101, 102, 104, 201, # blocking other strings (don't connect) + # # our story line + # 30, 32, 34, # Story + # # side misn stuff + # 20, 23, 27, # WG + BH + # 300, 301, 302, # Sigma + # 310, 311, 312, # vellos ship misns + # ], + # "region_connections": { 0: [20, 23, 27, 30, 300, 301, 302, 310, 311, 312], 30: [32], 32: [34] }, + # "final_mission": 712, + # "use_extended_checks": True, + # }, 8: { "id": 8, "name": "Pirates - From WG", diff --git a/worlds/evn/options.py b/worlds/evn/options.py index 1c11cbeb6eb8..40dff773cd78 100644 --- a/worlds/evn/options.py +++ b/worlds/evn/options.py @@ -41,6 +41,7 @@ class ShuffleSystems(Toggle): class IncludeOutfits(DefaultOnToggle): """ Outfits will also need to be found and unlocked in order to purchase. Does not affect outfits ships come with naturally, but you may not be able to buy more ammo. + NOTE: Balance was designed around this being on. Turning it off will add lots of money filler items and probably make things much easier overall. """ display_name = "Include Outfits in shuffle" diff --git a/worlds/evn/world.py b/worlds/evn/world.py index 5c42cb1a8865..7bed30b25ef7 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -129,7 +129,7 @@ def fill_slot_data(self) -> Mapping[str, Any]: "shuffle_systems" ) # otherwise, I'll need to finish adding the options / details. - # This function is called to generate the output mod file for the player. + # This function is called to generate the output mod file (plugin) for the player. # Will present as a download link for the player on the website once generation is complete. def generate_output(self, output_directory: str): mod_name = self.multiworld.get_out_file_name_base(self.player).replace("_", "-") @@ -177,7 +177,7 @@ def prep_plugins_output(self) -> str: #chosen_route = story_routes[self.options.chosen_string.value] chosen_route = self.get_chosen_string() - use_extended = chosen_route["use_extended_checks"] + #use_extended = chosen_route["use_extended_checks"] # handled in locations.py # first, the column headers for column in misns.misn_columns.keys(): From f0b49430a4207c6b74f69f4ee7bdfa9d240ee452 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Mon, 20 Jul 2026 00:06:02 -0700 Subject: [PATCH 22/30] EVN: fix: custom outf logic, shortest story routes Finally a solution I'm happy enough with regarding the shrinking locations. Each string can now have its own count of custom outfit checks to implement, and will randomly select from its own pool. Had to increase the number of custom outfits. Re-introduced the shortest storylines. --- worlds/evn/apdata/customoutf.py | 555 +++++++++++++++++++++++++++----- worlds/evn/items.py | 6 +- worlds/evn/locations.py | 62 +++- worlds/evn/logics.py | 255 ++++++++++++--- worlds/evn/world.py | 7 + 5 files changed, 743 insertions(+), 142 deletions(-) diff --git a/worlds/evn/apdata/customoutf.py b/worlds/evn/apdata/customoutf.py index 5641fd60850a..b96f86084779 100644 --- a/worlds/evn/apdata/customoutf.py +++ b/worlds/evn/apdata/customoutf.py @@ -2,6 +2,13 @@ # This gives us a few more checks to pad with, which is helpful for the shorter storylines (pirate) # Additionally, it is an alternate way for the player to engage with checks. # Very similar to shops in other games. +# They are done here instead of in the outf data file because: +# 1. They are not part of the original game data +# 2. We may use none/some/all +# 3. They require special handling as we'll be pumping players' world data into them. +# NOTE: We have too many items (rewards) and not enough locations (checks). So, we create these to artificially increase number of locations/checks. +# Do not be confused by these being shop items (since outfits can also be shuffled). These are "shop checks", locations completed by the player +# purchasing them from the game shop. from typing import Dict from ..rezdata.outfits import OutfDict @@ -107,6 +114,38 @@ 453: { "resource_type": "outf", "id": "453", + "name": "Unlock 20k", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "15000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 20k", + "lower_case_plural_name": "Unlocks 20k", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 454: { + "resource_type": "outf", + "id": "454", "name": "Unlock 25k", "display_weight": "0", "mass": "0", @@ -136,9 +175,9 @@ "flags": "0x000C", "end_of_resource": "EOR" }, - 454: { + 455: { "resource_type": "outf", - "id": "454", + "id": "455", "name": "Unlock 50k", "display_weight": "0", "mass": "0", @@ -168,9 +207,9 @@ "flags": "0x000C", "end_of_resource": "EOR" }, - 455: { + 456: { "resource_type": "outf", - "id": "455", + "id": "456", "name": "Unlock 75k", "display_weight": "0", "mass": "0", @@ -200,9 +239,9 @@ "flags": "0x000C", "end_of_resource": "EOR" }, - 456: { + 457: { "resource_type": "outf", - "id": "456", + "id": "457", "name": "Unlock 100k", "display_weight": "0", "mass": "0", @@ -232,9 +271,9 @@ "flags": "0x000C", "end_of_resource": "EOR" }, - 457: { + 458: { "resource_type": "outf", - "id": "457", + "id": "458", "name": "Unlock 125k", "display_weight": "0", "mass": "0", @@ -264,9 +303,9 @@ "flags": "0x000C", "end_of_resource": "EOR" }, - 458: { + 459: { "resource_type": "outf", - "id": "458", + "id": "459", "name": "Unlock 150k", "display_weight": "0", "mass": "0", @@ -296,9 +335,9 @@ "flags": "0x000C", "end_of_resource": "EOR" }, - 459: { + 460: { "resource_type": "outf", - "id": "459", + "id": "460", "name": "Unlock 175k", "display_weight": "0", "mass": "0", @@ -328,9 +367,9 @@ "flags": "0x000C", "end_of_resource": "EOR" }, - 460: { + 461: { "resource_type": "outf", - "id": "460", + "id": "461", "name": "Unlock 200k", "display_weight": "0", "mass": "0", @@ -360,9 +399,9 @@ "flags": "0x000C", "end_of_resource": "EOR" }, - 461: { + 462: { "resource_type": "outf", - "id": "461", + "id": "462", "name": "Unlock 250k", "display_weight": "0", "mass": "0", @@ -392,9 +431,9 @@ "flags": "0x000C", "end_of_resource": "EOR" }, - 462: { + 463: { "resource_type": "outf", - "id": "462", + "id": "463", "name": "Unlock 500k", "display_weight": "0", "mass": "0", @@ -424,9 +463,9 @@ "flags": "0x000C", "end_of_resource": "EOR" }, - 463: { + 464: { "resource_type": "outf", - "id": "463", + "id": "464", "name": "Unlock 750k", "display_weight": "0", "mass": "0", @@ -456,9 +495,9 @@ "flags": "0x000C", "end_of_resource": "EOR" }, - 464: { + 465: { "resource_type": "outf", - "id": "464", + "id": "465", "name": "Unlock 1M", "display_weight": "0", "mass": "0", @@ -488,10 +527,10 @@ "flags": "0x000C", "end_of_resource": "EOR" }, - 465: { + 466: { "resource_type": "outf", - "id": "465", - "name": "Unlock 5M", + "id": "466", + "name": "Unlock 1.25M", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -514,8 +553,104 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 5M", - "lower_case_plural_name": "Unlocks 5M", + "lower_case_name": "Unlock 1.25M", + "lower_case_plural_name": "Unlocks 1.25M", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 467: { + "resource_type": "outf", + "id": "467", + "name": "Unlock 1.5M", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "5000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 1.5M", + "lower_case_plural_name": "Unlock 1.5M", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 468: { + "resource_type": "outf", + "id": "468", + "name": "Unlock 1.75M", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "10000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 1.75M", + "lower_case_plural_name": "Unlock 1.75M", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 469: { + "resource_type": "outf", + "id": "469", + "name": "Unlock 2M", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "15000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 2M", + "lower_case_plural_name": "Unlock 2M", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -523,7 +658,7 @@ 470: { "resource_type": "outf", "id": "470", - "name": "Unlock 5k (ext)", + "name": "Unlock 2.25M", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -536,7 +671,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "5000", + "cost": "25000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -545,9 +680,9 @@ "on_sell": "", "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", - "short_name": "Unlock 5k\\\\n- Player -", # put in that player's name for recognition? - "lower_case_name": "Unlock 5k (ext)", - "lower_case_plural_name": "Unlocks 5k (ext)", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 2.25M", + "lower_case_plural_name": "Unlock 2.25M", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -555,7 +690,7 @@ 471: { "resource_type": "outf", "id": "471", - "name": "Unlock 10k (ext)", + "name": "Unlock 2.5M", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -568,7 +703,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "10000", + "cost": "50000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -578,8 +713,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 10k (ext)", - "lower_case_plural_name": "Unlocks 10k (ext)", + "lower_case_name": "Unlock 2.5M", + "lower_case_plural_name": "Unlock 2.5M", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -587,7 +722,7 @@ 472: { "resource_type": "outf", "id": "472", - "name": "Unlock 15k (ext)", + "name": "Unlock 5M", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -600,7 +735,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "15000", + "cost": "75000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -610,8 +745,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 15k (ext)", - "lower_case_plural_name": "Unlocks 15k (ext)", + "lower_case_name": "Unlock 5M", + "lower_case_plural_name": "Unlock 5M", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -619,7 +754,7 @@ 473: { "resource_type": "outf", "id": "473", - "name": "Unlock 25k (ext)", + "name": "Unlock 500k B", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -632,7 +767,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "25000", + "cost": "500000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -642,8 +777,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 25k (ext)", - "lower_case_plural_name": "Unlocks 25k (ext)", + "lower_case_name": "Unlock 500k B", + "lower_case_plural_name": "Unlocks 500k B", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -651,7 +786,7 @@ 474: { "resource_type": "outf", "id": "474", - "name": "Unlock 50k (ext)", + "name": "Unlock 500k C", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -664,7 +799,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "50000", + "cost": "500000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -674,8 +809,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 50k (ext)", - "lower_case_plural_name": "Unlocks 50k (ext)", + "lower_case_name": "Unlock 500k C", + "lower_case_plural_name": "Unlocks 500k C", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -683,7 +818,7 @@ 475: { "resource_type": "outf", "id": "475", - "name": "Unlock 75k (ext)", + "name": "Unlock 500k D", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -696,7 +831,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "75000", + "cost": "500000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -706,8 +841,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 75k (ext)", - "lower_case_plural_name": "Unlocks 75k (ext)", + "lower_case_name": "Unlock 500k D", + "lower_case_plural_name": "Unlocks 500k D", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -715,7 +850,7 @@ 476: { "resource_type": "outf", "id": "476", - "name": "Unlock 100k (ext)", + "name": "Unlock 1M B", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -738,8 +873,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 100k (ext)", - "lower_case_plural_name": "Unlocks 100k (ext)", + "lower_case_name": "Unlock 1M B", + "lower_case_plural_name": "Unlock 1M B", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -747,7 +882,7 @@ 477: { "resource_type": "outf", "id": "477", - "name": "Unlock 125k (ext)", + "name": "Unlock 1M C", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -770,8 +905,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 125k (ext)", - "lower_case_plural_name": "Unlocks 125 (ext)", + "lower_case_name": "Unlock 1M C", + "lower_case_plural_name": "Unlock 1M C", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -779,7 +914,7 @@ 478: { "resource_type": "outf", "id": "478", - "name": "Unlock 150k (ext)", + "name": "Unlock 1M D", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -802,8 +937,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 150k (ext)", - "lower_case_plural_name": "Unlocks 150k (ext)", + "lower_case_name": "Unlock 1M D", + "lower_case_plural_name": "Unlock 1M D", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -811,7 +946,7 @@ 479: { "resource_type": "outf", "id": "479", - "name": "Unlock 175k (ext)", + "name": "Unlock 1M E", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -834,8 +969,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 175k (ext)", - "lower_case_plural_name": "Unlocks 175k (ext)", + "lower_case_name": "Unlock 1M E", + "lower_case_plural_name": "Unlock 1M E", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -843,7 +978,7 @@ 480: { "resource_type": "outf", "id": "480", - "name": "Unlock 200k (ext)", + "name": "Unlock 1M F", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -866,8 +1001,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 200k (ext)", - "lower_case_plural_name": "Unlocks 200k (ext)", + "lower_case_name": "Unlock 1M F", + "lower_case_plural_name": "Unlock 1M F", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -875,7 +1010,7 @@ 481: { "resource_type": "outf", "id": "481", - "name": "Unlock 250k (ext)", + "name": "Unlock 1M G", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -898,8 +1033,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 250k (ext)", - "lower_case_plural_name": "Unlocks 250k (ext)", + "lower_case_name": "Unlock 1M G", + "lower_case_plural_name": "Unlock 1M G", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -907,7 +1042,7 @@ 482: { "resource_type": "outf", "id": "482", - "name": "Unlock 500k (ext)", + "name": "Unlock 1M H", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -930,8 +1065,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 500k (ext)", - "lower_case_plural_name": "Unlocks 500k (ext)", + "lower_case_name": "Unlock 1M H", + "lower_case_plural_name": "Unlock 1M H", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -939,7 +1074,7 @@ 483: { "resource_type": "outf", "id": "483", - "name": "Unlock 750k (ext)", + "name": "Unlock 1M I", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -962,8 +1097,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 750k (ext)", - "lower_case_plural_name": "Unlocks 750k (ext)", + "lower_case_name": "Unlock 1M I", + "lower_case_plural_name": "Unlock 1M I", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -971,7 +1106,7 @@ 484: { "resource_type": "outf", "id": "484", - "name": "Unlock 1M (ext)", + "name": "Unlock 1M J", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -994,8 +1129,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 1M (ext)", - "lower_case_plural_name": "Unlocks 1M (ext)", + "lower_case_name": "Unlock 1M J", + "lower_case_plural_name": "Unlock 1M J", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" @@ -1003,7 +1138,263 @@ 485: { "resource_type": "outf", "id": "485", - "name": "Unlock 5M (ext)", + "name": "Unlock 2.5M B", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "5000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 2.5M B", + "lower_case_plural_name": "Unlock 2.5M B", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 486: { + "resource_type": "outf", + "id": "486", + "name": "Unlock 2.5M C", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "5000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 2.5M C", + "lower_case_plural_name": "Unlock 2.5M C", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 487: { + "resource_type": "outf", + "id": "487", + "name": "Unlock 2.5M D", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "5000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 2.5M D", + "lower_case_plural_name": "Unlock 2.5M D", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 488: { + "resource_type": "outf", + "id": "488", + "name": "Unlock 2.5M E", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "5000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 2.5M E", + "lower_case_plural_name": "Unlock 2.5M E", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 489: { + "resource_type": "outf", + "id": "489", + "name": "Unlock 2.5M F", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "5000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 2.5M F", + "lower_case_plural_name": "Unlock 2.5M F", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 490: { + "resource_type": "outf", + "id": "490", + "name": "Unlock 5M B", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "5000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 5M B", + "lower_case_plural_name": "Unlock 5M B", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 491: { + "resource_type": "outf", + "id": "491", + "name": "Unlock 5M C", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "5000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 5M C", + "lower_case_plural_name": "Unlock 5M C", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 492: { + "resource_type": "outf", + "id": "492", + "name": "Unlock 5M D", + "display_weight": "0", + "mass": "0", + "tech_level": "1", + "mod_type_1": "-1", + "mod_value_1": "-1", + "mod_type_2": "-1", + "mod_value_2": "-1", + "mod_type_3": "-1", + "mod_value_3": "-1", + "mod_type_4": "-1", + "mod_value_4": "-1", + "max_count": "1", + "cost": "5000000", + "item_class": "0", + "scan_mask": "0x0000", + "buy_random": "100", + "availability": "", + "on_purchase": "", # the bit to unlock the check + "on_sell": "", + "contribute_bits": "0x0000000000000000", + "require_bits": "0x0000000000000001", + "short_name": "", # put in that player's name for recognition? + "lower_case_name": "Unlock 5M D", + "lower_case_plural_name": "Unlock 5M D", + "requirments_government": "127", + "flags": "0x000C", + "end_of_resource": "EOR" + }, + 493: { + "resource_type": "outf", + "id": "493", + "name": "Unlock 5M E", "display_weight": "0", "mass": "0", "tech_level": "1", @@ -1026,8 +1417,8 @@ "contribute_bits": "0x0000000000000000", "require_bits": "0x0000000000000001", "short_name": "", # put in that player's name for recognition? - "lower_case_name": "Unlock 5M (ext)", - "lower_case_plural_name": "Unlocks 5M (ext)", + "lower_case_name": "Unlock 5M E", + "lower_case_plural_name": "Unlock 5M E", "requirments_government": "127", "flags": "0x000C", "end_of_resource": "EOR" diff --git a/worlds/evn/items.py b/worlds/evn/items.py index bb135ce1c4bc..ef75c03eb79e 100644 --- a/worlds/evn/items.py +++ b/worlds/evn/items.py @@ -218,7 +218,11 @@ def create_all_items(world: EVNWorld) -> None: # There's probably a more elegant way to do this, but we also need to subtract the number of completion locations, since those will be filled with event items instead of regular items. # basically, they aren't created *until* we start filling locations over in rules... so we have to account for them here. #needed_number_of_filler_items = number_of_unfilled_locations - number_of_items - len(rules.COMPLETION_LOCATIONS) # also need to subtract the number of completion locations, since those will be filled with event items instead of regular items. - # NOTE: removing 1 for the single completion location we have now that options forces story string choice. + # NOTE: removing 1 for the single completion location we have now that options.py forces story string choice. + # AKA, the final location completes the game, so isn't a valid check (in this case). It is filled by an event we use + # for detecting said completion. Thus, -1 to the overall count. + # This will show up oddly in the generator (#items, #unfilled locations, #dif - but #dif offset by 1) + # NOTE: EVN has so many items, this'll only really come into effect if the outfits aren't also shuffled. needed_number_of_filler_items = number_of_unfilled_locations - number_of_items - 1 logger.info(f"number of filler items needed: {needed_number_of_filler_items}") #logger.info(f"number of completion locations: {len(rules.COMPLETION_LOCATIONS)}") diff --git a/worlds/evn/locations.py b/worlds/evn/locations.py index 7b2f541fd03b..2cc94dde873e 100644 --- a/worlds/evn/locations.py +++ b/worlds/evn/locations.py @@ -13,6 +13,7 @@ from .apdata.offsets import offsets_table as loc_type_offset # import re +import random if TYPE_CHECKING: from .world import EVNWorld @@ -82,6 +83,8 @@ class EVNLocation(Location): # item_rule: Callable[[Item], bool] = staticmethod(lambda item: True) # item: Optional[Item] = None +# NOTE: This is *NOT* the base class get_locations of multiworld. +# Accidentally named the same thing. Ref'd only by ev_location_bank. def get_locations() -> Dict[int, EVNLocationData]: # wild. For some reason this was updating ev_item_bank, but treating item_name_to_id as a local variable and not updating it, even though we declared it as global. So, explicity informing the function that both are globals. ret_data: Dict[int, EVNLocationData] = {} @@ -97,7 +100,10 @@ def get_locations() -> Dict[int, EVNLocationData]: address=loc_id, ) + # Custom outf checks + # NOTE: Add info for all our possible custom outfits / checks in customoutf.py + # We'll filter to the ones we actually want to use later when creating our multiworld locations. for coutf in cust_outf_table.keys(): temp_outf = cust_outf_table[coutf] loc_id = loc_type_offset["outf_cks"] + (int)(temp_outf["id"]) @@ -107,6 +113,11 @@ def get_locations() -> Dict[int, EVNLocationData]: address=loc_id ) + # How many custom outfits do we need to make? + + + # get our template custom outfit + return ret_data #loc_name_to_id = {data.name: loc_id for loc_id, data in ev_location_bank.items()} @@ -147,6 +158,8 @@ def create_all_locations(world: EVNWorld) -> None: create_universe_locations(world) create_regular_locations(world) #create_events(world) + # If we were to dynamically create custom outfit locations... + # create_custom_outfit_locations(world) # Create universe locations - where not exists id in logic regions, add mission to temp obj. return temp obj into universe region list of locations @@ -167,19 +180,45 @@ def create_universe_locations(world: EVNWorld) -> None: chosen_route = world.get_chosen_string() + # This could go after the below loop, but for reader's clarity, I'm putting it here. + # Check how many additional locations we need to create for the story route + # and randomly pick them to be added. + # NOTE: Only added if shuffling outf. Otherwise, don't need for just ships. + pick_list = chosen_route["cust_outfs"].copy() + random.shuffle(pick_list) + x = 0 + y = chosen_route["use_cust_outfs_count"] + while world.options.include_outfits and x < y and len(pick_list) > 0: + #logger.info(f"copied chosen route cust out list: {len(pick_list)}; {pick_list}") + coutf = pick_list.pop() + loc = ev_location_bank[coutf + loc_type_offset["outf_cks"]] + universe.add_locations( + get_location_names_with_ids(world, [loc["name"]]) + , EVNLocation + ) + x += 1 + if x > 0 and x < y: + logger.warning(f"Ran out of custom items in story route pool before reaching desired count!") + # Check if location used by any story regions for key, loc in ev_location_bank.items(): loc_found = False # cust outf - shortcut it (was added later) + # if key > coutf_offset: # misn is 2k but outf_cks is 4k, so we know here this is an okay check + # if not chosen_route["use_extended_checks"] and "(ext)" in loc["name"]: + # #logger.info(f'skipping cust outf {key}') + # continue + # universe.add_locations( + # get_location_names_with_ids(world, [loc["name"]]) + # , EVNLocation + # ) + # continue + + # NOTE: We're not including custom outfits in the regions because we need to randomly pick from them later + # I'm not a big fan of this separation, but oh well. + # Thus, we must skip them here, and add them in the next function instead. if key > coutf_offset: # misn is 2k but outf_cks is 4k, so we know here this is an okay check - if not chosen_route["use_extended_checks"] and "(ext)" in loc["name"]: - #logger.info(f'skipping cust outf {key}') - continue - universe.add_locations( - get_location_names_with_ids(world, [loc["name"]]) - , EVNLocation - ) continue # misns @@ -189,7 +228,14 @@ def create_universe_locations(world: EVNWorld) -> None: if offset_key in misns_to_ignore: continue - # is the mission used by the storyline? + # is the mission used by a storyline? + # If the misn id is listed in the region of *any* storyline (not just the chosen one) + # then it will be skipped. + # However, it will only get added to the pool (in the next function) if it is part of + # the *chosen* storyline. + # This is neat in that a storyline doesn't have to list missions that belong to another + # storyline and thus won't be accessible in game (as saves can only play through 1 storyline) + # This side effect is that the size of the pool of locations *changes* based on the storyline chosen. for rid, sreg in possible_regions.items(): if offset_key in sreg["missions"]: loc_found = True diff --git a/worlds/evn/logics.py b/worlds/evn/logics.py index e360e6f5d6e0..739a3068e387 100644 --- a/worlds/evn/logics.py +++ b/worlds/evn/logics.py @@ -22,6 +22,36 @@ # This should be a bit that will NEVER be set naturally by the game. Use it to perm block missions in the seed that you don't want to be reachable. MISSION_BLOCKING_BIT = 9955 +# # NOTE: This is the total number of progression items in the pool that'll need locations. +# # - If you try to generate, look for the output line "number of items before filler". +# # - This will help determine the number of custom outfit shop "locations" will need to be generated. +# # Ramble time: I do *not* approve of doing it this way really... Here's a brief on the issue: +# # - There's too many outfits and ships to shuffle, and not enough missions to put them behind. +# # - So we created the custom outfits to "buy" checks. Cool. Except, I kept finding missions that are +# # incompletable in game and needed to be ignored. The result - not enough missions AGAIN. +# # - I wanted to create a dynamic determination of how many custom outfits would be needed. +# # However, locations are generated first, meaning we don't know how many items will be generated necessarily... +# # Like at run time, the code won't know. We can't call len(item_pool) as it is empty. And even if we did, +# # we'd probably get a circular reference issue or something. +# # - Conclusion: Until I find a better way, I'm going to cheat and use this enum. +# # IF YOU ARE ADDING A TC OR PLUGIN, you'll need to recalculate and adjust this number. Otherwise, there *might* be too few "locations" to generate successfully. +# ITEM_COUNT_SHORTCUT = 360 + +# MAX_CUST_CHECKS = 50 # Max number of custom outfits / locations that can be referenced +# # NOTE: increasing DOES affect gen time, so don't do so arbitrarily. +# # Ref: locations.py > get_locations() + +# # Define your function for how you want the credit cost of checks to scale +# def get_cust_check_val(x: int) -> int: +# """ +# x: current iteration. Ex: 5'th check out of total. +# result: the resulting value for that iteration. +# """ +# # NOTE: some of these values *could* be variables possibly. + + +# CUST_CHECK_FORMULA = get_cust_check_val() + # NOTE: This is a bit of a catch-all for missions that don't fit well with the archipelago check system. # Namely, this will be missions that cannot be completed. Ex: Ship asks to be refilled (afaik, the game literally doesn't have a way to trigger the on_success of the misn for this scenario.) # Or, are engine drivers / not intended for gameplay / may never be used, found, or interacted with. Ex: "Link" missions @@ -947,8 +977,10 @@ class EVNStoryRoute(TypedDict, total=False): regions: List[int] # NOTE: ORDER MATTERS. If we need to, we'll reorg to have each define their entrance and exit regions, but for now, will make the assumption that these are in order and connect in that order. region_connections: Dict[int, List[int]] # Dict[FromID, ToIDs] - Use 0 for Universe final_mission: int | None # The mission ID that we need to assign the victory condition to - use_extended_checks: bool + #use_extended_checks: bool + cust_outfs: List[int] # List of custom outfit IDs that'll be utilized. NOTE: Only used when outfits are included in shuffle. Not necessary if just ships. #region_entrance_rules: Dict[int, Dict[str, int]] # region_id: key_reason - id or count (ex: "ship": 435, "min_cargo": 10) + use_cust_outfs_count: int # the number of custom outfits to randomly pull from cust_outfs # Dictionary of our possible storylines / region routes @@ -973,7 +1005,14 @@ class EVNStoryRoute(TypedDict, total=False): #"region_connections": { 0: [1, 101, 102, 20] }, # I don't think we need to add the blocking missions "region_connections": { 0: [1, 20, 23, 27, 300, 301, 302, 310, 311, 312] }, "final_mission": 417, - "use_extended_checks": False, + #"use_extended_checks": False, + "cust_outfs": [ + 450, 454, 455, 456, 457, 458, 459, 462, 463, 464, 465 + ], # NOTE: This list of IDs are the *possible* custom outfits that could be used for this story route. + "use_cust_outfs_count": 5, #only 2 needed, 5 to round it out # This isn't how I'd want to do this, but I don't have a great way of determining how many + # custom outfits we'll actually need without creating circular references. + # Maybe I'm wrong, and we can fix this later. + # NOTE: This determines how many IDs are randomly selected from "cust_outfs" }, 2: { "id": 2, @@ -993,7 +1032,14 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [2, 20, 23, 27, 300, 301, 302, 310, 311, 312], 2: [4], 4: [5], 5: [7], 7: [9] }, "final_mission": 887, - "use_extended_checks": True, # due to how short this path is, we'll need to utilize extended checks to make sure players don't jump into the endgame too early. + #"use_extended_checks": True, # due to how short this path is, we'll need to utilize extended checks to make sure players don't jump into the endgame too early. + "cust_outfs": [ + # Core + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, + # Extra 1M + 476, 477, 478, 479, 480, 481, 482, 483, 484, + ], + "use_cust_outfs_count": 22 }, 3: { # So, there's 2 starting options, and 2 paths, for 4 combos. May implement all 4, may not. "id": 3, @@ -1013,7 +1059,14 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [3, 20, 23, 27, 300, 301, 302, 310, 311, 312], 3: [4], 4: [6], 6: [7], 7: [8] }, "final_mission": 887, - "use_extended_checks": True, + #"use_extended_checks": True, + "cust_outfs": [ + # Core + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, + # Extra 1M + 476, 477, 478, 479, 480, 481, 482, 483, 484, + ], + "use_cust_outfs_count": 20 #19 }, 4: { # Auroran options "id": 4, @@ -1033,7 +1086,18 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [10, 20, 23, 27, 300, 301, 302, 310, 311, 312], 10: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, - "use_extended_checks": True, + #"use_extended_checks": True, + "cust_outfs": [ + # Core + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, + # Extra 1M + 476, 477, 478, 479, 480, 481, 482, 483, 484, + # Extra 2.5M + 485, 486, 487, 488, 489, + # Extra 5M + 490, 491,# 492, 493, + ], + "use_cust_outfs_count": 25 #24 }, 5: { # Auroran options "id": 5, @@ -1053,49 +1117,86 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [21, 23, 27, 300, 301, 302, 310, 311, 312], 21: [11], 11: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, - "use_extended_checks": True, + #"use_extended_checks": True, + "cust_outfs": [ + # Core + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, + # Extra 1M + 476, 477, 478, 479, 480, 481, 482, 483, 484, + # Extra 2.5M + 485, 486, 487, 488, 489, + # Extra 5M + 490, 491,# 492, 493, + ], + "use_cust_outfs_count": 25 #23 + }, + 6: { # Auroran options + "id": 6, + "name": "Auroran - From Bounty Hunter", + "option_name": "bh_auroran", + "regions": [ + # Universe + 0, + # Block other story strings + 100, 101, 102, 103, 104, 201, + # our story line + 24, 13, 12, 14, 15, 16, + # side misn stuff + 20, # WG good ending + 300, 301, 302, # Sigma + 310, 311, 312, # vellos ship misns + ], + "region_connections": { 0: [20, 24, 300, 301, 302, 310, 311, 312], 24: [13], 13: [12], 12: [14], 14: [15], 15: [16] }, + "final_mission": 686, + #"use_extended_checks": True, + "cust_outfs": [ + # Core + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, + # Extra 500k + 473, 474, 475, + # Extra 1M + 476, 477, 478, 479, 480, 481, 482, 483, 484, + # Extra 2.5M + 485, 486, 487, 488, 489, + # Extra 5M + 490, 491, 492, 493, + ], + "use_cust_outfs_count": 40 #38 (filler is mostly credits, so helps offset cost?) + }, + #Once again, too short and not enough locations (even with extended checks). Removing for now, may add back in later. + 7: { # Pirates + "id": 7, + "name": "Pirate", + "option_name": "pirate", + "regions": [ + # Universe + 0, # universe + # Block other story strings + 100, 101, 102, 104, 201, # blocking other strings (don't connect) + # our story line + 30, 32, 34, # Story + # side misn stuff + 20, 23, 27, # WG + BH + 300, 301, 302, # Sigma + 310, 311, 312, # vellos ship misns + ], + "region_connections": { 0: [20, 23, 27, 30, 300, 301, 302, 310, 311, 312], 30: [32], 32: [34] }, + "final_mission": 712, + #"use_extended_checks": True, + "cust_outfs": [ + # Core + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, + # Extra 500k + 473, 474, 475, + # Extra 1M + 476, 477, 478, 479, 480, 481, 482, 483, 484, + # Extra 2.5M + 485, 486, 487, 488, 489, + # Extra 5M + 490, 491, 492, 493, + ], + "use_cust_outfs_count": 44 # damn this is so short... }, - # 6: { # Auroran options - # "id": 6, - # "name": "Auroran - From Bounty Hunter", - # "option_name": "bh_auroran", - # "regions": [ - # # Universe - # 0, - # # Block other story strings - # 100, 101, 102, 103, 104, 201, - # # our story line - # 24, 13, 12, 14, 15, 16, - # # side misn stuff - # 20, # WG good ending - # 300, 301, 302, # Sigma - # 310, 311, 312, # vellos ship misns - # ], - # "region_connections": { 0: [20, 24, 300, 301, 302, 310, 311, 312], 24: [13], 13: [12], 12: [14], 14: [15], 15: [16] }, - # "final_mission": 686, - # "use_extended_checks": True, - # }, - # Once again, too short and not enough locations (even with extended checks). Removing for now, may add back in later. - # 7: { # Pirates - # "id": 7, - # "name": "Pirate", - # "option_name": "pirate", - # "regions": [ - # # Universe - # 0, # universe - # # Block other story strings - # 100, 101, 102, 104, 201, # blocking other strings (don't connect) - # # our story line - # 30, 32, 34, # Story - # # side misn stuff - # 20, 23, 27, # WG + BH - # 300, 301, 302, # Sigma - # 310, 311, 312, # vellos ship misns - # ], - # "region_connections": { 0: [20, 23, 27, 30, 300, 301, 302, 310, 311, 312], 30: [32], 32: [34] }, - # "final_mission": 712, - # "use_extended_checks": True, - # }, 8: { "id": 8, "name": "Pirates - From WG", @@ -1114,7 +1215,20 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [22, 23, 27, 300, 301, 302, 310, 311, 312], 22: [31], 31: [32], 32: [34] }, "final_mission": 712, - "use_extended_checks": False, + #"use_extended_checks": True, + "cust_outfs": [ + # Core + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, + # Extra 500k + 473, 474, 475, + # Extra 1M + 476, 477, 478, 479, 480, 481, 482, 483, 484, + # Extra 2.5M + 485, 486, 487, 488, 489, + # Extra 5M + 490, 491, 492, 493, + ], + "use_cust_outfs_count": 43 }, 9: { "id": 9, @@ -1134,7 +1248,20 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [20, 23, 27, 40, 300, 301, 302, 310, 311, 312], 40: [42] }, "final_mission": 474, - "use_extended_checks": False, + #"use_extended_checks": True, + "cust_outfs": [ + # Core + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, + # Extra 500k + 473, 474, 475, + # Extra 1M + 476, 477, 478, 479, 480, 481, 482, 483, 484, + # Extra 2.5M + 485, 486, 487, 488, 489, + # Extra 5M + #490, 491, 492, 493, + ], + "use_cust_outfs_count": 35 #32 }, 10: { "id": 10, @@ -1154,7 +1281,20 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [20, 23, 300, 301, 302, 310, 311, 312], 23: [26], 26: [51], 51: [53] }, "final_mission": 354, - "use_extended_checks": False, + #"use_extended_checks": True, + "cust_outfs": [ + # Core + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, + # Extra 500k + 473, 474, 475, + # Extra 1M + 476, 477, 478, 479, 480, 481, 482, 483, 484, + # Extra 2.5M + 485, 486, 487, 488, 489, + # Extra 5M + 490, 491, 492, 493, + ], + "use_cust_outfs_count": 40 #39 }, 11: { "id": 11, @@ -1174,6 +1314,19 @@ class EVNStoryRoute(TypedDict, total=False): ], "region_connections": { 0: [20, 23, 300, 301, 302, 310, 311, 312], 23: [26], 26: [51], 51: [54] }, "final_mission": 381, - "use_extended_checks": False, + #"use_extended_checks": True, + "cust_outfs": [ + # Core + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, + # Extra 500k + 473, 474, 475, + # Extra 1M + 476, 477, 478, 479, 480, 481, 482, 483, 484, + # Extra 2.5M + 485, 486, 487, 488, 489, + # Extra 5M + #490, 491, 492, 493, + ], + "use_cust_outfs_count": 35 #34 } } diff --git a/worlds/evn/world.py b/worlds/evn/world.py index 7bed30b25ef7..9bb6c58e7708 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -369,6 +369,11 @@ def prep_plugins_output(self) -> str: our_multiworld_locations = [l.name for l in self.multiworld.get_locations(self.player)] # NOTE: This is because we may NOT have created the extended custom location checks! + # If we were to dynamically create custom outfit locations, we would need to do it here, but for now we will just assume they are already created in locations.py and we will just export the data for them. + # While target_id in locaitons.ev_location_bank: + # [create outfit data] + # target_id += 1 + for coutf in cust_outf_table.keys(): temp_coutf = cust_outf_table[coutf] for column in outfits.outf_columns.keys(): @@ -380,6 +385,8 @@ def prep_plugins_output(self) -> str: target_id = offsets_table["outf_cks"] + coutf + # TODO: make the locations.ev_location_bank check once here and reuse below, instead of checking for each column. But for now, this works. + if column == "on_purchase": # We need to inject our special bit here as well, so the client can know when to unlock the outf. if target_id in locations.ev_location_bank: From daa25c4ca126d380d0a70c89d5be61d39f485c1c Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Mon, 20 Jul 2026 22:45:14 -0700 Subject: [PATCH 23/30] EVN: fix: updated cust desc to match cust outf Modified custom outfits earlier, but forgot to update the associated outfit description resources. --- worlds/evn/apdata/customdesc.py | 158 ++++++++++++++++++++++++++------ 1 file changed, 129 insertions(+), 29 deletions(-) diff --git a/worlds/evn/apdata/customdesc.py b/worlds/evn/apdata/customdesc.py index a89c45e86bc4..470fbbf9cad2 100644 --- a/worlds/evn/apdata/customdesc.py +++ b/worlds/evn/apdata/customdesc.py @@ -38,7 +38,7 @@ 3325: { "resource_type": "desc", "id": "3325", - "name": "Unlock 25k", + "name": "Unlock 20k", "text": "", "graphics": "0", "movie_file": "", @@ -48,7 +48,7 @@ 3326: { "resource_type": "desc", "id": "3326", - "name": "Unlock 50k", + "name": "Unlock 25k", "text": "", "graphics": "0", "movie_file": "", @@ -58,7 +58,7 @@ 3327: { "resource_type": "desc", "id": "3327", - "name": "Unlock 75k", + "name": "Unlock 50k", "text": "", "graphics": "0", "movie_file": "", @@ -68,7 +68,7 @@ 3328: { "resource_type": "desc", "id": "3328", - "name": "Unlock 100k", + "name": "Unlock 75k", "text": "", "graphics": "0", "movie_file": "", @@ -78,7 +78,7 @@ 3329: { "resource_type": "desc", "id": "3329", - "name": "Unlock 125k", + "name": "Unlock 100k", "text": "", "graphics": "0", "movie_file": "", @@ -88,7 +88,7 @@ 3330: { "resource_type": "desc", "id": "3330", - "name": "Unlock 150k", + "name": "Unlock 175k", "text": "", "graphics": "0", "movie_file": "", @@ -98,7 +98,7 @@ 3331: { "resource_type": "desc", "id": "3331", - "name": "Unlock 175k", + "name": "Unlock 200k", "text": "", "graphics": "0", "movie_file": "", @@ -108,7 +108,7 @@ 3332: { "resource_type": "desc", "id": "3332", - "name": "Unlock 200k", + "name": "Unlock 250k", "text": "", "graphics": "0", "movie_file": "", @@ -118,7 +118,7 @@ 3333: { "resource_type": "desc", "id": "3333", - "name": "Unlock 250k", + "name": "Unlock 500k", "text": "", "graphics": "0", "movie_file": "", @@ -128,7 +128,7 @@ 3334: { "resource_type": "desc", "id": "3334", - "name": "Unlock 500k", + "name": "Unlock 750k", "text": "", "graphics": "0", "movie_file": "", @@ -138,7 +138,7 @@ 3335: { "resource_type": "desc", "id": "3335", - "name": "Unlock 750k", + "name": "Unlock 1M", "text": "", "graphics": "0", "movie_file": "", @@ -148,7 +148,7 @@ 3336: { "resource_type": "desc", "id": "3336", - "name": "Unlock 1M", + "name": "Unlock 1.25M", "text": "", "graphics": "0", "movie_file": "", @@ -158,7 +158,7 @@ 3337: { "resource_type": "desc", "id": "3337", - "name": "Unlock 5M", + "name": "Unlock 1.5M", "text": "", "graphics": "0", "movie_file": "", @@ -168,7 +168,7 @@ 3342: { "resource_type": "desc", "id": "3342", - "name": "Unlock 5k (ext)", + "name": "Unlock 1.75M", "text": "[player_name]'s [item_name]", # we'll overwrite, just leave blank. But I left this as template example. "graphics": "0", "movie_file": "", @@ -178,7 +178,7 @@ 3343: { "resource_type": "desc", "id": "3343", - "name": "Unlock 10k (ext)", + "name": "Unlock 2M", "text": "", "graphics": "0", "movie_file": "", @@ -188,7 +188,7 @@ 3344: { "resource_type": "desc", "id": "3344", - "name": "Unlock 15k (ext)", + "name": "Unlock 2.25M", "text": "", "graphics": "0", "movie_file": "", @@ -198,7 +198,7 @@ 3345: { "resource_type": "desc", "id": "3345", - "name": "Unlock 25k (ext)", + "name": "Unlock 2.5M", "text": "", "graphics": "0", "movie_file": "", @@ -208,7 +208,7 @@ 3346: { "resource_type": "desc", "id": "3346", - "name": "Unlock 50k (ext)", + "name": "Unlock 5M", "text": "", "graphics": "0", "movie_file": "", @@ -218,7 +218,7 @@ 3347: { "resource_type": "desc", "id": "3347", - "name": "Unlock 75k (ext)", + "name": "Unlock 500k B", "text": "", "graphics": "0", "movie_file": "", @@ -228,7 +228,7 @@ 3348: { "resource_type": "desc", "id": "3348", - "name": "Unlock 100k (ext)", + "name": "Unlock 500k C", "text": "", "graphics": "0", "movie_file": "", @@ -238,7 +238,7 @@ 3349: { "resource_type": "desc", "id": "3349", - "name": "Unlock 125k (ext)", + "name": "Unlock 500k D", "text": "", "graphics": "0", "movie_file": "", @@ -248,7 +248,7 @@ 3350: { "resource_type": "desc", "id": "3350", - "name": "Unlock 150k (ext)", + "name": "Unlock 1M B", "text": "", "graphics": "0", "movie_file": "", @@ -258,7 +258,7 @@ 3351: { "resource_type": "desc", "id": "3351", - "name": "Unlock 175k (ext)", + "name": "Unlock 1M C", "text": "", "graphics": "0", "movie_file": "", @@ -268,7 +268,7 @@ 3352: { "resource_type": "desc", "id": "3352", - "name": "Unlock 200k (ext)", + "name": "Unlock 1M D", "text": "", "graphics": "0", "movie_file": "", @@ -278,7 +278,7 @@ 3353: { "resource_type": "desc", "id": "3353", - "name": "Unlock 250k (ext)", + "name": "Unlock 1M E", "text": "", "graphics": "0", "movie_file": "", @@ -288,7 +288,7 @@ 3354: { "resource_type": "desc", "id": "3354", - "name": "Unlock 500k (ext)", + "name": "Unlock 1M F", "text": "", "graphics": "0", "movie_file": "", @@ -298,7 +298,7 @@ 3355: { "resource_type": "desc", "id": "3355", - "name": "Unlock 750k (ext)", + "name": "Unlock 1M G", "text": "", "graphics": "0", "movie_file": "", @@ -308,7 +308,7 @@ 3356: { "resource_type": "desc", "id": "3356", - "name": "Unlock 1M (ext)", + "name": "Unlock 1M H", "text": "", "graphics": "0", "movie_file": "", @@ -318,7 +318,107 @@ 3357: { "resource_type": "desc", "id": "3357", - "name": "Unlock 5M (ext)", + "name": "Unlock 1M I", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3358: { + "resource_type": "desc", + "id": "3358", + "name": "Unlock 1M J", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3359: { + "resource_type": "desc", + "id": "3359", + "name": "Unlock 2.5M B", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3360: { + "resource_type": "desc", + "id": "3360", + "name": "Unlock 2.5M C", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3361: { + "resource_type": "desc", + "id": "3361", + "name": "Unlock 2.5M D", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3362: { + "resource_type": "desc", + "id": "3362", + "name": "Unlock 2.5M E", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3363: { + "resource_type": "desc", + "id": "3363", + "name": "Unlock 2.5M F", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3364: { + "resource_type": "desc", + "id": "3364", + "name": "Unlock 5M B", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3365: { + "resource_type": "desc", + "id": "3365", + "name": "Unlock 5M C", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3366: { + "resource_type": "desc", + "id": "3366", + "name": "Unlock 5M D", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3366: { + "resource_type": "desc", + "id": "3366", + "name": "Unlock 5M E", "text": "", "graphics": "0", "movie_file": "", From 8795e617c7e25a6790bcf63d4570d2d84c612537 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Tue, 21 Jul 2026 22:05:59 -0700 Subject: [PATCH 24/30] EVN: docs: created setup and game docs --- worlds/evn/docs/en_EVNova.md | 81 +++++++++++ worlds/evn/docs/setup_en.md | 259 ++++++++--------------------------- 2 files changed, 138 insertions(+), 202 deletions(-) create mode 100644 worlds/evn/docs/en_EVNova.md diff --git a/worlds/evn/docs/en_EVNova.md b/worlds/evn/docs/en_EVNova.md new file mode 100644 index 000000000000..8e266d0cee00 --- /dev/null +++ b/worlds/evn/docs/en_EVNova.md @@ -0,0 +1,81 @@ +# EVNova + +## Where is the options page? + +The [player options page for this game](../player-options) contains all the options you need to configure and export a +config file. + +## What is EVNova? + +Escape Velocity Nova, or EVNova, is a space trading and combat simulation game. +The third installment in the Escape Velocity series, EVN offers players an expansive universe to explore, +filled with diverse factions, intricate storylines, and a vast array of ships and equipment. + +## What does randomization do to this game? + +All ships and outfits (if selected in options) are locked and unavailable initially. +They can all be found through checks. + +In EVNova, checks can be two things: +- Primarily, completing missions. Any mission, story, side, bar, mission BBS, etc., will unlock and item once complete. +- If outfits are also shuffled, then you'll see some AP unlock purchases available in the outfitter as well. + Purchasing one of these will also unlock an item. + +I suggest you do the tutorial missions. They are quick, and a good way to get a few initial checks done. +If you miss them, you can create a new pilot file, complete them, then return to your other pilot. + +Gameplay otherwise is as normal and largely left untouched. + +## What is the goal? + +Complete one of the 6 major story strings. +Because of how this is set up, on the options page you can either select a mission string or roll a random selection. +However, whichever string is chosen cannot be deviated from. +If the wrong choice is selected, this mod *should* allow you to attempt the mission again. +It is possible though that a new pilot may need to be created to try again. +This mod also attempts to make it more obvious as to which choice is the correct one by altering +some buttons to "Don't pick" in the dialog screens. + +Completing the final mission of the chosen story string will mark the game as complete in AP and release all remaining checks for it. + +## Join the community + +Interested in connecting with fellow fans of the franchise? +Want other plugins / mods / TCs? +Have questions? + +Join https://discord.gg/sDJBUcwFVH + +## A note about balance + +This mod was made with shuffling outfits in mind, however, that does not need to be included. +Without outfits selected, the shop will be as normal (unless the tech options are selected as well), +and a lot of missions will award extra Credits upon completion instead. +Ships will always be in the shuffle. + +Based on the tech options selected in the options window, it is possible to end up with a mix +of ships and outfits from other factions that would not normally be available in combination +together. It is up to you on whether you want to utilize these or not. +I suggest having fun with it. Why not complete the pirate story string in a rebel dragon +with polaris multi jump and vell-os darts? + +## Is *every* ship and outfit shuffled? + +1. Variants *are* included. +2. Certain variants have been hand picked to be excluded. This can be for various reasons: +- Namely, there are way more ships and outfits than there are checks (missions) available +for a story string, side strings, and general universe missions. +- AI specific variants / duplicates of ships have been filtered out. We don't need 20 nearly identical Abominations... +- Licenses have been removed. Having to unlock an item and then get lucky and find the appropriate + license outfit did not seem fun. You do not need licenses for outfs or ships. +- Certain bad variants (ex: cheap, illegal, etc.) have also been excluded. + +## Known bugs or interesting interactions + +- Vell-os powers can become available in the outfitter. For some reason, up to 6 of each power level + can be purchased... This is very overpowered and may be adjusted in the future, but for now, + it is left (this is natural to the original data, not implemented by this mod) + However, if you are first awared the outfit via the story, you will not be able to purchase additional copies. + I'm currently unsure as to why that is. +- I did remove the Vell-os story string lockout that prevents the player from purchasing standard + ships and outfits after the third mission. diff --git a/worlds/evn/docs/setup_en.md b/worlds/evn/docs/setup_en.md index cbe66d4c7631..d98e53898a08 100644 --- a/worlds/evn/docs/setup_en.md +++ b/worlds/evn/docs/setup_en.md @@ -1,231 +1,86 @@ -# Archipelago Setup Guide +# EVNova Randomizer Setup Guide -This guide is intended to provide an overview of how to: -- Install, set up, and run the Archipelago multiworld software -- Generate and host multiworlds -- Connect to the multiworld after hosting has begun +## Required Software -This is a general overview. For more specific steps, reference the relevant game's [setup guide](/tutorial). +- [EV Nova CE edition with AP mod](https://github.com/Dorrulf/EV-Nova-CE-APClient/releases) +- [EV New](https://github.com/Dorrulf/EV-Nova-CE-APClient/releases) -Some steps also assume use of Windows, so may vary with your OS. +## Optional Software -## Installing the Archipelago software +- [ArchipelagoTextClient](https://github.com/ArchipelagoMW/Archipelago/releases) -The most recent public release of Archipelago can be found on GitHub: -[Archipelago Latest Release](https://github.com/ArchipelagoMW/Archipelago/releases/latest). +## First Time Setup -Run the exe file, and after accepting the license agreement you will be asked which components you would like to -install. +1. If you have an existing EV Nova folder, make a copy of it and rename it. +2. Extract the downloaded EV Nova CE AP edition into the new EV Nova folder, or into its own folder. +3. Extract EV New into this folder as well. It should be in the same folder as the EV Nova exe. +4. Install the font files (Geneva and Charcoal) by double-clicking them and selecting "Install". +5. Open the ddraw.ini file to change desired system settings. There are setting available here that are not available in game. -Archipelago installations are automatically bundled with some programs. These include a launcher, a generator, a -server and some clients. +## Joining an Archipelago -- The launcher lets you quickly access Archipelago's different components and programs. It is found under the name - `ArchipelagoLauncher` and can be found in the main directory of your Archipelago installation. +Before joining, use the options page to choose your settings for the run and make a yaml (or generate a single player room). -- The generator allows you to generate multiworld games on your computer. Please refer to the 'Generating a game' - section of this guide for more information about it. +1. Get the link for the room and visit it. +2. Next to your player name, there will be a download link for a patch file. Download it. +3. Drag the downloaded zip onto the "DROP_AP_PATCH_HERE" file to automatically sort the files for you. +4. Open ap_config.ini and update the details based on those on the room page. +5. Run the game! -- The server will allow you to host the multiworld on your machine. Hosting on your machine requires forwarding the port -you are hosting on. The default port for Archipelago is `38281`. If you are unsure how to do this there are plenty of -other guides on the internet that will be more suited to your hardware. +EV Nova will automatically connect for you. Sometimes, this may take a moment, so just keep playing and it'll catch up. +Don't worry, no checks will be lost, it'll go through all of them once it connects. -- The clients are what are used to connect your game to the multiworld. Some games use a client that is automatically -installed with an Archipelago installation. You can access those clients via the launcher or by navigating -to your Archipelago installation. +### Quick note on Pilot options -## Generating a game +When creating a pilot, you can choose "Trader" for a standard start (shuttle, 25k) +or you can pick "Head Start" to start with a Mod Starbridge and 500k for a slightly quicker AP. -### What is a YAML? +## Archipelago Text Client -YAML is the file format which Archipelago uses in order to configure a player's world. It allows you to dictate which -game you will be playing as well as the options you would like for that game. +We recommend having Archipelago's Text Client open on the side to keep track of what items you receive and send. +EV Nova has in-game messages (bottom left), +but they disappear quickly and there's no reasonable way to check your message history in-game. -YAML is a format very similar to JSON however it is made to be more human-readable. If you are ever unsure of the -validity of your YAML file you may check the file by uploading it to the check page on the Archipelago website: -[YAML Validation Page](/check) +## ap_config.ini -### Creating a YAML +- conn_addr: Put the address and port that's listed after '/connect' on the room. E.g. archipelago.gg:12345 +- game_name: Leave this alone, it doesn't need to change. +- username: The player name you put in the options page / yaml. +- password: If the room has a password, you can put it here. Usually, this will be blank. -YAML files may be generated on the Archipelago website by visiting the [games page](/games) and clicking the -"Options Page" link under the relevant game. Clicking "Export Options" in a game's options page will download the -YAML to your system. +## Manual setup / DROP_AP_PATCH_HERE didn't work -Alternatively, you can run `ArchipelagoLauncher.exe` and click on `Generate Template Options` to create a set of template -YAMLs for each game in your Archipelago install (including for APWorlds). These will be placed in your `Players/Templates` folder. +The batch file only does the following for you to make things simpler. Feel free to open it and verify. +Optionally, you can run the following steps: -In a multiworld there must be one YAML per world. Any number of players can play on each world using either the game's -native coop system or using Archipelago's coop support. Each world will hold one slot in the multiworld and will have a -slot name and, if the relevant game requires it, files to associate it with that multiworld. +1. Move the zip file to the EV Nova AP folder and unzip it. +2. In the folder, unzip the new zip file as well. (It should look like AP-##############-P#). +3. Move the contents of the AP folder (aplocids.txt, archipelago.json, zzzapdata.txt) to the root folder (where EV Nova.exe is). +4. Open a command prompt window here, and run the following command: +.\EVNEW.exe -torez "zzzapdata.txt" "zzzapdata.rez" +5. Move the newly created zzzapdata.rez file to the plugins folder. +6. Run the game! -If multiple people plan to play in one world cooperatively then they will only need one YAML for their coop world. If -each player is planning on playing their own game then they will each need a YAML. +The next time you manually set up for a new archipelago run, you'll need to remove these files. +The batch file does this automatically. -### Generating a single player game +## Plugins -#### On the website +There is a plugin (apicons) that comes with EV Nova CE AP. Please leave it there. It provides the AP icon for the outfitter checks. -The easiest way to get started playing an Archipelago generated game, after following the base setup from the game's -setup guide, is to find the game on the [Archipelago Games List](/games), click on `Options Page`, set the options for -how you want to play, and click `Generate Game` at the bottom of the page. This will create a page for the seed, from -which you can create a room, and then [connect](#connecting-to-an-archipelago-server). +Each AP generation will result in a plugin (zzzapdata) that is specifically for that run. This is largely how the game data is shuffled and is necessary for things to work properly! -If you have downloaded the options, or have created an options file manually, this file can be uploaded on the -[Generation Page](/generate) where you can also set any specific hosting settings. +### But can I use other plugins? -#### On your local installation +Generally, no. Because this required reimplementing so much game data in the plugin, things that touch +ships, outfits, missions, crons, chars, etc. will largely be incompatible. -To generate a game on your local machine, make sure to install the Archipelago software. Navigate to your Archipelago -installation (usually C:\ProgramData\Archipelago), and place the options file you have either created or downloaded -from the website in the `Players` folder. +You may be able to use some graphic overhauls, but they have not been tested yet. *Use at your own risk.* -Run `ArchipelagoGenerate.exe`, or click on `Generate` in the launcher, and it will inform you whether the generation -was successful or not. If successful, there will be an output zip in the `output` folder -(usually named something like `AP_XXXXX.zip`). This will contain all relevant information to the session, including the -spoiler log, if one was generated. +### Will any TCs ever be implemented? -Please note that some games require you to own their ROM files to generate with them as they are needed to generate the -relevant patch files. When you generate with a ROM game for the first time, you will be asked to locate its base ROM file. -This step only needs to be done once. +Maybe. Game data for that specific TC would have to be implemented as well. Unfortunately, even +the base game was significantly less straight forward than expected due to many hidden and +incompletable "missions" that are used to facilitate other aspects of gameplay. -### Generating a multiplayer game - -Archipelago is a multi-game multiworld architecture, so any number of players and any number of games may be used to -generate. Of note, the website currently has a maximum generated player count of 30. If you would like to generate a game -larger than that, it must be done on a local installation. Generally, it is better to generate locally to free server -resources, and host the resulting multiworld on the website. - -#### Gather All Player YAMLs - -All players that wish to play in the generated multiworld must have a YAML file which contains the options that they -wish to play with. One person should gather all files from all participants in the generated multiworld. It is possible -for a single player to have multiple games, or even multiple slots of a single game, but each YAML must have a unique -player name. - -#### On the website - -Gather all player YAML files into a single place, then navigate to the [Generate Page](/generate). Select the host settings -you would like, click on `Upload File(s)`, and select all player YAML files. The site also accepts `zip` archives containing YAML -files. - -After some time, you will be redirected to a seed info page that will display the generated seed, the time it was -created, the number of players, the spoiler (if one was created) and all rooms created from this seed. - - -#### On your local installation - -It is possible to generate the multiworld locally, using a local Archipelago installation. This is done by entering the -Archipelago installation folder (usually C:\ProgramData\Archipelago) and placing each YAML file in the `Players` folder. -If the folder does not exist then it must be created manually. The files here should not be compressed. - -After filling the `Players` folder, run`ArchipelagoGenerate.exe` or click `Generate` in the launcher. The output of -the generation is placed in the `output` folder (usually named something like `AP_XXXXX.zip`). - -Please note that if any player in the game you want to generate plays a game that needs a ROM file to generate, you will -need the corresponding ROM files. - -##### Changing local host settings for generation - -Sometimes there are various settings that you may want to change before rolling a seed such as enabling race mode, -auto-release, plando support, or setting a password. - -All of these settings, plus more, can be changed by modifying the `host.yaml` file in the Archipelago -installation folder. You can quickly access this file by clicking on `Open host.yaml` in the launcher. The settings -chosen here are baked into the `.archipelago` file that gets output with the other files after generation, so if you -are rolling locally, ensure this file is edited to your liking **before** rolling the seed. This file is overwritten -when running the Archipelago Installation software. If you have changed settings in this file, and would like to retain -them, you may rename the file to `options.yaml`. - -### Playing with custom worlds - -If you are generating locally, you can play with worlds that are not included in the Archipelago installation. -These worlds are packaged as `.apworld` files. To add a world to your installation, click the "Install APWorld" button -in the launcher and select the `.apworld` file you wish to install. Alternatively, you can drag the `.apworld` file -onto the launcher or double-click the file itself (if on Windows). Once the world is installed, it will function like -the worlds that are already packaged with Archipelago. Also note that while generation with custom worlds must be done -locally, these games can then be uploaded to the website for hosting and played as normal. - -We strongly recommend that you ensure the source of the `.apworld` is safe and trustworthy before playing with a -custom world. Installed APWorlds are able to run custom code on your computer whenever you open Archipelago. - -#### Alternate versions of included worlds - -If you want to play with an alternate version of a game that is already included in Archipelago, you should also -remove the original APWorld after completing the above installation. To do so, go to your Archipelago installation -folder and navigate to the `lib/worlds` directory. Then move the `.apworld` or the folder corresponding to the game you -want to play an alternate version of to somewhere else as a backup. If you want to play this original again, then -restore the original version to `lib/worlds` and remove the alternate version, which is in the `custom_worlds` folder. - -Note: Currently, this cannot be done on the Linux AppImage release. - -## Hosting an Archipelago Server - -When a multiworld seed is generated, the multidata will be output as a `.archipelago`. If the game was generated locally, -a compressed folder will be in `/output` and will contain the `.archipelago`, the spoiler log, and any relevant files -for the generated games. - -### Hosting on the website - -After a seed page has been created on the website, clicking on `Create Room` will create a new server instance, and a -page that can be linked to the other players, so they can all see the connection info, obtain their data files, and -connect to the multiworld. Simply click on the url in the title bar, copy the link, and send it to your friends. Room -servers will shut down after 2 hours of inactivity, saving the multiworld progress. By returning to the room page, the -room server can be started back up, and the multiworld can continue to be played. If the link to the room is lost, the -creator of the room can find it on their [User Content Page](/user-content). The person who created the room becomes the -"owner" of the room, and as such has access to the server console. Clearing cookies will remove access to this console, -and there is no way to regain it. If a server password was set when generating the multiworld game, server admin -privileges may be gained by entering `!admin ` from the `ArchipelagoTextClient.exe`. - -#### The room page - -![Screenshot of Room Page](example_room.png) -1. Server/Host Name -2. Port -3. Slot Name -4. Download link for data files -5. Link to tracker page for this player - -#### From a website generated game - -After generating a game on the website, you will be redirected to the seed page. To begin playing click on `Create Room` -to create a new room page and server for your game. - -#### From a locally generated game - -After generating a game, a compressed folder will be output to the `/output` folder. Go to the -[Archipelago Host Game Page](/uploads), click on `Upload File`, navigate to your Archipelago installation, and select -the generated folder. This will create a new seed page using the information from this folder. - -### Hosting on a local machine - -The `.archipelago` file may be extracted from the compressed file. Double-clicking the file will then open -`ArchipelagoServer.exe` in order to host the multiworld on the local machine. Alternatively, running -`ArchipelagoServer.exe` and pointing the resulting file selection prompt to the `.archipelago` file or the generated -compressed folder will begin hosting. - -## Connecting to an Archipelago Server - -The actual method of connection will vary depending on the game, so follow that game's setup guide, but all games will -use the same general connection info noted here. - -### Connection Info - -For connecting from the game to the server, the connection info is needed for any of the game clients. Games that use -data files will usually contain the connection info within these files, when hosted on the Archipelago website. If the -information needs to be entered manually, it is usually comprised of four different sections. - -* `Server`, `Server Name` or `Host Name` are all used interchangeably as the domain or IP address of the server. If the -game is being hosted on the main Archipelago website this will be `archipelago.gg`. If the game is being hosted on your -own local machine `localhost` will work. If the game is being hosted on another person's computer then you enter that -person's public IP address. -* `Port` is which port on the domain or IP address the game is being hosted on. On the website room pages, this is -displayed as `archipelago.gg:`. Most clients will accept that information being entered directly as is. If the -information needs to be entered separately, then the port is the sequence of numbers after the `:`, and the `:` does -not need to be entered. If a game is being hosted from the `ArchipelagoServer.exe`, this will default to `38281` but may -be changed in the `host.yaml`. -* `Slot Name` is the name of your player slot that you are connecting to. This is the same as the name that was set -when creating your [YAML file](#creating-a-yaml). If the game is hosted on the website, this is also displayed on the -room page. The name is case-sensitive. -* `Password` is the password set by the host in order to join the multiworld. By default, this will be empty and is almost -never required, but one can be set when generating the game. Generally, leave this field blank when it exists, -unless you know that a password was set, and what that password is. +If there are enough votes for a favorite, it may happen. Let us know in the discord community (link on game page). \ No newline at end of file From 18c963a3a19a8359290e61f5bc3c07f3cf82f072 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Fri, 24 Jul 2026 18:27:37 -0700 Subject: [PATCH 25/30] EVN: fix: clean up imports to fix bad ref and gen Some import references (ex: logger) were causing issues at runtime when players were trying to generate yamls out in the live. Also removed unused references. Minor code comment / description additions. --- worlds/evn/apdata/__init__.py | 0 worlds/evn/items.py | 14 ++-- worlds/evn/locations.py | 20 +++--- worlds/evn/logics.py | 4 +- worlds/evn/patchfile.py | 6 -- worlds/evn/regions.py | 5 +- worlds/evn/rezdata/__init__.py | 0 worlds/evn/rules.py | 14 ++-- worlds/evn/world.py | 120 ++++++++++++++++++++++----------- 9 files changed, 108 insertions(+), 75 deletions(-) create mode 100644 worlds/evn/apdata/__init__.py create mode 100644 worlds/evn/rezdata/__init__.py diff --git a/worlds/evn/apdata/__init__.py b/worlds/evn/apdata/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/worlds/evn/items.py b/worlds/evn/items.py index ef75c03eb79e..05681afe6f1d 100644 --- a/worlds/evn/items.py +++ b/worlds/evn/items.py @@ -2,10 +2,10 @@ from typing import TYPE_CHECKING, Dict, List, TypedDict -from flask_caching import logger +# TODO: Fix this reference. Wtf is flask_caching? It doesn't work with AP Launcher. +# from flask_caching import logger from BaseClasses import Item, ItemClassification -from . import rules from .rezdata import ships, outfits from .logics import ships_to_ignore, outf_to_ignore @@ -133,7 +133,7 @@ def get_items() -> Dict[int, EVNItemData]: ) #j += 1 - logger.info(f"data bank size: {len(ret_bank)}") + #logger.info(f"data bank size: {len(ret_bank)}") return ret_bank @@ -197,6 +197,7 @@ def create_all_items(world: EVNWorld) -> None: itempool = [] for item_id in ev_item_bank: #NOTE: could probably now change to "if item.origin not blank, append" if ((item_id < 9900 or item_id >= 9906) and item_id != STRING_COMPLETE_BIT): # don't add credits to regular itempool, since they're just filler. We'll add them as needed in the filler section later. + # If shuffling outfits was not selected in options, skip outfit items. if (not world.options.include_outfits and ev_item_bank[item_id]["origin"] == "outf"): continue itempool.append(create_item_with_correct_classification(world, ev_item_bank[item_id]["name"])) @@ -204,14 +205,14 @@ def create_all_items(world: EVNWorld) -> None: # The length of our itempool is easy to determine, since we have it as a list. number_of_items = len(itempool) - logger.info(f"number of items before filler: {number_of_items}") + #logger.info(f"number of items before filler: {number_of_items}") #number_of_items = len(ev_item_bank) # The number of locations is also easy to determine, but we have to be careful. # Just calling len(world.get_locations()) would report an incorrect number, because of our *event locations*. # What we actually want is the number of *unfilled* locations. Luckily, there is a helper method for this: number_of_unfilled_locations = len(world.multiworld.get_unfilled_locations(world.player)) - logger.info(f"number of unfilled locations: {number_of_unfilled_locations}") + #logger.info(f"number of unfilled locations: {number_of_unfilled_locations}") # Now, we just subtract the number of items from the number of locations to get the number of empty item slots. #needed_number_of_filler_items = number_of_unfilled_locations - number_of_items @@ -224,8 +225,7 @@ def create_all_items(world: EVNWorld) -> None: # This will show up oddly in the generator (#items, #unfilled locations, #dif - but #dif offset by 1) # NOTE: EVN has so many items, this'll only really come into effect if the outfits aren't also shuffled. needed_number_of_filler_items = number_of_unfilled_locations - number_of_items - 1 - logger.info(f"number of filler items needed: {needed_number_of_filler_items}") - #logger.info(f"number of completion locations: {len(rules.COMPLETION_LOCATIONS)}") + #logger.info(f"number of filler items needed: {needed_number_of_filler_items}") # Finally, we create that many filler items and add them to the itempool. # To create our filler, we could just use world.create_item("Confetti Cannon"). diff --git a/worlds/evn/locations.py b/worlds/evn/locations.py index 2cc94dde873e..76d0db22d30c 100644 --- a/worlds/evn/locations.py +++ b/worlds/evn/locations.py @@ -1,18 +1,21 @@ from __future__ import annotations from typing import TYPE_CHECKING, Dict, Optional, TypedDict -from venv import logger +# NOTE: This allows us to log to the console. However, we dev'ed in a venv setup +# that VSCode setup for python 3.13.11... +# If we include this import in final build, AP launcher will fail to generate yaml +# due to bad reference (it won't have the virtual environment) +# NOTE: Include only when testing! +# from venv import logger -from BaseClasses import ItemClassification, Location, Region -#from worlds.evn.regions import can_accept_location # Is this an improper import? +from BaseClasses import Location from .rezdata import misns from .apdata.customoutf import cust_outf_table -from .logics import possible_regions, EVNRegionData, story_routes, EVNStoryRoute, misns_to_ignore +from .logics import possible_regions, misns_to_ignore from .apdata.offsets import offsets_table as loc_type_offset -# import re import random if TYPE_CHECKING: @@ -150,7 +153,7 @@ def get_location_names_with_ids(world: EVNWorld, location_names: list[str]) -> D ret_dict[name] = loc_name_to_id[name] else: ret_dict[name] = None - logger.info(f"location id not found for {name}") + # logger.info(f"location id not found for {name}") return ret_dict @@ -197,8 +200,9 @@ def create_universe_locations(world: EVNWorld) -> None: , EVNLocation ) x += 1 - if x > 0 and x < y: - logger.warning(f"Ran out of custom items in story route pool before reaching desired count!") + # Testing + # if x > 0 and x < y: + # logger.warning(f"Ran out of custom items in story route pool before reaching desired count!") # Check if location used by any story regions for key, loc in ev_location_bank.items(): diff --git a/worlds/evn/logics.py b/worlds/evn/logics.py index 739a3068e387..00d5933e01da 100644 --- a/worlds/evn/logics.py +++ b/worlds/evn/logics.py @@ -1,6 +1,4 @@ -from typing import Dict, TypedDict, List, Set - -#from worlds.evn.rezdata.misns import MisnDict, misn_table +from typing import Dict, TypedDict, List # PREFACE: # The biggest part of EVN that doesn't work well with AP is the potential to permanently lock out a mission, and therefore lock out a location/check. diff --git a/worlds/evn/patchfile.py b/worlds/evn/patchfile.py index f4fc4f08ddcc..98b874a9e0fa 100644 --- a/worlds/evn/patchfile.py +++ b/worlds/evn/patchfile.py @@ -1,12 +1,6 @@ -import logging - -import yaml import os -import Utils import zipfile -from datetime import datetime, UTC - from worlds.Files import APPlayerContainer # This is used to create the data file that will be downloaded for the player. Check out \world\file.py for more information on APPlayerContainer. diff --git a/worlds/evn/regions.py b/worlds/evn/regions.py index 6fb3ad49417d..65be537f6763 100644 --- a/worlds/evn/regions.py +++ b/worlds/evn/regions.py @@ -3,14 +3,13 @@ from typing import TYPE_CHECKING from BaseClasses import Entrance, Region -from venv import logger +# NOTE: Only include when testing! +# from venv import logger #from .options import ChosenString from .logics import story_routes, possible_regions -import re - if TYPE_CHECKING: from .world import EVNWorld diff --git a/worlds/evn/rezdata/__init__.py b/worlds/evn/rezdata/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/worlds/evn/rules.py b/worlds/evn/rules.py index e0d970c1a8aa..8197acfed41c 100644 --- a/worlds/evn/rules.py +++ b/worlds/evn/rules.py @@ -2,20 +2,14 @@ from typing import TYPE_CHECKING, List -from flask_caching import logger +# TODO: Fix reference. Doesn't work with AP Launcher +#from flask_caching import logger -from BaseClasses import CollectionState -from worlds.generic.Rules import add_rule, set_rule +from worlds.generic.Rules import set_rule -#from .options import ChosenString -#from .logics import story_routes -#from .locations import ev_location_bank -from .rezdata.misns import misn_table -from .rezdata.ships import ship_table #, ShipDict -#from .locations import loc_type_offset +from .rezdata.ships import ship_table from .apdata.offsets import offsets_table as loc_type_offset from .logics import possible_regions -#from .items import ev_item_bank if TYPE_CHECKING: from .world import EVNWorld diff --git a/worlds/evn/world.py b/worlds/evn/world.py index 9bb6c58e7708..63ae11e3d012 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -2,25 +2,66 @@ import os import random from typing import Any, Dict -from venv import logger +import logging # Imports of base Archipelago modules must be absolute. from worlds.AutoWorld import World -from worlds.evn.patchfile import EVNContainer + +from .patchfile import EVNContainer # Imports of your world's files must be relative. from . import items, locations, regions, rules, web_world -# from . import web_world + from . import options as evn_options # rename due to a name conflict with World.options from .logics import story_routes, possible_regions, EVNStoryRoute, MISSION_BLOCKING_BIT +# Game specific data imports from .rezdata import misns, ships, outfits, desc, chars, crons from .apdata.offsets import offsets_table from .apdata.customoutf import cust_outf_table from .apdata.customdesc import cust_desc_table +logger = logging.getLogger("Starcraft 2") + GAME_NAME = "EV Nova" +# --- How this works --- +# As a preface, the client uses bits to determine what has been completed and what is available. +# Ex: completing mission 128 can set bit 350 to 1. mission 129 checks for 350 and becomes available. +# By extension, additional ships and outfits can be made available this way as well. +# So, first we must assign each mission, ship and outfit a unique (UNUSED) bit that we care about, +# but that the game originally does not. This works because the game has a LOT of bits that it preps +# but isn't used by the original scenario's data. +# For missions (aka locations), this is "Address" +# For ships (aka items), this is "code". +# These values are used as both the bit id in the patch file, and as the ids for the server. +# They also don't change much with each generation. They are mainly affected by the options settings. +# Then, I believe the server manages a generated location -> item mapping +# When the client detects a mission (or other location) is checked, it will attempt to send all *changed* bits +# (Some missions set the same bit, those will be ignored if already checked previously). +# However, to reduce spam to the server, we provide an additional "aplocids.txt" file for the client +# to check against, thus it'll only send IDs in the list which are the ones the server cares about. +# The server then returns to the client an item "item received" function call with an item id. +# As this item ID in items.py was made the same as the bit id we care about, the client treats this +# as a bit and flips the associated bit. That ship or outfit that looks at that bit then becomes unlocked. +# Ergo, not much ID shuffling actually happens in the code defined here. + +# --- Possible Improvements --- +# This game is *very* wide, with the exception of the story string that are deep. +# When we play this, we go through 1 story string. So the game is very wide except for this one pillar. +# The result is that balancing, or rather pushing into, new spheres has been very difficult. +# There's generally about 2 spheres now, which can cause early lock ups in other games while the player +# of this game tries to find that thing. +# This is further obfuscated by a lot of the generic missions being duplicates, or rather they accomplish +# the same thing and have the same name (in game), but are different missions with different associated checks. +# The game does this so you can have multiple copies of the same mission available, except with different destinations... +# I'm not being super clear about this, but basically "Deliver 10 tons to Thror" might or might not be the same +# location check as "Deliver 10 tons to Mars"... (Because their destination is rolled, but two copies are neaded +# to have two of those options show up in Mission BBS at the same time.) +# 1. Find a way to push logic into more spheres, namely for side missions and for story string. +# 2. Find a way to present hints better to player. "Deliver 10 tons to - 331" is actually this mission +# in this gov's area, while "Deliver 10 tons to - 333" is actually over here in this gov area. + class EVNWorld(World): """ EVN, also known as Escape Velocity Nova, is a space trading and combat simulation game. @@ -31,7 +72,6 @@ class EVNWorld(World): # The docstring should contain a description of the game, to be displayed on the WebHost. # You must override the "game" field to say the name of the game. - #game = "EV Nova" game = GAME_NAME # The WebWorld is a definition class that governs how this world will be displayed on the website. @@ -44,50 +84,51 @@ class EVNWorld(World): # Our world class must have a static location_name_to_id and item_name_to_id defined. # We define these in regions.py and items.py respectively, so we just set them here. - #location_name_to_id = locations.LOCATION_NAME_TO_ID location_name_to_id = locations.loc_name_to_id - #item_name_to_id = items.ITEM_NAME_TO_ID location_id_to_name = locations.loc_id_to_name # dunno if this exists or we are declaring, but I need it. #TODO: consider this design style # are we sure this isn't empty at the time of world class definition? If so, we can just set item_name_to_id = items.item_name_to_id and avoid the redundant lookup in items.py. - #item_name_to_id = {data["name"]: item_id for item_id, data in items.ev_item_bank.items()} item_name_to_id = items.item_name_to_id - # item_name_groups = Items.item_name_groups - - # location_name_to_id = {data["name"]: loc_id for loc_id, data in Locations.location_table.items()} - # location_name_groups = Locations.location_name_groups # There is always one region that the generator starts from & assumes you can always go back to. # This defaults to "Menu", but you can change it by overriding origin_region_name. - origin_region_name = "Universe" + origin_region_name = "Universe" # Our default is the ingame universe where the player starts, with no story line association + # We need to know the story string chosen in options, or rolled if random was chosen + # As that dictates some of the things we will do, as well as the logic chunk we will refer to in logics.py _chosen_string = -1 # NOTE: the options class may have a built in random feature - let's look at that first! + # Internal, locally defined function def get_chosen_string_id(self) -> int: + """ + Determine the story string ID either chosen or rolled by the player. + Tied to logics' story route IDs. + """ if self._chosen_string > 0: return self._chosen_string cur_string = self.options.chosen_string.value - logger.info(f"player's choice for story string was {cur_string}") + #logger.info(f"player's choice for story string was {cur_string}") if cur_string > 0: self._chosen_string = cur_string return self._chosen_string # Other cases failed, so most likely this is the first call and options = 0 ("Surprise Me") - self._chosen_string = random.randint(1,len(story_routes)) # TODO: get max options avail - logger.info(f"rolled string {self._chosen_string}") + self._chosen_string = random.randint(1,len(story_routes)) + #logger.info(f"rolled string {self._chosen_string}") return self._chosen_string def get_chosen_string(self) -> EVNStoryRoute: + """ + Get the story string's data from logics. + """ return story_routes[self.get_chosen_string_id()] - + # Overwrite this function to provide player with a few early items def generate_early(self): - #early_weapon = self.random.choice(["Super Shotgun", "Plasma gun"]) - #self.multiworld.early_items[self.player][early_weapon] = 1 # Try to get some Vell-os player ships into pool in sphere 1 because altogether ~75 checks locked behind 'em self.multiworld.early_items[self.player]["Vell-os Dart381"] = 1 self.multiworld.early_items[self.player]["Vell-os Arrow382"] = 1 @@ -133,12 +174,14 @@ def fill_slot_data(self) -> Mapping[str, Any]: # Will present as a download link for the player on the website once generation is complete. def generate_output(self, output_directory: str): mod_name = self.multiworld.get_out_file_name_base(self.player).replace("_", "-") - logger.info(f"Generating output mod for player {self.player} with mod name {mod_name} in directory {output_directory}") + #logger.info(f"Generating output mod for player {self.player} with mod name {mod_name} in directory {output_directory}") mod_dir = os.path.join(output_directory, mod_name) mod_files = { - #f"test.txt": "Hello World!", # Placeholder file content. TODO: Replace with actual mod files. Can utilize helper functions to export the items into useful data strings. - "zzzapdata.txt": f"{self.prep_plugins_output()}", # The "zzz_" prefix is to ensure this file is last in the load order, so that all our data is loaded after any potential mod changes to the missions table. - "aplocids.txt": f"{self.prep_emittable_loc_ids()}", # this is just a qol filter to keep EVN client from sending bit IDs the server doesn't care about. + # Can utilize helper functions to export the items into useful data strings. + # The "zzz_" prefix is to ensure this file is last in the load order on the client, so that all our data is loaded after any potential mod changes to the missions table. + "zzzapdata.txt": f"{self.prep_plugins_output()}", + # this is just a qol filter to keep EVN client from sending bit IDs the server doesn't care about. + "aplocids.txt": f"{self.prep_emittable_loc_ids()}", } mod = EVNContainer( mod_files, @@ -196,6 +239,11 @@ def prep_plugins_output(self) -> str: # Continue with replacement process temp_mission = misns.misn_table[mission] + # By default, we usually want to alter a missions on_success trigger to unlock the item we want. + # In some cases, the actual desired outcome of a mission can be something else, such as "on_refuse". + # This is because the way story line choices are represented does not equate necessarily to the code representations. + # I.E. on_success may be choice 1, and on_refuse is choice 2. Depending on the branch of story line + # we're running through, we may want choice 2 instead. check_target = "on_success" for column in misns.misn_columns.keys(): @@ -209,37 +257,35 @@ def prep_plugins_output(self) -> str: else: current_val = misn_edits[column] + # Prep our output with the original value. + # We may alter it later (usually be adding to it.) default_val = current_val + "\t" - #if type(current_val) == str: #everything is a string because of how the data is filled. #logger.info(f"current_val type: {type(current_val)}, value: {current_val} and misns.MisnDict[column] type: {misns.MisnDict.__annotations__[column]} for column {column}") col_anno = misns.MisnDict.__annotations__[column] #logger.info(f"misns.MisnDict annotations: {misns.MisnDict.__annotations__[column]} - equal to str? {col_anno == str} or class str? {col_anno == ''} ") - #if col_anno == '': if col_anno == str: default_val = f'"{current_val}"\t' # We need to inject our special bit, as that's how the client will be able to properly inform the server which mission was completed. - #if column == "on_success": if column == check_target: - # WARNING: if we ever change this format for location names, we need to change it in both the location creation code in locations.py and this export code here, to ensure the lookups work properly. We could consider making this more robust by storing the location name directly in the mission table, but that would require a lot of changes to the mission table and mission creation code, so for now we will just be careful to maintain this format. - # So, consider fetching this somehow instead of reconstructing it from the mission name and ID. That would be more robust and less error prone, but would require a lot of changes to the mission table and mission creation code, so for now we will just be careful to maintain this format. + # WARNING: if we ever change this format for location names, we need to change it in both the location creation code in locations.py and this export code here, to ensure the lookups work properly. + # We could consider making this more robust by storing the location name directly in the mission table, but that would require a lot of changes to the mission table and mission creation code, so for now we will just be careful to maintain this format. + # So, consider fetching this somehow instead of reconstructing it from the mission name and ID. That would be more robust and less error prone, but would require a lot of changes to the mission table and mission creation code. + # For now we will just be careful to maintain this format. target_id = offsets_table["misn"] + mission if target_id in locations.ev_location_bank: associated_location = locations.ev_location_bank[target_id] new_id = associated_location["address"] if (new_id is not None): - #TESTING - #new_id = 9999 if (current_val is not None) and (current_val != ""): output_file_string += f'"b{new_id} {current_val}"\t' # No logic needed for this one else: output_file_string += f'"b{new_id}"\t' # We inject the "b" bit to indicate this is a location ID, so the client can properly parse it and know to look for an item at that location. else: - logger.info(f"Warning: on_success location {target_id} for mission {temp_mission['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the mission table and location creation code to debug this issue.") + #logger.info(f"Warning: on_success location {target_id} for mission {temp_mission['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the mission table and location creation code to debug this issue.") output_file_string += default_val else: - #logger.info(f"Warning: on_success location {target_name} for mission {temp_mission['name']} not found in location_name_to_id. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the mission table and location creation code to debug this issue.") - logger.info(f"Warning: on_success location id {target_id} for mission {temp_mission['name']} not found in location_id_to_name. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the mission table and location creation code to debug this issue.") + #logger.info(f"Warning: on_success location id {target_id} for mission {temp_mission['name']} not found in location_id_to_name. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the mission table and location creation code to debug this issue.") output_file_string += default_val # elif column == "available_bits" and mission in block_missions.values(): # output_file_string += f'"b{offsets_table['misn-block']} & ({current_val})"\t' #we know it is a bit string, and we know these ones have bits, so don't need to protect as much @@ -274,11 +320,9 @@ def prep_plugins_output(self) -> str: #associated_item = items.ev_item_bank[target_id] new_id = items.ev_item_bank[target_id]["code"] if "code" in items.ev_item_bank[target_id] else None if (new_id is not None): - #TESTING: - #new_id = 9999 output_file_string += f'"b{new_id}"\t' else: - logger.info(f"Warning: availability location {target_id} for ship {temp_ship['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the ship table and location creation code to debug this issue.") + #logger.info(f"Warning: availability location {target_id} for ship {temp_ship['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the ship table and location creation code to debug this issue.") output_file_string += default_val else: #logger.info(f"Warning: availability location {target_id} for ship {temp_ship['name']} not found in ev_item_bank. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the ship table and location creation code to debug this issue.") @@ -335,7 +379,7 @@ def prep_plugins_output(self) -> str: #new_id = 9999 output_file_string += f'"b{new_id}"\t' else: - logger.info(f"Warning: availability location {target_id} for outf {temp_outf['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") + #logger.info(f"Warning: availability location {target_id} for outf {temp_outf['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") output_file_string += default_val else: #logger.info(f"Warning: availability location {target_id} for outf {temp_outf['name']} not found in ev_item_bank. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") @@ -395,7 +439,7 @@ def prep_plugins_output(self) -> str: if (new_id is not None): output_file_string += f'"b{new_id}"\t' else: - logger.info(f"Warning: availability location {target_id} for outf {temp_coutf['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") + #logger.info(f"Warning: availability location {target_id} for outf {temp_coutf['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") output_file_string += default_val else: #logger.info(f"Outf blocked (must have been ignored): {target_id} for outf {temp_coutf['name']}") @@ -486,6 +530,6 @@ def prep_plugins_output(self) -> str: output_file_string += "\r\n" - logger.info(f"output file string prepared: {output_file_string[:1000]}...") # Log the first 1000 characters of the output for debugging purposes. Be careful with this if the output can be very large, as it may cause performance issues or clutter the logs. + #logger.info(f"output file string prepared: {output_file_string[:1000]}...") # Log the first 1000 characters of the output for debugging purposes. Be careful with this if the output can be very large, as it may cause performance issues or clutter the logs. return output_file_string \ No newline at end of file From bc373b4b2a9a4596f512f0eafc2edaeb4f3d2c79 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sun, 26 Jul 2026 13:22:23 -0700 Subject: [PATCH 26/30] EVN: chore: cleaned up code comments and desc Cleaned up and adjusted code comments and descriptions. --- worlds/evn/components.py | 52 +---------- worlds/evn/docs/setup_en.md | 7 +- worlds/evn/items.py | 83 +++++------------ worlds/evn/locations.py | 120 +++++-------------------- worlds/evn/logics.py | 114 +++++++++--------------- worlds/evn/options.py | 126 +++----------------------- worlds/evn/regions.py | 120 +++---------------------- worlds/evn/rezdata/chars.py | 2 +- worlds/evn/rules.py | 172 ++++++++---------------------------- worlds/evn/world.py | 54 ++++------- 10 files changed, 165 insertions(+), 685 deletions(-) diff --git a/worlds/evn/components.py b/worlds/evn/components.py index b42dd2874281..804bedba6362 100644 --- a/worlds/evn/components.py +++ b/worlds/evn/components.py @@ -1,51 +1 @@ -# from worlds.LauncherComponents import Component, Type, components, launch - - -# # The most common type of component is a client, but there are other components, such as sprite/palette adjusters. -# # (Note: Some worlds distribute their clients as separate, standalone programs, -# # while others include them in the apworld itself. Standalone clients are not an apworld component, -# # although you could make a component that e.g. auto-installs and launches the standalone client for the user.) -# # APQuest has a Python client inside the apworld that contains the entire game. This is a component. -# # APQuest will not teach you how to make a client or any other type of component. -# # However, let's quickly talk about how you register a component to be launchable from the Archipelago Launcher. -# # First, you'll need a function that takes a list of args (e.g. from the command line) that launches your component. -# def run_client(*args: str) -> None: -# # Ideally, you should lazily import your component code so that it doesn't have to be loaded until necessary. -# from .client.launch import launch_ap_quest_client - -# # Also, if your component has its own lifecycle, like if it is its own window that can be interacted with, -# # you should use the LauncherComponents.launch helper (which itself calls launch_subprocess). -# # This will create a subprocess for your component, launching it in a separate window from the Archipelago Launcher. -# launch(launch_ap_quest_client, name="APQuest Client", args=args) - - -# # You then add this function as a component by appending a Component instance to LauncherComponents.components. -# # Now, it will show up in the Launcher with its display name, -# # and when the user clicks on the "Open" button, your function will be run. -# components.append( -# Component( -# "APQuest Client", -# func=run_client, -# game_name="APQuest", -# component_type=Type.CLIENT, -# supports_uri=True, -# ) -# ) - -# # There are two optional parameters that are worth drawing attention to here: "game_name" and "supports_uri". -# # As you might know, on a room page on WebHost, clicking a slot name opens your locally installed Launcher -# # and asks you if you want to open a Text Client. -# # If you have "game_name" set on your Component, your user also gets the option to open that instead. -# # Furthermore, if you have "supports_uri" set to True, your Component will be passed a uri as an arg. -# # This uri contains the room url + port, the slot name, and the password. -# # You can process this uri arg to automatically connect the user to their slot without having to type anything. - -# # As you can see above, the APQuest client has both of these parameters set. -# # This means a user can click on the slot name of an APQuest slot on WebHost, -# # then click "APQuest Client" instead of "Text Client" in the Launcher popup, and after a few seconds, -# # they will be connected and playing the game without having to touch their keyboard once. - -# # Since a Component is just Python code, this doesn't just work with CommonClient-derived clients. -# # You could forward this uri arg to your standalone C++/Java/.NET/whatever client as well, -# # meaning just about every client can support this "Click on slot name -> Everything happens automatically" action. -# # The author would like to see more clients be aware of this feature and try to support it. +# EV Nova AP uses a separate client distributed independantly of AP \ No newline at end of file diff --git a/worlds/evn/docs/setup_en.md b/worlds/evn/docs/setup_en.md index d98e53898a08..9fa16f83b346 100644 --- a/worlds/evn/docs/setup_en.md +++ b/worlds/evn/docs/setup_en.md @@ -72,11 +72,14 @@ Each AP generation will result in a plugin (zzzapdata) that is specifically for ### But can I use other plugins? -Generally, no. Because this required reimplementing so much game data in the plugin, things that touch -ships, outfits, missions, crons, chars, etc. will largely be incompatible. +Generally, if it touches one of the following types of resources, no. +Because this required reimplementing so much game data in the plugin, things that touch +Resources: ships, outfits, missions, crons, chars, descriptions You may be able to use some graphic overhauls, but they have not been tested yet. *Use at your own risk.* +As weapon resources aren't touched, you could still use beam fix plugins and the like. + ### Will any TCs ever be implemented? Maybe. Game data for that specific TC would have to be implemented as well. Unfortunately, even diff --git a/worlds/evn/items.py b/worlds/evn/items.py index 05681afe6f1d..d5ff1ff6ecb6 100644 --- a/worlds/evn/items.py +++ b/worlds/evn/items.py @@ -19,6 +19,11 @@ STRING_COMPLETE_BIT = 9500 +# Every item must have a unique integer ID associated with it. +# maxes are noted but not yet enforced or in the data + +# Custom items. The client has been adjusted to listen for these as well. +# These are not interactable like customoutf.py CREDIT_IDS = { "Credits1": 9900, "Credits5": 9901, @@ -28,35 +33,6 @@ "Credits500": 9905, } -# # Every item must have a unique integer ID associated with it. -# # We will have a lookup from item name to ID here that, in world.py, we will import and bind to the world class. -# # Even if an item doesn't exist on specific options, it must be present in this lookup. -# ITEM_NAME_TO_ID = { -# "Credits": 100, -# "Starbridge": 130, -# "Fed Patrol Boat": 142, -# } - -# maxes are noted but not yet enforced or in the data -# type_offset: Dict[str, int] = { -# "Credits": 9900, # Special case! These won't actually be set - the client will check for these ids and make its own adjustment. -# "ship": 1550, # 1550 - 1999 will be ships. We have 288/450 ships, so this should be safe. -# "outf": 3100, # 3100 - 3500 for outfs. We have 242/400 outf, should be good -# } -# ADJUSTED FOR THE 128 OFFSET START ID OF EACH TYPE -# starting_id = 128 -# type_offset: Dict[str, int] = { -# "Credits": 9900, # Special case! These won't actually be set - the client will check for these ids and make its own adjustment. -# "ship": 1550 - starting_id, # 1550 - 1999 will be ships. We have 288/450 ships, so this should be safe. -# "outf": 3100 - starting_id, # 3100 - 3500 for outfs. We have 242/400 outf, should be good -# } - -# I am bothered by having to do this, or at least using this solution. -# specific_exclusions: List[int] = [ -# 895 + type_offset["ship"], #escape pod -# ] - -#EVNItemData = TypedDict("EVNItemData", {"name": str, "classification": ItemClassification, "code": int}) class EVNItemData(TypedDict, total=False): name: str classification: ItemClassification @@ -66,17 +42,7 @@ class EVNItemData(TypedDict, total=False): # Each Item instance must correctly report the "game" it belongs to. # To make this simple, it is common practice to subclass the basic Item class and override the "game" field. class EVNItem(Item): - #game = EVNWorld.game game = GAME_NAME - #bid = int # bit ID value. The control bit ID the client will use to unlock the item. - # game: str = "Generic" - # __slots__ = ("name", "classification", "code", "player", "location") - # name: str - # classification: ItemClassification - # code: Optional[int] - # """an item with code None is called an Event, and does not get written to multidata""" - # player: int - # location: Optional[Location] def get_items() -> Dict[int, EVNItemData]: @@ -97,82 +63,75 @@ def get_items() -> Dict[int, EVNItemData]: ) # ships - # turns out, the ship names are not unique due to the various models. We could add the subname, but just cat ID. - #i = 0 + # turns out, the ship names are not unique due to the various models, so we concat ID. for ship in ships.ship_table.keys(): + # In logics, we define ship ids we don't want in game. + # Check for, and skip, as necessary. if ship in ships_to_ignore: continue temp_ship = ships.ship_table[ship] item_id = type_offset["ship"] + (int)(temp_ship["id"]) # Probably a safer way to test this? Fails if not int somehow probably. - # if item_id in specific_exclusions: - # continue - #item_id = type_offset["ship"] + i # IDs started at 128 and were not guaranteed to be contiguous ret_bank[item_id] = EVNItemData( + # NOTE: WARNING - If we change these names, make sure to change them in rules.py as well!!! name=temp_ship["name"].strip() + temp_ship["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. classification=ItemClassification.progression, code=item_id, origin="ship" ) - #i += 1 # outf - #j = 0 for outf in outfits.outf_table.keys(): if outf in outf_to_ignore: continue temp_outf = outfits.outf_table[outf] item_id = type_offset["outf"] + (int)(temp_outf["id"]) # Probably a safer way to test this? Fails if not int somehow probably. - # if item_id in specific_exclusions: - # continue - #item_id = type_offset["outf"] + j ret_bank[item_id] = EVNItemData( name=temp_outf["name"].strip() + temp_outf["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. classification=ItemClassification.progression | ItemClassification.useful, # or useful? code=item_id, origin="outf" ) - #j += 1 #logger.info(f"data bank size: {len(ret_bank)}") return ret_bank -#ev_item_bank: Dict[int, EVNItemData] = get_items() ev_item_bank = get_items() + def get_item_ids() -> Dict[str, int]: # helper function to get the item name to ID mapping from our ev_item_bank. We have to do it this way since the ev_item_bank is generated dynamically from the game's data files, so we can't just hardcode an item_name_to_id mapping like in APQuest. global ev_item_bank - #return {data.name: item_id for item_id, data in ev_item_bank.items()} return {data["name"]: item_id for item_id, data in ev_item_bank.items()} #because it is now a dict, not a full regular class... -#item_name_to_id: Dict[str, int] = get_item_ids() item_name_to_id = get_item_ids() # Ontop of our regular itempool, our world must be able to create arbitrary amounts of filler as requested by core. # To do this, it must define a function called world.get_filler_item_name(), which we will define in world.py later. # For now, let's make a function that returns the name of a random filler item here in items.py. def get_random_filler_item_name(world: EVNWorld) -> str: - # TODO: rando between 9900 and 9905 for various amounts of credits. # Credits1 = 10k # Credits5 = 50k # Creadits10 = 100k # Credits50 = 500k # Credits100 = 1mil # Credits500 = 5mil # super rare, but can be used to make some really interesting item placements if it shows up early. - #return "Credits" - # return a weighted random selection + + # return a weighted random selection. Thanks doom2. return world.random.choices( - #population=["Credits1", "Credits5", "Credits10", "Credits50", "Credits100", "Credits500"], population=sorted(CREDIT_IDS.keys(), key=lambda x: CREDIT_IDS[x]), # we're assuming they pop in order I suppose... - weights=[0.1, 0.35, 0.25, 0.15, 0.1, 0.05], # 70% chance for Credits, 20% for Fed Patrol Boat, 10% for Starbridge + weights=[0.1, 0.35, 0.25, 0.15, 0.1, 0.05], k=1 )[0] def create_item_with_correct_classification(world: EVNWorld, name: str) -> EVNItem: + """ + Helper method to return items. For custom items, defines ItemClassification. Otherwise, returns item's defined classification. + Returns EVNItem object. + """ if name in CREDIT_IDS: item_id = CREDIT_IDS[name] return EVNItem( @@ -196,17 +155,17 @@ def create_item_with_correct_classification(world: EVNWorld, name: str) -> EVNIt def create_all_items(world: EVNWorld) -> None: itempool = [] for item_id in ev_item_bank: #NOTE: could probably now change to "if item.origin not blank, append" - if ((item_id < 9900 or item_id >= 9906) and item_id != STRING_COMPLETE_BIT): # don't add credits to regular itempool, since they're just filler. We'll add them as needed in the filler section later. + # don't add credits to regular itempool, since they're just filler. We'll add them as needed in the filler section later. + if ((item_id < 9900 or item_id >= 9906) and item_id != STRING_COMPLETE_BIT): # If shuffling outfits was not selected in options, skip outfit items. if (not world.options.include_outfits and ev_item_bank[item_id]["origin"] == "outf"): continue + # Add the item to the pool. itempool.append(create_item_with_correct_classification(world, ev_item_bank[item_id]["name"])) - # The length of our itempool is easy to determine, since we have it as a list. number_of_items = len(itempool) #logger.info(f"number of items before filler: {number_of_items}") - #number_of_items = len(ev_item_bank) # The number of locations is also easy to determine, but we have to be careful. # Just calling len(world.get_locations()) would report an incorrect number, because of our *event locations*. @@ -215,10 +174,8 @@ def create_all_items(world: EVNWorld) -> None: #logger.info(f"number of unfilled locations: {number_of_unfilled_locations}") # Now, we just subtract the number of items from the number of locations to get the number of empty item slots. - #needed_number_of_filler_items = number_of_unfilled_locations - number_of_items # There's probably a more elegant way to do this, but we also need to subtract the number of completion locations, since those will be filled with event items instead of regular items. # basically, they aren't created *until* we start filling locations over in rules... so we have to account for them here. - #needed_number_of_filler_items = number_of_unfilled_locations - number_of_items - len(rules.COMPLETION_LOCATIONS) # also need to subtract the number of completion locations, since those will be filled with event items instead of regular items. # NOTE: removing 1 for the single completion location we have now that options.py forces story string choice. # AKA, the final location completes the game, so isn't a valid check (in this case). It is filled by an event we use # for detecting said completion. Thus, -1 to the overall count. diff --git a/worlds/evn/locations.py b/worlds/evn/locations.py index 76d0db22d30c..55d159bc52c1 100644 --- a/worlds/evn/locations.py +++ b/worlds/evn/locations.py @@ -21,74 +21,32 @@ if TYPE_CHECKING: from .world import EVNWorld - GAME_NAME = "EV Nova" # Every location must have a unique integer ID associated with it. # We will have a lookup from location name to ID here that, in world.py, we will import and bind to the world class. -# Even if a location doesn't exist on specific options, it must be present in this lookup. -# I feel like "location" is a misnomer for a "check" -# Possible types: -# mission completes -# purchase items -# first explore of a sys -# _ -# FOR TESTING -# LOCATION_NAME_TO_ID = { -# # Location IDs don't need to be sequential, as long as they're unique and greater than 0. -# # "Example_Mission": 10, -# # "Fed Mission 1": 11, -# # "Fed Mission Final": 12, -# "Delivery to Earth; Vellos1-128": 128, -# "Visit Vell-os Homeworld; Vellos2-129": 129, -# "Head to Sol;Tutorial 001-251": 251, -# "Trade between Earth and Port Kane;Tutorial 002-630": 630, # Do *not* lock progression behind this mission -# "United Shipping Intro;United Shipping1-504": 504, -# "Un. Shipping Delivery;United Shipping1a-505": 505, -# "Take Polaris Home;Rebel I22 LAST-354": 354, -# "Take Llyrell to Korell; Vellos31 LAST-417": 417, -# "Take Krane to Earth;Fed43 LAST-474": 474, -# "A Parting Gift;Fed26 (forced) LAST-596": 596, -# "Return to Heraan;Auroran 029 LAST-686": 686, -# "Destroy McGowan;Pirate 011 LAST-712": 712, -# "Return to Ar'Za Iusia;Polaris 46-887": 887, -# } - -# to add other checks, such as outfits, give them their own offset and range. -# TODO: Move all these offset dictionaries to an offset file that they will import from. -# starting_id = 128 -# loc_type_offset: Dict[str, int] = { -# "misn": 2000 - starting_id, # 2000 - 2999 will be missions. We have 791/1000 misns, so this should be safe. -# } +# Even if a location isn't used based on specific options settings, it must be present in this lookup. +# "Locations" == "checks". (Namely missions, with additional from custom outfits) +# We may be able to expand that later, depending on game engine bit setting logic. class EVNLocationData(TypedDict, total=False): name: str address: Optional[int] #parent_region: Optional[Region] - - - # Each Location instance must correctly report the "game" it belongs to. # To make this simple, it is common practice to subclass the basic Location class and override the "game" field. class EVNLocation(Location): - #game = EVNWorld.game game = GAME_NAME - # player: int - # name: str - # address: Optional[int] # I think this is the location ID - # parent_region: Optional[Region] - # locked: bool = False - # show_in_spoiler: bool = True - # progress_type: LocationProgressType = LocationProgressType.DEFAULT - # always_allow: Callable[[CollectionState, Item], bool] = staticmethod(lambda state, item: False) - # access_rule: Callable[[CollectionState], bool] = staticmethod(lambda state: True) - # item_rule: Callable[[Item], bool] = staticmethod(lambda item: True) - # item: Optional[Item] = None # NOTE: This is *NOT* the base class get_locations of multiworld. # Accidentally named the same thing. Ref'd only by ev_location_bank. def get_locations() -> Dict[int, EVNLocationData]: + """ + Returns a dictionary of EVN Locations that include: + Missions, Custom Outfits. + These are not filtered. Contains all data from source data files. + """ # wild. For some reason this was updating ev_item_bank, but treating item_name_to_id as a local variable and not updating it, even though we declared it as global. So, explicity informing the function that both are globals. ret_data: Dict[int, EVNLocationData] = {} @@ -99,11 +57,11 @@ def get_locations() -> Dict[int, EVNLocationData]: loc_id = loc_type_offset["misn"] + (int)(temp_mission["id"]) # Probably a safer way to test this? Fails if not int somehow probably. #logger.info(f"creating location for mission {temp_mission['name']} with id {loc_id}. final name: {temp_mission['name'].strip() + '-' + temp_mission['id']}") ret_data[loc_id] = EVNLocationData( - name=temp_mission["name"].strip() + "-" + temp_mission["id"], # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. + # adding ID to name to ensure uniqueness. We could also add the subname if we wanted, but ID is probably safer. + name=temp_mission["name"].strip() + "-" + temp_mission["id"], address=loc_id, ) - # Custom outf checks # NOTE: Add info for all our possible custom outfits / checks in customoutf.py # We'll filter to the ones we actually want to use later when creating our multiworld locations. @@ -116,15 +74,8 @@ def get_locations() -> Dict[int, EVNLocationData]: address=loc_id ) - # How many custom outfits do we need to make? - - - # get our template custom outfit - return ret_data - #loc_name_to_id = {data.name: loc_id for loc_id, data in ev_location_bank.items()} - # the int key will be our control bit used by the client to identify the item ev_location_bank = get_locations() @@ -143,10 +94,6 @@ def get_location_inverted_lookup() -> Dict[int, str]: loc_id_to_name = get_location_inverted_lookup() def get_location_names_with_ids(world: EVNWorld, location_names: list[str]) -> Dict[str, int | None]: - # Surely there is a simpler way? This seems inefficient. - #return ev_location_bank[[loc_id for loc_id in ev_location_bank if ev_location_bank[loc_id].name == name][0]] - #return ev_location_bank[loc_name_to_id[name]] - #return {name: loc_name_to_id[name] for name in location_names if name in loc_name_to_id} ret_dict: Dict[str, int | None] = {} for name in location_names: if name in loc_name_to_id: @@ -160,14 +107,8 @@ def get_location_names_with_ids(world: EVNWorld, location_names: list[str]) -> D def create_all_locations(world: EVNWorld) -> None: create_universe_locations(world) create_regular_locations(world) - #create_events(world) - # If we were to dynamically create custom outfit locations... - # create_custom_outfit_locations(world) - - # Create universe locations - where not exists id in logic regions, add mission to temp obj. return temp obj into universe region list of locations - - # Create remaining locations - just the missions listed in the chosen story line's regions. Don't add the rest - they'll be blocked in the plugin. - + + def create_universe_locations(world: EVNWorld) -> None: """ Populates the default universe region with all locations not used by a story string. @@ -194,6 +135,7 @@ def create_universe_locations(world: EVNWorld) -> None: while world.options.include_outfits and x < y and len(pick_list) > 0: #logger.info(f"copied chosen route cust out list: {len(pick_list)}; {pick_list}") coutf = pick_list.pop() + # The offset is important, otherwise we'd pick the id of a different item loc = ev_location_bank[coutf + loc_type_offset["outf_cks"]] universe.add_locations( get_location_names_with_ids(world, [loc["name"]]) @@ -208,24 +150,12 @@ def create_universe_locations(world: EVNWorld) -> None: for key, loc in ev_location_bank.items(): loc_found = False - # cust outf - shortcut it (was added later) - # if key > coutf_offset: # misn is 2k but outf_cks is 4k, so we know here this is an okay check - # if not chosen_route["use_extended_checks"] and "(ext)" in loc["name"]: - # #logger.info(f'skipping cust outf {key}') - # continue - # universe.add_locations( - # get_location_names_with_ids(world, [loc["name"]]) - # , EVNLocation - # ) - # continue - - # NOTE: We're not including custom outfits in the regions because we need to randomly pick from them later - # I'm not a big fan of this separation, but oh well. - # Thus, we must skip them here, and add them in the next function instead. + # We already handled the custom outfits, so skip them here. if key > coutf_offset: # misn is 2k but outf_cks is 4k, so we know here this is an okay check continue # misns + # Find the original misn ID before offset offset_key = key - misn_offset # first, check if it is a link mission and auto-ignore @@ -258,17 +188,19 @@ def create_universe_locations(world: EVNWorld) -> None: #logger.info(f"added to universe: {key} - {offset_key} - {loc['name']}") - def create_regular_locations(world: EVNWorld) -> None: + """ + Populate regions other than the default universe with their defined locations + based on logics.py + """ # Finally, we need to put the Locations ("checks") into their regions. - # Once again, before we do anything, we can grab our regions we created by using world.get_region() - #universe = world.get_region("Universe") misn_offset = loc_type_offset["misn"] chosen_route = world.get_chosen_string() for key in chosen_route["regions"]: sregion = possible_regions[key] + # get the region object we'll add locations to world_region = world.get_region(sregion["name"]) for misnid in sregion["missions"]: loc = ev_location_bank[misnid + misn_offset] @@ -276,15 +208,3 @@ def create_regular_locations(world: EVNWorld) -> None: get_location_names_with_ids(world, [loc["name"]]) , EVNLocation ) - - # I don't know how I want to handle the victory conditions yet. - # fed_string.add_event( - # "Fed Final Mission Complete", "Victory", location_type=EVNLocation, item_type=items.EVNItem - # ) - - # universe.add_event( - # "String Complete", STRING_COMPLETE_BIT, location_type=EVNLocation, item_type=items.EVNItem - # ) - - -# NOTE: I think that event locations and items have null ID because they exist purely for AP logic, and don't actually trade to/from the game. \ No newline at end of file diff --git a/worlds/evn/logics.py b/worlds/evn/logics.py index 00d5933e01da..4b3a82a2575b 100644 --- a/worlds/evn/logics.py +++ b/worlds/evn/logics.py @@ -6,52 +6,11 @@ # Consequently, we have to protect against that in the logic less some poor (other) player's important item is forever locked. # I would love to say I found an elegant solution to this problem, but alas, I am still hard coding paths :( -# From Regions (originally): -# REGION_KEYS = { -# "Universe" : [], -# "Fed" : ["Fed"], # Fed story mission string -# "Vellos" : ["Vellos", "Vell-os"], -# "Polaris" : ["Polaris"], -# "Auroran" : ["Auroran"], -# "Rebel" : ["Rebel"], -# "Pirate" : ["Pirate"], -# } - # This should be a bit that will NEVER be set naturally by the game. Use it to perm block missions in the seed that you don't want to be reachable. MISSION_BLOCKING_BIT = 9955 -# # NOTE: This is the total number of progression items in the pool that'll need locations. -# # - If you try to generate, look for the output line "number of items before filler". -# # - This will help determine the number of custom outfit shop "locations" will need to be generated. -# # Ramble time: I do *not* approve of doing it this way really... Here's a brief on the issue: -# # - There's too many outfits and ships to shuffle, and not enough missions to put them behind. -# # - So we created the custom outfits to "buy" checks. Cool. Except, I kept finding missions that are -# # incompletable in game and needed to be ignored. The result - not enough missions AGAIN. -# # - I wanted to create a dynamic determination of how many custom outfits would be needed. -# # However, locations are generated first, meaning we don't know how many items will be generated necessarily... -# # Like at run time, the code won't know. We can't call len(item_pool) as it is empty. And even if we did, -# # we'd probably get a circular reference issue or something. -# # - Conclusion: Until I find a better way, I'm going to cheat and use this enum. -# # IF YOU ARE ADDING A TC OR PLUGIN, you'll need to recalculate and adjust this number. Otherwise, there *might* be too few "locations" to generate successfully. -# ITEM_COUNT_SHORTCUT = 360 - -# MAX_CUST_CHECKS = 50 # Max number of custom outfits / locations that can be referenced -# # NOTE: increasing DOES affect gen time, so don't do so arbitrarily. -# # Ref: locations.py > get_locations() - -# # Define your function for how you want the credit cost of checks to scale -# def get_cust_check_val(x: int) -> int: -# """ -# x: current iteration. Ex: 5'th check out of total. -# result: the resulting value for that iteration. -# """ -# # NOTE: some of these values *could* be variables possibly. - - -# CUST_CHECK_FORMULA = get_cust_check_val() - # NOTE: This is a bit of a catch-all for missions that don't fit well with the archipelago check system. -# Namely, this will be missions that cannot be completed. Ex: Ship asks to be refilled (afaik, the game literally doesn't have a way to trigger the on_success of the misn for this scenario.) +# Namely, these are missions that cannot be completed. Ex: Ship asks to be refilled (afaik, the game literally doesn't have a way to trigger the on_success of the misn for this scenario.) # Or, are engine drivers / not intended for gameplay / may never be used, found, or interacted with. Ex: "Link" missions # Or, are highly impractical, unfun, or even impossible for a player to complete. Ex: Drop bear event (which is done as a chron based misn iirc) misns_to_ignore: List[int] = [ @@ -60,12 +19,10 @@ 813, 814, 816, 817, 818, 819, 836, 837, 838, 839, 879, 905, 784, # NOTE: Special case as this is actually a mission instead of a link. Auroran 2nd try, but forcing first instead. 796, # NOTE: Another Auroran mission that requires previous failure, so won't include. - 901, # NOTE: "You Need to Register..." requests. Not going to happen, so remove. - 902, - 903, - 904, - 609, # drop bear - "haha"... - 610, + # NOTE: "You Need to Register..." requests. Not going to occur, so remove. + 901, 902, 903, 904, + # drop bear - "haha"... + 609, 610, # cutoff variants of story line missions 820, 821, 822, 823, 824, 825, 826, 860, @@ -97,11 +54,10 @@ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 626, 627, 628, 629, ] -# Introducing this logic caused the number of available missions to drop below the item count -# when also using outf. As such, we need to cut down on these. -# I'm starting with "bad apple" variants (that are more of traps than helpful), then maybe cutting into variants in general. - -# TODO: Implement in items, and change default in world so they aren't provided if not found in items bank. +# Conversely, we now need to try and trim down on the number of items. +# Essentially, there aren't enough locations, and when outfits are mixed into the random pool, +# there are way to many ships + outfits. +# Let's mostly focus on cutting duplicates, AI only variants (mostly), trap items, variants that are never worth it, etc. ships_to_ignore: List[int] = [ 168, 169, 170, 171, 185, # wraith 176, # krypt pod @@ -185,15 +141,10 @@ # I thought about offshoots that require a mission refusal, just setting the mission to auto-abort if accepted (one flag, easy) # but that would be confusing to the player I think. So, instead going to try and edit the mission to look like it has one button (cannot refuse flag) that is modelled to look like the specific option, such as "refuse" instead of "okay" -class MisnSafetyLogic(TypedDict, total=False): - misn_id: int # the id of the target mission, ex: 129 - #column_name: str # the misn.MisnDict column name, ex: on_accept - #replacement_logic: str # - column_edits: Dict[str, str] # ex: on_accept, "b511" - NOTE: The value type is still checked by the output logic, so do NOT wrap with quotes # Region class: What info do we need to know about a given segment of an overall story route? -# Note: EVNRegion would imply inheritance from AP's region class (whether it actually did or not), so let's be more specific +# NOTE: EVNRegion would imply inheritance from AP's region class (whether it actually did or not), so let's be more specific class EVNRegionData(TypedDict, total=False): id: int name: str @@ -204,14 +155,40 @@ class EVNRegionData(TypedDict, total=False): misn_edits: Dict[int, Dict[str, str]] # The typing was nice, but id was redundant... entrance_rules: Dict[str, int] # ex: "ship": 435, "min_cargo": 10 -# NOTE: This is universe and story, but may just become story if I decide to handle side stories more. -# TODO: With stories that can come from side stories, edit the branches of those side stories. Ex: If Pirate - WB pirate branch needs to be blocked (and auroran too...) +# NOTE: The purpose of this section is to group missions into reusable segments when defining our story string +# and how the regions connect. +# Section 0 is the open universe, and will end up being filled with everything now found in one of the other sections. +# So leave it blank for now. +# NOTE: When implementing this for other scenarios / TCs, keep in mind: +# - Some strings can exit into multiple other strings, or have multiple entrances. +# These need to be accounted for as well. +# Ex: There is a region for each outcome of the WildGeese string. +# A story string will then use either its specific WG entrace region, or instead use the generic +# WG one that doesn't link to another string. possible_regions: Dict[int, EVNRegionData] = { 0: { - "id": 0, # I don't know if we need this one here. It is our default starting region that all story lines start from. + # Duplicative, as it matches the index, but still, a formal ID that can be referenced. + "id": 0, # This is our default starting region that all story lines start from. + # A name that tells us the purpose of the region. "name": "Universe", - "missions": [], # I would like to dynamically populate this by adding all missions in misn_table not in any other region's list - "misn_edits": {}, + # All mission IDs that are used in this *region* (not necessarily the whole string) + "missions": [], # This is dynamically populated by adding all missions in misn_table not in any other region's list + # This allows limited modification of the misn data at gen time *without* modifying the original data. + # This is *very* useful in that we can modify it based on the string chosen and not ruin the data for other strings. + "misn_edits": { + # Example structure: + # Mission_ID: { # This is the ID of the actual mission that will be altered. It does not need to be in the missions array above. + # "column_name": "new_value", # This is the column name in the misn_table that will be altered, and the new value to set it to. + #} + # Example uses: + # - change button text + # - recycle mission if accidently refused / aborted + # - Maybe on_refuse is actually the correct option instead of on_success here. + # - block the mission from ever being available via the MISSION_BLOCK bit + }, + # This is an attempt at pushing some missions into later spheres so they aren't required + # by other players in the early game... Partial success. + # Refer to rules.py -> set_all_entrance_rules "entrance_rules": {}, }, 1: { @@ -970,16 +947,13 @@ class EVNRegionData(TypedDict, total=False): class EVNStoryRoute(TypedDict, total=False): id: int # NOTE: This will be used as the value for the options selection! - name: str # I dunno, w/e we wanna call this to clue in what it is + name: str # A readable name to tell us what it is for option_name: str # this will be prefaced by option_, and will be in the format of [word]_[word], ex: "wg_pirate" will become "option_wg_pirate" and indicate that the player will have to go through the WG storyline into the Pirate storyline regions: List[int] # NOTE: ORDER MATTERS. If we need to, we'll reorg to have each define their entrance and exit regions, but for now, will make the assumption that these are in order and connect in that order. region_connections: Dict[int, List[int]] # Dict[FromID, ToIDs] - Use 0 for Universe final_mission: int | None # The mission ID that we need to assign the victory condition to - #use_extended_checks: bool cust_outfs: List[int] # List of custom outfit IDs that'll be utilized. NOTE: Only used when outfits are included in shuffle. Not necessary if just ships. - #region_entrance_rules: Dict[int, Dict[str, int]] # region_id: key_reason - id or count (ex: "ship": 435, "min_cargo": 10) - use_cust_outfs_count: int # the number of custom outfits to randomly pull from cust_outfs - + use_cust_outfs_count: int # the number of custom outfits to randomly pull from cust_outfs. Use these two to make sure there are enough items to fulfill the locations amount. # Dictionary of our possible storylines / region routes # NOTE: IDs MUST be sequential due to how they are referenced elsewhere! @@ -1000,10 +974,8 @@ class EVNStoryRoute(TypedDict, total=False): 300, 301, 302, # Sigma 310, 311, 312, # vellos ship misns ], - #"region_connections": { 0: [1, 101, 102, 20] }, # I don't think we need to add the blocking missions "region_connections": { 0: [1, 20, 23, 27, 300, 301, 302, 310, 311, 312] }, "final_mission": 417, - #"use_extended_checks": False, "cust_outfs": [ 450, 454, 455, 456, 457, 458, 459, 462, 463, 464, 465 ], # NOTE: This list of IDs are the *possible* custom outfits that could be used for this story route. diff --git a/worlds/evn/options.py b/worlds/evn/options.py index 40dff773cd78..c9b1ac20682f 100644 --- a/worlds/evn/options.py +++ b/worlds/evn/options.py @@ -15,44 +15,22 @@ # For further reading on options, you can also read the Options API Document: # https://github.com/ArchipelagoMW/Archipelago/blob/main/docs/options%20api.md - -# The first type of Option we'll discuss is the Toggle. -# A toggle is an option that can either be on or off. This will be represented by a checkbox on the website. -# The default for a toggle is "off". -# If you want a toggle to be on by default, you can use the "DefaultOnToggle" class instead of the "Toggle" class. -# class HardMode(Toggle): +# Future idea +# class ShuffleSystems(Toggle): # """ -# In hard mode, the basic enemy and the final boss will have more health. -# The Health Upgrades become progression, as they are now required to beat the final boss. +# Shuffle the locations of all explorable systems in the universe. +# (Not Implemented) # """ - -# # The docstring of an option is used as the description on the website and in the template yaml. - -# # You'll also want to set a display name, which will determine what the option is called on the website. -# display_name = "Hard Mode" - -class ShuffleSystems(Toggle): - """ - Shuffle the locations of all explorable systems in the universe. - (Not Implemented) - """ - display_name = "Shuffle Systems" +# display_name = "Shuffle Systems" class IncludeOutfits(DefaultOnToggle): """ Outfits will also need to be found and unlocked in order to purchase. Does not affect outfits ships come with naturally, but you may not be able to buy more ammo. NOTE: Balance was designed around this being on. Turning it off will add lots of money filler items and probably make things much easier overall. + NOTE: When on, there will be additional checks added to the outfitter as custom shop items. """ display_name = "Include Outfits in shuffle" -# We basically *have* to do this, so not going to bother with on/off -# class OutfitChecks(Toggle): -# """ -# Will add Outfits that are purely checks. Purchasing them will unlock items for players. -# (Not Implemented) -# """ -# display_name = "Include Outfits as Checks" - class AlwaysAvailableShops(Toggle): """ When on, ships and outf will always show up in shops (if unlocked) @@ -66,98 +44,18 @@ class IgnoreTechReq(Toggle): """ display_name = "Ignore Tech Requirements" - -# class Hammer(Toggle): -# """ -# Adds another item to the itempool: The Hammer. -# The top middle chest will now be locked behind a breakable wall, requiring the Hammer. -# """ - -# display_name = "Hammer" - - -# class ExtraStartingChest(Toggle): -# """ -# Adds an extra chest in the bottom left, making room for an extra Confetti Cannon. -# """ - -# display_name = "Extra Starting Chest" - - -# class TrapChance(Range): -# """ -# Percentage chance that any given Confetti Cannon will be replaced by a Math Trap. -# """ - -# display_name = "Trap Chance" - -# range_start = 0 -# range_end = 100 -# default = 0 - - -# class StartWithOneConfettiCannon(Toggle): -# """ -# Start with a confetti cannon already in your inventory. -# Why? Because you deserve it. You get to celebrate yourself without doing any work first. -# """ - -# display_name = "Start With One Confetti Cannon" - - -# # A Range is a numeric option with a min and max value. This will be represented by a slider on the website. -# class ConfettiExplosiveness(Range): -# """ -# How much confetti each use of a confetti cannon will fire. -# """ - -# display_name = "Confetti Explosiveness" - -# range_start = 0 -# range_end = 10 - -# # Range options must define an explicit default value. -# default = 3 - - -# # A Choice is an option with multiple discrete choices. This will be represented by a dropdown on the website. -# class PlayerSprite(Choice): -# """ -# The sprite that the player will have. -# """ - -# display_name = "Player Sprite" - -# option_human = 0 -# option_duck = 1 -# option_horse = 2 -# option_cat = 3 - -# # Choice options must define an explicit default value. -# default = option_human - -# # For choices, you can also define aliases. -# # For example, we could make it so "player_sprite: kitty" resolves to "player_sprite: cat" like this: -# alias_kitty = option_cat - class ChosenString(Choice): """ Pick which major story string the player will follow. Other story strings will be disabled. - Surprise Me - this randomly picks a string. Find out what it is in game! + Surprise Me - this randomly picks a string during generation. Find out what it is in game! NOTE: The option name shows the path that has to be taken. Ex: vellos_polaris is the polaris story line coming from a refusal in the vellos string. default: Surprise Me """ display_name = "Major Story String" - # dynamically add the options with setattr() - # def __init__(self, value: int): - # super().__init__(value) # super's init expects a value - # setattr(self, "option_test", 100) - # for key, value in story_routes.items(): - # setattr(self, f"option_{value["option_name"]}", key) # TODO: extract option name from the key - # for key, value in story_routes.items(): - # locals().update(f"option_{value["option_name"]}", key) + # Extract our possible story routes from logics and create associated + # options for them in this list. locals().update({f"option_{value["option_name"]}": int(f"{key}") for key, value in story_routes.items()}) @@ -169,9 +67,9 @@ class ChosenString(Choice): # TODO: confirm random as an option. Choice already supports a random option somehow, how do I use that? # I guess it is just the pattern option_random_[name]? + # NOTE: Getting key errors. I don't think this is randomly rolling another option - so we'll manually handle in worlds - #option_surprise_me = 0 - option_random_surprise_me = 0 # NOTE: Getting key errors. I don't think this is randomly rolling another option - so we'll manually handle in worlds + option_random_surprise_me = 0 # option_vellos = 0 # option_fed = 1 # option_rebel = 2 @@ -186,7 +84,7 @@ class ChosenString(Choice): # This is in the format "option_name_in_snake_case: OptionClassName". @dataclass class EVNOptions(PerGameCommonOptions): - shuffle_systems: ShuffleSystems + #shuffle_systems: ShuffleSystems include_outfits: IncludeOutfits #outfit_checks: OutfitChecks chosen_string: ChosenString diff --git a/worlds/evn/regions.py b/worlds/evn/regions.py index 65be537f6763..ff229545250d 100644 --- a/worlds/evn/regions.py +++ b/worlds/evn/regions.py @@ -6,104 +6,35 @@ # NOTE: Only include when testing! # from venv import logger - -#from .options import ChosenString -from .logics import story_routes, possible_regions +from .logics import possible_regions if TYPE_CHECKING: from .world import EVNWorld # A region is a container for locations ("checks"), which connects to other regions via "Entrance" objects. -# Many games will model their Regions after physical in-game places, but you can also have more abstract regions. -# For a location to be in logic, its containing region must be reachable. -# The Entrances connecting regions can have rules - more on that in rules.py. -# This makes regions especially useful for traversal logic ("Can the player reach this part of the map?") - # Every location must be inside a region, and you must have at least one region. # This is why we create regions first, and then later we create the locations (in locations.py). -# Should probably create a subclass that inherits from Region for EVN-specific behavior, similar to how we did for Location. -# TODO: Add the other regions -# REGION_KEYS = { -# "Universe" : [], -# "Fed" : ["Fed"], # Fed story mission string -# "Vellos" : ["Vellos", "Vell-os"], -# "Polaris" : ["Polaris"], -# "Auroran" : ["Auroran"], -# "Rebel" : ["Rebel"], -# "Pirate" : ["Pirate"], -# } - -# ### Region subclass helper functions ### - -# # Let's make one more helper method before we begin actually creating locations. -# # Here's a function that extracts the value following a specific character in a given text. -# # Google AI -# def get_value_after_char(text, char): -# # Pattern explanation: -# # (?<={char}\s*) - Positive lookbehind: asserts the position is immediately -# # after the specified character and zero or more whitespaces. -# # (.*?) - Capturing group 1: lazily matches any character (except newline) -# # until the end of the line. -# #pattern = re.compile(rf'(?<={re.escape(char)}\s*)(.*?)') -# pattern = re.compile(rf'^(.*?)(?=\s+{re.escape(char)})(.*)$') -# match = pattern.search(text) -# if match: -# # returns the captured group, with leading/trailing whitespace removed -# #return match.group(1).strip() -# return match.group(3).strip() -# return None - -# def string_has_value(text, substring): -# return get_value_after_char(text.lower(), substring.lower()) is not None - -# def string_has_value_after_char(text, char, substring): -# value = get_value_after_char(text, char) -# if value is None: -# return False -# return substring.lower() in value.lower() - -# def can_accept_location(evnregion: Region, location_name: str) -> bool: -# """Helper function to determine if a region can accept a location based on keywords.""" -# keywords = REGION_KEYS.get(evnregion.name, []) -# for keyword in keywords: -# #if keyword in location_name: -# if string_has_value_after_char(location_name, ";", keyword): -# return True -# return False - -### End Region subclass helper functions ### - - def create_and_connect_regions(world: EVNWorld) -> None: create_all_regions(world) connect_regions(world) def create_all_regions(world: EVNWorld) -> None: - # Creating a region is as simple as calling the constructor of the Region class. - #universe = Region("Universe", world.player, world.multiworld) - #fed_string = Region("Fed String", world.player, world.multiworld) # Fed story mission string - # Let's put all these regions in a list. - #regions = [universe, fed_string] regions = [] - # for evregion in REGION_KEYS.keys(): - # regions.append(Region(evregion, world.player, world.multiworld)) - - # TODO: replace this repeating line with a world function, then adjust associated imports - #regions.append(Region("Universe", world.player, world.multiworld)) # we readded to possible_regions bank + # As our regions, and which regions we'll be using this run, are defined in logics already + # We just loop through and create them based on the logic data. + # AP region doesn't match our region definition - so we just need to know the name and which + # regions to create an AP counterpart for. chosen_route = world.get_chosen_string() for regionid in chosen_route["regions"]: + # Creating a region is as simple as calling the constructor of the Region class. regions.append(Region(possible_regions[regionid]["name"], world.player, world.multiworld)) #logger.info(f"added region {possible_regions[regionid]["name"]}") - # Some regions may only exist if the player enables certain options. - # In our case, the Hammer locks the top middle chest in its own room if the hammer option is enabled. - # if world.options.hammer: - # top_middle_room = Region("Top Middle Room", world.player, world.multiworld) - # regions.append(top_middle_room) + # If we wanted to filter regions based on user options from options.py, do that here # We now need to add these regions to multiworld.regions so that AP knows about their existence. world.multiworld.regions += regions @@ -111,47 +42,16 @@ def create_all_regions(world: EVNWorld) -> None: def connect_regions(world: EVNWorld) -> None: # We have regions now, but still need to connect them to each other. - # But wait, we no longer have access to the region variables we created in create_all_regions()! - # Luckily, once you've submitted your regions to multiworld.regions, - # you can get them at any time using world.get_region(...). - #universe = world.get_region("Universe") - # fed_string = world.get_region("Fed String") - - # # universe.connect(fed_string, "Universe to Fed String") - # for evregion in REGION_KEYS.keys(): - # if evregion != "Universe": - # universe.connect(world.get_region(evregion), f"Universe to {evregion}") chosen_route = world.get_chosen_string() #logger.info(f"story routes: {chosen_route["region_connections"]}") for fromid, targets in chosen_route["region_connections"].items(): + # We can fetch a region created in create_all_regions() by name via the get_region function from_r_name = possible_regions[fromid]["name"] from_region = world.get_region(from_r_name) + # A region can connect to multiple other regions, so we'll loop through its described connections to actually create them for toid in targets: to_r_name = possible_regions[toid]["name"] + # We can then connect the fetched region to the next region via the connect function from_region.connect(world.get_region(possible_regions[toid]["name"]), f"{from_r_name} to {to_r_name}") #logger.info(f"connected {possible_regions[fromid]["name"]} to {possible_regions[toid]["name"]}") - - # Okay, now we can get connecting. For this, we need to create Entrances. - # Entrances are inherently one-way, but crucially, AP assumes you can always return to the origin region. - # One way to create an Entrance is by calling the Entrance constructor. - # overworld_to_bottom_right_room = Entrance(world.player, "Overworld to Bottom Right Room", parent=overworld) - # overworld.exits.append(overworld_to_bottom_right_room) - - # # You can then connect the Entrance to the target region. - # overworld_to_bottom_right_room.connect(bottom_right_room) - - # # An even easier way is to use the region.connect helper. - # overworld.connect(right_room, "Overworld to Right Room") - # right_room.connect(final_boss_room, "Right Room to Final Boss Room") - - # # The region.connect helper even allows adding a rule immediately. - # # We'll talk more about rule creation in the set_all_rules() function in rules.py. - # overworld.connect(top_left_room, "Overworld to Top Left Room", lambda state: state.has("Key", world.player)) - - # # Some Entrances may only exist if the player enables certain options. - # # In our case, the Hammer locks the top middle chest in its own room if the hammer option is enabled. - # # In this case, we previously created an extra "Top Middle Room" region that we now need to connect to Overworld. - # if world.options.hammer: - # top_middle_room = world.get_region("Top Middle Room") - # overworld.connect(top_middle_room, "Overworld to Top Middle Room") diff --git a/worlds/evn/rezdata/chars.py b/worlds/evn/rezdata/chars.py index 3b03d7f2281f..6bebb70ee8e7 100644 --- a/worlds/evn/rezdata/chars.py +++ b/worlds/evn/rezdata/chars.py @@ -1,4 +1,4 @@ -# This file is auto generated by a custom script. +# This file is partially auto generated by a custom script. # With how EVN plugins work, we essentially have to reconstruct any objects we want to modify. # This file contains a table of character data used in EV Nova. diff --git a/worlds/evn/rules.py b/worlds/evn/rules.py index 8197acfed41c..9c9d86e2b118 100644 --- a/worlds/evn/rules.py +++ b/worlds/evn/rules.py @@ -14,22 +14,11 @@ if TYPE_CHECKING: from .world import EVNWorld - -# COMPLETION_LOCATIONS = { -# "Take Polaris Home;Rebel I22 LAST-354": 354, -# "Take Llyrell to Korell; Vellos31 LAST-417": 417, -# "Take Krane to Earth;Fed43 LAST-474": 474, -# "A Parting Gift;Fed26 (forced) LAST-596": 596, -# "Return to Heraan;Auroran 029 LAST-686": 686, -# "Destroy McGowan;Pirate 011 LAST-712": 712, -# "Return to Ar'Za Iusia;Polaris 46-887": 887, -# } - def _ship_id_rule(ship_id: int) -> str: - ship_offset = loc_type_offset["ship"] - #return ev_item_bank[ship_offset + ship_id]["name"] - # apparently can't import items bank when this is run... so we have to manually recreate the name. - # I don't like this, because it could change... + # NOTE: WARNING - we can't import the item bank. I don't recall why... Maybe it wasn't created yet? + # The result is that we have to recreate the index ID ourselves. + # I don't like that. If it changes in items, it could break this! + # NOTE: This references the item *name*, not ID later. ship_data = ship_table[ship_id] return ship_data["name"].strip() + ship_data["id"] @@ -39,12 +28,7 @@ def _min_cargo_rule(min_weight: int) -> List[str]: for ship_id, ship_data in ship_table.items(): ship_cargo = ship_data["cargo"] if int(ship_cargo) >= min_weight: - #core_list.append(ship_id) core_list.append(ship_data["name"].strip() + ship_data["id"]) - # ret_list = [] - # for ship_id in core_list: - # ret_list.append(ev_item_bank[ship_offset + ship_id]["name"]) - # return ret_list return core_list def _min_ship_str_rule(min_str: int) -> List[str]: @@ -61,7 +45,7 @@ def _min_ship_str_rule(min_str: int) -> List[str]: def set_all_rules(world: EVNWorld) -> None: # In order for AP to generate an item layout that is actually possible for the player to complete, # we need to define rules for our Entrances and Locations. - # Note: Regions do not have rules, the Entrances connecting them do! + # NOTE: Regions do not have rules, the Entrances connecting them do! # We'll do entrances first, then locations, and then finally we set our victory condition. set_all_entrance_rules(world) @@ -70,55 +54,30 @@ def set_all_rules(world: EVNWorld) -> None: def set_all_entrance_rules(world: EVNWorld) -> None: - #return - #test = 1 - # # First, we need to actually grab our entrances. Luckily, there is a helper method for this. - # overworld_to_bottom_right_room = world.get_entrance("Overworld to Bottom Right Room") - # overworld_to_top_left_room = world.get_entrance("Overworld to Top Left Room") - # right_room_to_final_boss_room = world.get_entrance("Right Room to Final Boss Room") - - # # An access rule is a function. We can define this function like any other function. - # # This function must accept exactly one parameter: A "CollectionState". - # # A CollectionState describes the current progress of the players in the multiworld, i.e. what items they have, - # # which regions they've reached, etc. - # # In an access rule, we can ask whether the player has a collected a certain item. - # # We can do this via the state.has(...) function. - # # This function takes an item name, a player number, and an optional count parameter (more on that below) - # # Since a rule only takes a CollectionState parameter, but we also need the player number in the state.has call, - # # our function needs to be locally defined so that it has access to the player number from the outer scope. - # # In our case, we are inside a function that has access to the "world" parameter, so we can use world.player. - # def can_destroy_bush(state: CollectionState) -> bool: - # return state.has("Sword", world.player) - - # # Now we can set our "can_destroy_bush" rule to our entrance which requires slashing a bush to clear the path. - # # One way to set rules is via the set_rule() function, which works on both Entrances and Locations. - # set_rule(overworld_to_bottom_right_room, can_destroy_bush) - - # # Because the function has to be defined locally, most worlds prefer the lambda syntax. - # set_rule(overworld_to_top_left_room, lambda state: state.has("Key", world.player)) - - # # Conditions can depend on event items. - # set_rule(right_room_to_final_boss_room, lambda state: state.has("Top Left Room Button Pressed", world.player)) - - # # Some entrance rules may only apply if the player enabled certain options. - # # In our case, if the hammer option is enabled, we need to add the Hammer requirement to the Entrance from - # # Overworld to the Top Middle Room. - # if world.options.hammer: - # overworld_to_top_middle_room = world.get_entrance("Overworld to Top Middle Room") - # set_rule(overworld_to_top_middle_room, lambda state: state.has("Hammer", world.player)) + # Review apquest's rules file for good info on designing this section. + # Get our story string logic + # Look at "region_connections". Format: "from_region_id", ["to_region_ids"] chosen_route = world.get_chosen_string() for from_id, to_regions in chosen_route["region_connections"].items(): from_region = possible_regions[from_id] for to_id in to_regions: to_region = possible_regions[to_id] + # Give ourselves a name we can understand about the objects and relation entrance_name = f"{from_region['name']} to {to_region['name']}" + # Helper method for grabbing entrances region_entrance = world.get_entrance(entrance_name) + # Review the type of entrance rule we described in logics + # and apply that here. + # Essentially, our rules will filter for a set of ships / outfits that meet the + # described rule req in logics, and return that filtered list, where + # the entrance rule will see if we have any of those filtered qualifying items. for rule_type, rule_value in to_region["entrance_rules"].items(): match rule_type: case "ship": temp_ship_id = _ship_id_rule(rule_value) #logger.info(f"Ship rule for: {temp_ship_id}") + # state.has wants name, not id set_rule(region_entrance, lambda state: state.has(temp_ship_id, world.player)) case "min_cargo": temp_list = _min_cargo_rule(rule_value) @@ -136,85 +95,31 @@ def set_all_entrance_rules(world: EVNWorld) -> None: def set_all_location_rules(world: EVNWorld) -> None: - # NOTE: I'll have to care for missions that can't be repeated. Ex: the first tutorial mission - if you say "no" to accepting it, you can't get it later. - - # # Let's see if event names have to be unique... - # for loc_completion_name in COMPLETION_LOCATIONS.keys(): - # #world.multiworld.get_location(loc_completion_name, world.player).place_locked_item(world.create_event("Victory")) - # world.multiworld.get_location(loc_completion_name, world.player).place_locked_item(world.create_item("Victory")) - - # if loc_name in COMPLETION_LOCATIONS: - # evregion.add_event(loc_name, "Victory", location_type=EVNLocation, item_type=items.EVNItem) - - - # chosen_route = story_routes[world.options.chosen_string.value] - # world.multiworld.get_location(ev_location_bank[chosen_route["final_mission"]], world.player).place_locked_item(world.create_item("Victory")) + # NOTE: I'll have to care for missions that can't be repeated. + # Ex: the first tutorial mission - if you say "no" to accepting it, you can't get it later without making a new pilot file. + + # Currently, we only have one event that we need to set - the victory event + # So we do that here. chosen_route = world.get_chosen_string() misn_offset = loc_type_offset["misn"] loc_name = world.location_id_to_name[chosen_route["final_mission"] + misn_offset] # Do we not have a helper function for this? world.multiworld.get_location(loc_name, world.player).place_locked_item(world.create_item("Victory")) - # Location rules work no differently from Entrance rules. - # Most of our locations are chests that can simply be opened by walking up to them. - # Thus, their logical requirements are covered by the Entrance rules of the Entrances that were required to - # reach the region that the chest sits in. - # However, our two enemies work differently. - # Entering the room with the enemy is not enough, you also need to have enough combat items to be able to defeat it. - # So, we need to set requirements on the Locations themselves. - # Since combat is a bit more complicated, we'll use this chance to cover some advanced access rule concepts. - - # Sometimes, you may want to have different rules depending on the player's chosen options. - # There is a wrong way to do this, and a right way to do this. Let's do the wrong way first. - # right_room_enemy = world.get_location("Right Room Enemy Drop") - - # # DON'T DO THIS!!!! - # set_rule( - # right_room_enemy, - # lambda state: ( - # state.has("Sword", world.player) - # and (not world.options.hard_mode or state.has_any(("Shield", "Health Upgrade"), world.player)) - # ), - # ) - # # DON'T DO THIS!!!! - - # # Now, what's actually wrong with this? It works perfectly fine, right? - # # If hard mode disabled, Sword is enough. If hard mode is enabled, we also need a Shield or a Health Upgrade. - # # The access rule we just wrote does this correctly, so what's the problem? - # # The problem is performance. - # # Most of your world code doesn't need to be perfectly performant, since it just runs once per slot. - # # However, access rules in particular are by far the hottest code path in Archipelago. - # # An access rule will potentially be called thousands or even millions of times over the course of one generation. - # # As a result, access rules are the one place where it's really worth putting in some effort to optimize. - # # What's the performance problem here? - # # Every time our access rule is called, it has to evaluate whether world.options.hard_mode is True or False. - # # Wouldn't it be better if in easy mode, the access rule only checked for Sword to begin with? - # # Wouldn't it also be better if in hard mode, it already knew it had to check Shield and Health Upgrade as well? - # # Well, we can achieve this by doing the "if world.options.hard_mode" check outside the set_rule call, - # # and instead having two *different* set_rule calls depending on which case we're in. - - # if world.options.hard_mode: - # # If you have multiple conditions, you can obviously chain them via "or" or "and". - # # However, there are also the nice helper functions "state.has_any" and "state.has_all". - # set_rule( - # right_room_enemy, - # lambda state: ( - # state.has("Sword", world.player) and state.has_any(("Shield", "Health Upgrade"), world.player) - # ), - # ) - # else: - # set_rule(right_room_enemy, lambda state: state.has("Sword", world.player)) - - # # Another way to chain multiple conditions is via the add_rule function. - # # This makes the access rules a bit slower though, so it should only be used if your structure justifies it. - # # In our case, it's pretty useful because hard mode and easy mode have different requirements. - # final_boss = world.get_location("Final Boss Defeated") - - # # For the "known" requirements, it's still better to chain them using a normal "and" condition. - # add_rule(final_boss, lambda state: state.has_all(("Sword", "Shield"), world.player)) - - # if world.options.hard_mode: - # # You can check for multiple copies of an item by using the optional count parameter of state.has(). - # add_rule(final_boss, lambda state: state.has("Health Upgrade", world.player, 2)) + # We don't really have any other location events or specific rules. Those were handled by the entrances. + # Again, check exerpts from apquest. It directly discusses what I mean about entrance vs location rules. + + # Possible idea on additional rules that would help us create more spheres of logic in gen'ed APs: + # ADDING STRING PROGRESS CONDITION for the sake of creating another logic sphere level: + # the idea being that there would be one or two progress check items that would be given out by story + # but that we could check against in logic, allowing us to get sphere 3 for example. + # the item would be invisible to the user. + # The item would be added to the pool, and then manually place here based on the region entrance rule or something... + # looping through here like in the above function. + # BUT! We don't want to replace the actual check of a mission. + # I think the way we get around that is to maybe have the mission fire off a chron + # that completes a hidden mission that awards the item. + # The hidden mission is what we assign to here. We can't just bit logic give the item because then the + # server logic won't know about where the item is assigned and thus wouldn't give a new sphere. def set_completion_condition(world: EVNWorld) -> None: @@ -223,6 +128,5 @@ def set_completion_condition(world: EVNWorld) -> None: #world.multiworld.completion_condition[world.player] = lambda state: state.has_all(("Starbridge"), world.player) # In our case, we went for the Victory event design pattern (see create_events() in locations.py). - # So lets undo what we just did, and instead set the completion condition to: - world.multiworld.completion_condition[world.player] = lambda state: state.has("Victory", world.player) - #world.multiworld.completion_condition[world.player] = lambda state: state.has_all(("Victory"), world.player) \ No newline at end of file + # So lets instead set the completion condition to: + world.multiworld.completion_condition[world.player] = lambda state: state.has("Victory", world.player) \ No newline at end of file diff --git a/worlds/evn/world.py b/worlds/evn/world.py index 63ae11e3d012..705046d08c70 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -200,29 +200,18 @@ def prep_emittable_loc_ids(self) -> str: def prep_plugins_output(self) -> str: """ - This exports our modified data into a text file format that can be converted into a game plugin. That's how the game's data will be initially altered to reflect the generated item placements. + Method that exports our modified data into a text file format that can be converted into a game plugin. + That's how the game's data will be initially altered to reflect the generated item placements. """ output_file_string = "" # Missions - # We've added the option for story string choice, so let's enforce that in the plugin by making the other strings not startable. - # block_missions = { - # evn_options.ChosenString.option_vellos: 128, #"Delivery to Earth; Vellos1" - # evn_options.ChosenString.option_fed: 428, #"Federation Resupply;Fed1" - # #evn_options.ChosenString.option_rebel: 3, #rebels can ONLY come from other lines, so don't I guess - # evn_options.ChosenString.option_pirate: 693, #"Pick Up Cargo From Sol;Pirate 001" - # evn_options.ChosenString.option_auroran: 653, #Take Supplies to Dominance - # evn_options.ChosenString.option_polaris: 150, #Transport Mu'Randa - # } - - # block_missions[self.options.chosen_string.value] = 0 #so we won't block the one that was chosen. - #chosen_route = story_routes[self.options.chosen_string.value] chosen_route = self.get_chosen_string() - #use_extended = chosen_route["use_extended_checks"] # handled in locations.py - # first, the column headers + # first, reprint the column headers + # EVNew expects them as the first line of each block for column in misns.misn_columns.keys(): output_file_string += f'"{misns.misn_columns[column]}"\t' output_file_string += "\r\n" @@ -230,6 +219,7 @@ def prep_plugins_output(self) -> str: for mission in misns.misn_table.keys(): # check for mission edits misn_edits = {} # dict[str,str] + # Refer to story_routes in logics.py for more info for regionid in chosen_route["regions"]: sregion = possible_regions[regionid] if mission in sregion["misn_edits"]: @@ -287,14 +277,12 @@ def prep_plugins_output(self) -> str: else: #logger.info(f"Warning: on_success location id {target_id} for mission {temp_mission['name']} not found in location_id_to_name. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the mission table and location creation code to debug this issue.") output_file_string += default_val - # elif column == "available_bits" and mission in block_missions.values(): - # output_file_string += f'"b{offsets_table['misn-block']} & ({current_val})"\t' #we know it is a bit string, and we know these ones have bits, so don't need to protect as much else: output_file_string += default_val output_file_string += "\r\n" # Handle other data tables in a similar way... - # prelude with two new lines to separate from the missions table. There should be a blank line between each type table. + # prelude with two new lines to separate from the missions table. There should be a blank line between each type table for EVNew. # Ships output_file_string += "\r\n" @@ -303,12 +291,11 @@ def prep_plugins_output(self) -> str: output_file_string += "\r\n" # then, the ship data for ship in ships.ship_table.keys(): - # if ship in items.specific_exclusions: - # continue temp_ship = ships.ship_table[ship] for column in ships.ship_columns.keys(): current_val = temp_ship[column] default_val = current_val + "\t" + # If the datatype is string, wrap in quotes, otherwise leave as is. (EVNew) col_anno = ships.ShipDict.__annotations__[column] if col_anno == str: default_val = f'"{current_val}"\t' @@ -317,7 +304,7 @@ def prep_plugins_output(self) -> str: # We need to inject our special bit here as well, so the client can know when to unlock the ship. target_id = offsets_table["ship"] + ship if target_id in items.ev_item_bank: - #associated_item = items.ev_item_bank[target_id] + # NOTE: "code" is the ID sent to / from the client (the bit ID) new_id = items.ev_item_bank[target_id]["code"] if "code" in items.ev_item_bank[target_id] else None if (new_id is not None): output_file_string += f'"b{new_id}"\t' @@ -325,12 +312,10 @@ def prep_plugins_output(self) -> str: #logger.info(f"Warning: availability location {target_id} for ship {temp_ship['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the ship table and location creation code to debug this issue.") output_file_string += default_val else: - #logger.info(f"Warning: availability location {target_id} for ship {temp_ship['name']} not found in ev_item_bank. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the ship table and location creation code to debug this issue.") - #output_file_string += default_val - #logger.info(f"Ship blocked (must have been ignored): {target_id} for ship {temp_ship['name']}") + # If the ship wasn't in the items, we're ignoring it. So, don't make it available in game. output_file_string += f'"b{MISSION_BLOCKING_BIT}"' elif (column == "buy_random" and self.options.always_avail_shops): - output_file_string += f'100\t' # considering altering hire chance too + output_file_string += f'100\t' # considering altering hire chance too (chance to show in bar) elif (column == "tech_level" and self.options.ignore_tech): output_file_string += f'1\t' elif (column == "require_bits"): # and self.options.ignore_tech): @@ -372,25 +357,20 @@ def prep_plugins_output(self) -> str: # We need to inject our special bit here as well, so the client can know when to unlock the outf. target_id = offsets_table["outf"] + outf if target_id in items.ev_item_bank: - #associated_item = items.ev_item_bank[target_id] new_id = items.ev_item_bank[target_id]["code"] if "code" in items.ev_item_bank[target_id] else None if (new_id is not None): - #TESTING: - #new_id = 9999 output_file_string += f'"b{new_id}"\t' else: #logger.info(f"Warning: availability location {target_id} for outf {temp_outf['name']} for player {self.player} does not have a valid address. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") output_file_string += default_val else: - #logger.info(f"Warning: availability location {target_id} for outf {temp_outf['name']} not found in ev_item_bank. This likely means the location was not created properly, and any item placements depending on this location will fail. Check the outf table and location creation code to debug this issue.") - #output_file_string += default_val - #logger.info(f"Outf blocked (must have been ignored): {target_id} for outf {temp_outf['name']}") + # Wasn't included, so don't let it show up in game. output_file_string += f'"b{MISSION_BLOCKING_BIT}"' elif (column == "buy_random" and self.options.always_avail_shops): output_file_string += f'100\t' elif (column == "tech_level" and self.options.ignore_tech): output_file_string += f'1\t' - elif (column == "require_bits"): # and self.options.ignore_tech): + elif (column == "require_bits"): # ignore license requirements regardless of options. removing licenses from pool. output_file_string += f"0x0000000000000001\t" elif (column == "flags" and (self.options.always_avail_shops or self.options.ignore_tech)): @@ -411,13 +391,9 @@ def prep_plugins_output(self) -> str: # meaning, use locations.ev_location_bank not items.ev_item_bank. # I kinda hate having to check this, but haven't figured out a better way yet our_multiworld_locations = [l.name for l in self.multiworld.get_locations(self.player)] - # NOTE: This is because we may NOT have created the extended custom location checks! - - # If we were to dynamically create custom outfit locations, we would need to do it here, but for now we will just assume they are already created in locations.py and we will just export the data for them. - # While target_id in locaitons.ev_location_bank: - # [create outfit data] - # target_id += 1 - + # NOTE: We have locations in the bank that may not have actually been used / created + # So, we'll have to verify they were used before adding the associated game data. + for coutf in cust_outf_table.keys(): temp_coutf = cust_outf_table[coutf] for column in outfits.outf_columns.keys(): From ea4c8734bb3c5bef4bb71600cb3637c4ee80f956 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sun, 26 Jul 2026 13:22:37 -0700 Subject: [PATCH 27/30] EVN: feat: added options presets --- worlds/evn/options.py | 52 +++++++++++++++++-------------------------- 1 file changed, 21 insertions(+), 31 deletions(-) diff --git a/worlds/evn/options.py b/worlds/evn/options.py index c9b1ac20682f..e333bd256093 100644 --- a/worlds/evn/options.py +++ b/worlds/evn/options.py @@ -92,36 +92,26 @@ class EVNOptions(PerGameCommonOptions): ignore_tech: IgnoreTechReq -# # If we want to group our options by similar type, we can do so as well. This looks nice on the website. -# option_groups = [ -# OptionGroup( -# "Gameplay Options", -# [HardMode, Hammer, ExtraStartingChest, StartWithOneConfettiCannon, TrapChance], -# ), -# OptionGroup( -# "Aesthetic Options", -# [ConfettiExplosiveness, PlayerSprite], -# ), -# ] +# We could group options usingg option_groups. Review apquest's options. # # Finally, we can define some option presets if we want the player to be able to quickly choose a specific "mode". -# option_presets = { -# "boring": { -# "hard_mode": False, -# "hammer": False, -# "extra_starting_chest": False, -# "start_with_one_confetti_cannon": False, -# "trap_chance": 0, -# "confetti_explosiveness": ConfettiExplosiveness.range_start, -# "player_sprite": PlayerSprite.option_human, -# }, -# "the true way to play": { -# "hard_mode": True, -# "hammer": True, -# "extra_starting_chest": True, -# "start_with_one_confetti_cannon": True, -# "trap_chance": 50, -# "confetti_explosiveness": ConfettiExplosiveness.range_end, -# "player_sprite": PlayerSprite.option_duck, -# }, -# } +option_presets = { + "standard": { + "include_outfits": True, + "chosen_string": ChosenString.option_random_surprise_me, + "always_avail_shops": True, + "ignore_tech": True, + }, + "original": { + "include_outfits": True, + "chosen_string": ChosenString.option_random_surprise_me, + "always_avail_shops": False, + "ignore_tech": False, + }, + "ships only": { + "include_outfits": False, + "chosen_string": ChosenString.option_random_surprise_me, + "always_avail_shops": False, + "ignore_tech": False, + } +} From d230165ccab5b19bc58a85a9f5a413ab64caedbc Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Tue, 28 Jul 2026 21:23:50 -0700 Subject: [PATCH 28/30] EVN: chore: docs update codeowner and webworld --- docs/CODEOWNERS | 3 +++ worlds/evn/web_world.py | 30 ++++++++++++++---------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/docs/CODEOWNERS b/docs/CODEOWNERS index febe08350296..7a84b78ca6f3 100644 --- a/docs/CODEOWNERS +++ b/docs/CODEOWNERS @@ -68,6 +68,9 @@ # EarthBound /worlds/earthbound/ @PinkSwitch +# EV Nova +/worlds/evn/ @Dorrulf + # Factorio /worlds/factorio/ @Berserker66 diff --git a/worlds/evn/web_world.py b/worlds/evn/web_world.py index 7cc5bc3efae4..e3041d9846bb 100644 --- a/worlds/evn/web_world.py +++ b/worlds/evn/web_world.py @@ -1,7 +1,7 @@ from BaseClasses import Tutorial from worlds.AutoWorld import WebWorld -# from .options import option_groups, option_presets +from .options import option_presets GAME_NAME = "EV Nova" # For our game to display correctly on the website, we need to define a WebWorld subclass. @@ -26,25 +26,23 @@ class EVNWebWorld(WebWorld): "English", "setup_en.md", "setup/en", - ["NewSoupVi"], + ["Dorrulf"], ) - # Let's have our setup guide in German as well. - # Do not translate the title and description! - # WebHost needs them to be the same to identify that it is the same tutorial. - # This lets it display the tutorials more compactly. - # setup_de = Tutorial( - # "Multiworld Setup Guide", - # "A guide to setting up APQuest for MultiWorld.", - # "German", - # "setup_de.md", - # "setup/de", - # ["NewSoupVi"], - # ) # We add these tutorials to our WebWorld by overriding the "tutorials" field. # tutorials = [setup_en, setup_de] tutorials = [setup_en] + # docs folder will be scanned for game info pages using this list in the format '{language}_{game_name}.md' + game_info_languages = ["en"] + + # display a link to a bug report page, most likely a link to a GitHub issue page. + bug_report_page = "https://github.com/Dorrulf/EVNovaAP/issues" + # If we have option groups and/or option presets, we need to specify these here as well. - # option_groups = option_groups - # options_presets = option_presets + options_presets = option_presets + + # Huh, we could add further location and item descriptions here... + # With EVN, they're pretty descriptive already. Mostly would be clarifying IDs w/ duplicate names. + # location_descriptions = {} # dict[str, str] + # item_descriptions = {} # dict[str, str] \ No newline at end of file From f0dc3da098bf63335f162ddf176cdf1b80071a1a Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Thu, 30 Jul 2026 18:17:19 -0700 Subject: [PATCH 29/30] EVN: fix: cust outf fixes - price order and desc Fixed offset desc IDs causing bad pairing in game. Fixed prices that weren't matching the description. Adjusted ordering so in game they order by price. --- worlds/evn/apdata/customdesc.py | 122 +++++++++++++++++------------- worlds/evn/apdata/customoutf.py | 130 ++++++++++++++++---------------- 2 files changed, 136 insertions(+), 116 deletions(-) diff --git a/worlds/evn/apdata/customdesc.py b/worlds/evn/apdata/customdesc.py index 470fbbf9cad2..008e883a8343 100644 --- a/worlds/evn/apdata/customdesc.py +++ b/worlds/evn/apdata/customdesc.py @@ -88,7 +88,7 @@ 3330: { "resource_type": "desc", "id": "3330", - "name": "Unlock 175k", + "name": "Unlock 125k", "text": "", "graphics": "0", "movie_file": "", @@ -98,7 +98,7 @@ 3331: { "resource_type": "desc", "id": "3331", - "name": "Unlock 200k", + "name": "Unlock 150k", "text": "", "graphics": "0", "movie_file": "", @@ -108,7 +108,7 @@ 3332: { "resource_type": "desc", "id": "3332", - "name": "Unlock 250k", + "name": "Unlock 175k", "text": "", "graphics": "0", "movie_file": "", @@ -118,7 +118,7 @@ 3333: { "resource_type": "desc", "id": "3333", - "name": "Unlock 500k", + "name": "Unlock 200k", "text": "", "graphics": "0", "movie_file": "", @@ -128,7 +128,7 @@ 3334: { "resource_type": "desc", "id": "3334", - "name": "Unlock 750k", + "name": "Unlock 250k", "text": "", "graphics": "0", "movie_file": "", @@ -138,7 +138,7 @@ 3335: { "resource_type": "desc", "id": "3335", - "name": "Unlock 1M", + "name": "Unlock 500k", "text": "", "graphics": "0", "movie_file": "", @@ -148,7 +148,7 @@ 3336: { "resource_type": "desc", "id": "3336", - "name": "Unlock 1.25M", + "name": "Unlock 750k", "text": "", "graphics": "0", "movie_file": "", @@ -158,6 +158,26 @@ 3337: { "resource_type": "desc", "id": "3337", + "name": "Unlock 1M", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3338: { + "resource_type": "desc", + "id": "3338", + "name": "Unlock 1.25M", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3339: { + "resource_type": "desc", + "id": "3339", "name": "Unlock 1.5M", "text": "", "graphics": "0", @@ -165,9 +185,9 @@ "flags": "0x0000", "end_of_resource": "EOR" }, - 3342: { + 3340: { "resource_type": "desc", - "id": "3342", + "id": "3340", "name": "Unlock 1.75M", "text": "[player_name]'s [item_name]", # we'll overwrite, just leave blank. But I left this as template example. "graphics": "0", @@ -175,10 +195,30 @@ "flags": "0x0000", "end_of_resource": "EOR" }, + 3341: { + "resource_type": "desc", + "id": "3341", + "name": "Unlock 2M", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, + 3342: { + "resource_type": "desc", + "id": "3342", + "name": "Unlock 2.25M", + "text": "", + "graphics": "0", + "movie_file": "", + "flags": "0x0000", + "end_of_resource": "EOR" + }, 3343: { "resource_type": "desc", "id": "3343", - "name": "Unlock 2M", + "name": "Unlock 2.5M", "text": "", "graphics": "0", "movie_file": "", @@ -188,7 +228,7 @@ 3344: { "resource_type": "desc", "id": "3344", - "name": "Unlock 2.25M", + "name": "Unlock 5M", "text": "", "graphics": "0", "movie_file": "", @@ -198,7 +238,7 @@ 3345: { "resource_type": "desc", "id": "3345", - "name": "Unlock 2.5M", + "name": "Unlock 500k B", "text": "", "graphics": "0", "movie_file": "", @@ -208,7 +248,7 @@ 3346: { "resource_type": "desc", "id": "3346", - "name": "Unlock 5M", + "name": "Unlock 500k C", "text": "", "graphics": "0", "movie_file": "", @@ -218,7 +258,7 @@ 3347: { "resource_type": "desc", "id": "3347", - "name": "Unlock 500k B", + "name": "Unlock 500k D", "text": "", "graphics": "0", "movie_file": "", @@ -228,7 +268,7 @@ 3348: { "resource_type": "desc", "id": "3348", - "name": "Unlock 500k C", + "name": "Unlock 1M B", "text": "", "graphics": "0", "movie_file": "", @@ -238,7 +278,7 @@ 3349: { "resource_type": "desc", "id": "3349", - "name": "Unlock 500k D", + "name": "Unlock 1M C", "text": "", "graphics": "0", "movie_file": "", @@ -248,7 +288,7 @@ 3350: { "resource_type": "desc", "id": "3350", - "name": "Unlock 1M B", + "name": "Unlock 1M D", "text": "", "graphics": "0", "movie_file": "", @@ -258,7 +298,7 @@ 3351: { "resource_type": "desc", "id": "3351", - "name": "Unlock 1M C", + "name": "Unlock 1M E", "text": "", "graphics": "0", "movie_file": "", @@ -268,7 +308,7 @@ 3352: { "resource_type": "desc", "id": "3352", - "name": "Unlock 1M D", + "name": "Unlock 1M F", "text": "", "graphics": "0", "movie_file": "", @@ -278,7 +318,7 @@ 3353: { "resource_type": "desc", "id": "3353", - "name": "Unlock 1M E", + "name": "Unlock 1M G", "text": "", "graphics": "0", "movie_file": "", @@ -288,7 +328,7 @@ 3354: { "resource_type": "desc", "id": "3354", - "name": "Unlock 1M F", + "name": "Unlock 1M H", "text": "", "graphics": "0", "movie_file": "", @@ -298,7 +338,7 @@ 3355: { "resource_type": "desc", "id": "3355", - "name": "Unlock 1M G", + "name": "Unlock 1M I", "text": "", "graphics": "0", "movie_file": "", @@ -308,7 +348,7 @@ 3356: { "resource_type": "desc", "id": "3356", - "name": "Unlock 1M H", + "name": "Unlock 1M J", "text": "", "graphics": "0", "movie_file": "", @@ -318,7 +358,7 @@ 3357: { "resource_type": "desc", "id": "3357", - "name": "Unlock 1M I", + "name": "Unlock 2.5M B", "text": "", "graphics": "0", "movie_file": "", @@ -328,7 +368,7 @@ 3358: { "resource_type": "desc", "id": "3358", - "name": "Unlock 1M J", + "name": "Unlock 2.5M C", "text": "", "graphics": "0", "movie_file": "", @@ -338,7 +378,7 @@ 3359: { "resource_type": "desc", "id": "3359", - "name": "Unlock 2.5M B", + "name": "Unlock 2.5M D", "text": "", "graphics": "0", "movie_file": "", @@ -348,7 +388,7 @@ 3360: { "resource_type": "desc", "id": "3360", - "name": "Unlock 2.5M C", + "name": "Unlock 2.5M E", "text": "", "graphics": "0", "movie_file": "", @@ -358,7 +398,7 @@ 3361: { "resource_type": "desc", "id": "3361", - "name": "Unlock 2.5M D", + "name": "Unlock 2.5M F", "text": "", "graphics": "0", "movie_file": "", @@ -368,7 +408,7 @@ 3362: { "resource_type": "desc", "id": "3362", - "name": "Unlock 2.5M E", + "name": "Unlock 5M B", "text": "", "graphics": "0", "movie_file": "", @@ -378,7 +418,7 @@ 3363: { "resource_type": "desc", "id": "3363", - "name": "Unlock 2.5M F", + "name": "Unlock 5M C", "text": "", "graphics": "0", "movie_file": "", @@ -388,7 +428,7 @@ 3364: { "resource_type": "desc", "id": "3364", - "name": "Unlock 5M B", + "name": "Unlock 5M D", "text": "", "graphics": "0", "movie_file": "", @@ -398,26 +438,6 @@ 3365: { "resource_type": "desc", "id": "3365", - "name": "Unlock 5M C", - "text": "", - "graphics": "0", - "movie_file": "", - "flags": "0x0000", - "end_of_resource": "EOR" - }, - 3366: { - "resource_type": "desc", - "id": "3366", - "name": "Unlock 5M D", - "text": "", - "graphics": "0", - "movie_file": "", - "flags": "0x0000", - "end_of_resource": "EOR" - }, - 3366: { - "resource_type": "desc", - "id": "3366", "name": "Unlock 5M E", "text": "", "graphics": "0", diff --git a/worlds/evn/apdata/customoutf.py b/worlds/evn/apdata/customoutf.py index b96f86084779..86222c747972 100644 --- a/worlds/evn/apdata/customoutf.py +++ b/worlds/evn/apdata/customoutf.py @@ -19,7 +19,7 @@ "resource_type": "outf", "id": "450", "name": "Unlock 5k", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -51,7 +51,7 @@ "resource_type": "outf", "id": "451", "name": "Unlock 10k", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -83,7 +83,7 @@ "resource_type": "outf", "id": "452", "name": "Unlock 15k", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -115,7 +115,7 @@ "resource_type": "outf", "id": "453", "name": "Unlock 20k", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -127,7 +127,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "15000", + "cost": "20000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -147,7 +147,7 @@ "resource_type": "outf", "id": "454", "name": "Unlock 25k", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -179,7 +179,7 @@ "resource_type": "outf", "id": "455", "name": "Unlock 50k", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -211,7 +211,7 @@ "resource_type": "outf", "id": "456", "name": "Unlock 75k", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -243,7 +243,7 @@ "resource_type": "outf", "id": "457", "name": "Unlock 100k", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -275,7 +275,7 @@ "resource_type": "outf", "id": "458", "name": "Unlock 125k", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -307,7 +307,7 @@ "resource_type": "outf", "id": "459", "name": "Unlock 150k", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -339,7 +339,7 @@ "resource_type": "outf", "id": "460", "name": "Unlock 175k", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -371,7 +371,7 @@ "resource_type": "outf", "id": "461", "name": "Unlock 200k", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -403,7 +403,7 @@ "resource_type": "outf", "id": "462", "name": "Unlock 250k", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -435,7 +435,7 @@ "resource_type": "outf", "id": "463", "name": "Unlock 500k", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -467,7 +467,7 @@ "resource_type": "outf", "id": "464", "name": "Unlock 750k", - "display_weight": "0", + "display_weight": "-2", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -499,7 +499,7 @@ "resource_type": "outf", "id": "465", "name": "Unlock 1M", - "display_weight": "0", + "display_weight": "-2", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -531,7 +531,7 @@ "resource_type": "outf", "id": "466", "name": "Unlock 1.25M", - "display_weight": "0", + "display_weight": "-3", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -543,7 +543,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "5000000", + "cost": "1250000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -563,7 +563,7 @@ "resource_type": "outf", "id": "467", "name": "Unlock 1.5M", - "display_weight": "0", + "display_weight": "-3", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -575,7 +575,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "5000", + "cost": "1500000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -595,7 +595,7 @@ "resource_type": "outf", "id": "468", "name": "Unlock 1.75M", - "display_weight": "0", + "display_weight": "-3", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -607,7 +607,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "10000", + "cost": "1750000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -627,7 +627,7 @@ "resource_type": "outf", "id": "469", "name": "Unlock 2M", - "display_weight": "0", + "display_weight": "-3", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -639,7 +639,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "15000", + "cost": "2000000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -659,7 +659,7 @@ "resource_type": "outf", "id": "470", "name": "Unlock 2.25M", - "display_weight": "0", + "display_weight": "-3", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -671,7 +671,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "25000", + "cost": "2250000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -691,7 +691,7 @@ "resource_type": "outf", "id": "471", "name": "Unlock 2.5M", - "display_weight": "0", + "display_weight": "-3", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -703,7 +703,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "50000", + "cost": "2500000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -723,7 +723,7 @@ "resource_type": "outf", "id": "472", "name": "Unlock 5M", - "display_weight": "0", + "display_weight": "-4", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -735,7 +735,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "75000", + "cost": "5000000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -755,7 +755,7 @@ "resource_type": "outf", "id": "473", "name": "Unlock 500k B", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -787,7 +787,7 @@ "resource_type": "outf", "id": "474", "name": "Unlock 500k C", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -819,7 +819,7 @@ "resource_type": "outf", "id": "475", "name": "Unlock 500k D", - "display_weight": "0", + "display_weight": "-1", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -851,7 +851,7 @@ "resource_type": "outf", "id": "476", "name": "Unlock 1M B", - "display_weight": "0", + "display_weight": "-2", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -863,7 +863,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "100000", + "cost": "1000000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -883,7 +883,7 @@ "resource_type": "outf", "id": "477", "name": "Unlock 1M C", - "display_weight": "0", + "display_weight": "-2", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -895,7 +895,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "125000", + "cost": "1000000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -915,7 +915,7 @@ "resource_type": "outf", "id": "478", "name": "Unlock 1M D", - "display_weight": "0", + "display_weight": "-2", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -927,7 +927,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "150000", + "cost": "1000000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -947,7 +947,7 @@ "resource_type": "outf", "id": "479", "name": "Unlock 1M E", - "display_weight": "0", + "display_weight": "-2", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -959,7 +959,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "175000", + "cost": "1000000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -979,7 +979,7 @@ "resource_type": "outf", "id": "480", "name": "Unlock 1M F", - "display_weight": "0", + "display_weight": "-2", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -991,7 +991,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "200000", + "cost": "1000000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -1011,7 +1011,7 @@ "resource_type": "outf", "id": "481", "name": "Unlock 1M G", - "display_weight": "0", + "display_weight": "-2", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -1023,7 +1023,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "250000", + "cost": "1000000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -1043,7 +1043,7 @@ "resource_type": "outf", "id": "482", "name": "Unlock 1M H", - "display_weight": "0", + "display_weight": "-2", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -1055,7 +1055,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "500000", + "cost": "1000000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -1075,7 +1075,7 @@ "resource_type": "outf", "id": "483", "name": "Unlock 1M I", - "display_weight": "0", + "display_weight": "-2", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -1087,7 +1087,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "750000", + "cost": "1000000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -1107,7 +1107,7 @@ "resource_type": "outf", "id": "484", "name": "Unlock 1M J", - "display_weight": "0", + "display_weight": "-2", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -1139,7 +1139,7 @@ "resource_type": "outf", "id": "485", "name": "Unlock 2.5M B", - "display_weight": "0", + "display_weight": "-3", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -1151,7 +1151,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "5000000", + "cost": "2500000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -1171,7 +1171,7 @@ "resource_type": "outf", "id": "486", "name": "Unlock 2.5M C", - "display_weight": "0", + "display_weight": "-3", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -1183,7 +1183,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "5000000", + "cost": "2500000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -1203,7 +1203,7 @@ "resource_type": "outf", "id": "487", "name": "Unlock 2.5M D", - "display_weight": "0", + "display_weight": "-3", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -1215,7 +1215,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "5000000", + "cost": "2500000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -1235,7 +1235,7 @@ "resource_type": "outf", "id": "488", "name": "Unlock 2.5M E", - "display_weight": "0", + "display_weight": "-3", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -1247,7 +1247,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "5000000", + "cost": "2500000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -1267,7 +1267,7 @@ "resource_type": "outf", "id": "489", "name": "Unlock 2.5M F", - "display_weight": "0", + "display_weight": "-3", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -1279,7 +1279,7 @@ "mod_type_4": "-1", "mod_value_4": "-1", "max_count": "1", - "cost": "5000000", + "cost": "2500000", "item_class": "0", "scan_mask": "0x0000", "buy_random": "100", @@ -1299,7 +1299,7 @@ "resource_type": "outf", "id": "490", "name": "Unlock 5M B", - "display_weight": "0", + "display_weight": "-4", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -1331,7 +1331,7 @@ "resource_type": "outf", "id": "491", "name": "Unlock 5M C", - "display_weight": "0", + "display_weight": "-4", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -1363,7 +1363,7 @@ "resource_type": "outf", "id": "492", "name": "Unlock 5M D", - "display_weight": "0", + "display_weight": "-4", "mass": "0", "tech_level": "1", "mod_type_1": "-1", @@ -1395,7 +1395,7 @@ "resource_type": "outf", "id": "493", "name": "Unlock 5M E", - "display_weight": "0", + "display_weight": "-4", "mass": "0", "tech_level": "1", "mod_type_1": "-1", From 68030ce417a843deb2720b8f485ab1437c40c5a0 Mon Sep 17 00:00:00 2001 From: Dorrulf Date: Sat, 1 Aug 2026 11:26:51 -0700 Subject: [PATCH 30/30] EVN: fix: fixes based on tests Fixed doc name so it'll be found properly. Fixed a region issue - while the regions specifically were to block things and never needed to be accessed, they've been added to the region linking because that's what the tests want. Forgot one more place where "shuffle_systems" option needed to be removed from. --- .../evn/docs/{en_EVNova.md => en_EV Nova.md} | 0 worlds/evn/logics.py | 22 +++++++++---------- worlds/evn/world.py | 3 ++- 3 files changed, 13 insertions(+), 12 deletions(-) rename worlds/evn/docs/{en_EVNova.md => en_EV Nova.md} (100%) diff --git a/worlds/evn/docs/en_EVNova.md b/worlds/evn/docs/en_EV Nova.md similarity index 100% rename from worlds/evn/docs/en_EVNova.md rename to worlds/evn/docs/en_EV Nova.md diff --git a/worlds/evn/logics.py b/worlds/evn/logics.py index 4b3a82a2575b..c60ecc3ff9bf 100644 --- a/worlds/evn/logics.py +++ b/worlds/evn/logics.py @@ -974,7 +974,7 @@ class EVNStoryRoute(TypedDict, total=False): 300, 301, 302, # Sigma 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [1, 20, 23, 27, 300, 301, 302, 310, 311, 312] }, + "region_connections": { 0: [1, 20, 23, 27, 300, 301, 302, 310, 311, 312, 101, 102, 103, 104, 201] }, "final_mission": 417, "cust_outfs": [ 450, 454, 455, 456, 457, 458, 459, 462, 463, 464, 465 @@ -1000,7 +1000,7 @@ class EVNStoryRoute(TypedDict, total=False): 300, 301, 302, # Sigma 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [2, 20, 23, 27, 300, 301, 302, 310, 311, 312], 2: [4], 4: [5], 5: [7], 7: [9] }, + "region_connections": { 0: [2, 20, 23, 27, 300, 301, 302, 310, 311, 312, 100, 102, 103, 104, 201], 2: [4], 4: [5], 5: [7], 7: [9] }, "final_mission": 887, #"use_extended_checks": True, # due to how short this path is, we'll need to utilize extended checks to make sure players don't jump into the endgame too early. "cust_outfs": [ @@ -1027,7 +1027,7 @@ class EVNStoryRoute(TypedDict, total=False): 300, 301, 302, # Sigma 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [3, 20, 23, 27, 300, 301, 302, 310, 311, 312], 3: [4], 4: [6], 6: [7], 7: [8] }, + "region_connections": { 0: [3, 20, 23, 27, 300, 301, 302, 310, 311, 312, 101, 102, 103, 104, 201], 3: [4], 4: [6], 6: [7], 7: [8] }, "final_mission": 887, #"use_extended_checks": True, "cust_outfs": [ @@ -1054,7 +1054,7 @@ class EVNStoryRoute(TypedDict, total=False): 300, 301, 302, # Sigma 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [10, 20, 23, 27, 300, 301, 302, 310, 311, 312], 10: [12], 12: [14], 14: [15], 15: [16] }, + "region_connections": { 0: [10, 20, 23, 27, 300, 301, 302, 310, 311, 312, 100, 101, 103, 104, 201], 10: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, #"use_extended_checks": True, "cust_outfs": [ @@ -1085,7 +1085,7 @@ class EVNStoryRoute(TypedDict, total=False): 300, 301, 302, # Sigma 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [21, 23, 27, 300, 301, 302, 310, 311, 312], 21: [11], 11: [12], 12: [14], 14: [15], 15: [16] }, + "region_connections": { 0: [21, 23, 27, 300, 301, 302, 310, 311, 312, 100, 101, 102, 103, 104, 201], 21: [11], 11: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, #"use_extended_checks": True, "cust_outfs": [ @@ -1116,7 +1116,7 @@ class EVNStoryRoute(TypedDict, total=False): 300, 301, 302, # Sigma 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [20, 24, 300, 301, 302, 310, 311, 312], 24: [13], 13: [12], 12: [14], 14: [15], 15: [16] }, + "region_connections": { 0: [20, 24, 300, 301, 302, 310, 311, 312, 100, 101, 102, 103, 104, 201], 24: [13], 13: [12], 12: [14], 14: [15], 15: [16] }, "final_mission": 686, #"use_extended_checks": True, "cust_outfs": [ @@ -1150,7 +1150,7 @@ class EVNStoryRoute(TypedDict, total=False): 300, 301, 302, # Sigma 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [20, 23, 27, 30, 300, 301, 302, 310, 311, 312], 30: [32], 32: [34] }, + "region_connections": { 0: [20, 23, 27, 30, 300, 301, 302, 310, 311, 312, 100, 101, 102, 104, 201], 30: [32], 32: [34] }, "final_mission": 712, #"use_extended_checks": True, "cust_outfs": [ @@ -1183,7 +1183,7 @@ class EVNStoryRoute(TypedDict, total=False): 300, 301, 302, # Sigma 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [22, 23, 27, 300, 301, 302, 310, 311, 312], 22: [31], 31: [32], 32: [34] }, + "region_connections": { 0: [22, 23, 27, 300, 301, 302, 310, 311, 312, 100, 101, 102, 103, 104, 201], 22: [31], 31: [32], 32: [34] }, "final_mission": 712, #"use_extended_checks": True, "cust_outfs": [ @@ -1216,7 +1216,7 @@ class EVNStoryRoute(TypedDict, total=False): 300, 301, 302, # Sigma 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [20, 23, 27, 40, 300, 301, 302, 310, 311, 312], 40: [42] }, + "region_connections": { 0: [20, 23, 27, 40, 300, 301, 302, 310, 311, 312, 100, 101, 102, 103, 201], 40: [42] }, "final_mission": 474, #"use_extended_checks": True, "cust_outfs": [ @@ -1249,7 +1249,7 @@ class EVNStoryRoute(TypedDict, total=False): 300, 301, 302, # Sigma 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [20, 23, 300, 301, 302, 310, 311, 312], 23: [26], 26: [51], 51: [53] }, + "region_connections": { 0: [20, 23, 300, 301, 302, 310, 311, 312, 100, 101, 102, 103, 104, 201], 23: [26], 26: [51], 51: [53] }, "final_mission": 354, #"use_extended_checks": True, "cust_outfs": [ @@ -1282,7 +1282,7 @@ class EVNStoryRoute(TypedDict, total=False): 300, 301, 302, # Sigma 310, 311, 312, # vellos ship misns ], - "region_connections": { 0: [20, 23, 300, 301, 302, 310, 311, 312], 23: [26], 26: [51], 51: [54] }, + "region_connections": { 0: [20, 23, 300, 301, 302, 310, 311, 312, 100, 101, 102, 103, 104, 201], 23: [26], 26: [51], 51: [54] }, "final_mission": 381, #"use_extended_checks": True, "cust_outfs": [ diff --git a/worlds/evn/world.py b/worlds/evn/world.py index 705046d08c70..8f4099c8f506 100644 --- a/worlds/evn/world.py +++ b/worlds/evn/world.py @@ -167,7 +167,8 @@ def get_filler_item_name(self) -> str: def fill_slot_data(self) -> Mapping[str, Any]: # If you need access to the player's chosen options on the client side, there is a helper for that. return self.options.as_dict( - "shuffle_systems" + #"shuffle_systems" + "chosen_string" ) # otherwise, I'll need to finish adding the options / details. # This function is called to generate the output mod file (plugin) for the player.