AI War 2:Features From DLCs

From Arcen Wiki
Jump to navigation Jump to search

Q: What ship graphics or designs from DLCs can be used in mods?

A: Any of them! However, one thing to know is that the models and graphics ship with the DLCs, so you are free to use those in mods as much as you want, but you need to then set your mod to depend on that DLC. OR you need to make those parts of your mod turn off if the DLC is not installed.

There are various starting fleets, for example, that cross several DLCs. If you don't have all of them installed, they are set to not show up even if you have the mod on. Those are examples of something that can be selectively turned off.

When it comes to something more fundamental, like a ship using a mechanic or graphic from a DLC in a way that is not optional for the mod (this is a core part!), but at the same time should be there, then you set the mod itself to have a dependency. Anyone who has the DLC(s) in question can use your mod, but anyone else would need to buy those to use it.

You can also set dependencies on other mods, so that they have to enable XYZ other mode that yours depends on. All of SirLimbo's mods depend on AMU, for instance.

As far as any graphics or similar, that gets sorted out automatically when you're referencing stuff, it should be pretty clear. If it says exp1 in the bundle name, you are going to know that the end user won't have that file if they don't own DLC1 AND also have it presently installed and enabled. It's possible for players to disable DLCs, and those graphical assets are treated as absent if the DLC is off.

Q: What unit mechanics or other code features are tied to DLCs?

There are a lot of maps that are tied to specific DLCs, and there's some AI-specific code that is as well. Those are enforced by xml more than anything else, because you would not have the controlling xml that makes them work if the expansion in question is not installed.

That said, there are other features that do require DLCs to work. Please note that for our internal developers, we often backport features between them, or carry others forward. So you'll see that loadouts, which were introduced in DLC3, are still part of DLC1 in a more minor way. And chain lightning and similar features that were developed as a big deal feature in DLC2 are still used on some DLC3 units.

Mods can't take this shortcut, and must require the originating DLC to be installed in order to allow the player to have that feature (set the mod to require the related expansion to avoid players getting parser errors when opening your mod without that DLC installed. You can also easily test this just by turning off the DLC that your mod depends on and making sure that the appropriate "this mod can't be loaded without this other DLC" message shows up.

PLEASE feel absolutely free to use anything and everything in your mods, but if it's DLC-locked features then just make sure you make your mod DLC-locked as well.

DLC1 / The Spire Rises / TSR

  • Features:
    • Ark Empire
  • Entity fields:
    • city_sockets
    • added_city_sockets_per_mark
    • city_socket_cost
    • name_for_city_sockets
    • name_for_city_sockets_short
    • name_for_city_center
    • adds_black_hole_effect_for_all_entities_period
    • ship_type_name_to_grant_more_of_in_custom_fleet
    • ship_type_count_to_grant_more_of_in_custom_fleet
    • ship_type_names_required_to_exist_in_custom_fleet
    • ship_type_counts_required_to_exist_in_custom_fleet
    • minimum_required_city_level_for_construction
    • base_ship_cap_in_custom_city
    • added_ship_cap_in_custom_city_per_city_level
    • added_ship_cap_in_custom_city_per_city_level_above_level
    • subtract_one_ship_cap_on_death
    • destroy_planet_on_death
    • ravage_planet_on_death
    • ravage_planet_and_all_units_on_it_on_death
    • ravage_current_and_adjacet_planets_and_all_units_on_it_on_death
    • emp_blast_on_death
    • time_stop_current_and_adjacent_planets_on_death
    • death_spawn_happens_on_own_planet_and_all_adjacent_planets
    • module_points_from_start
    • module_points_added_per_mark_level
  • Entity sub-nodes:
    • data_extension
  • Entity System fields:
    • damage_modifier_while_under_forcefield
    • sets_target_to_random_location
    • module_point_cost
    • unique_module_index
    • module_is_enabled_by_default_at_mark_level
    • module_screen_sort_group
    • module_stat_adjuster (values: None, HullHealth, ShieldHealth, BubbleForcefield)
    • module_stat_adjuster_multiplier
    • module_stat_adjuster_radius
    • skip_checks_in_targeting_code_for_if_disabled_by_mark

DLC2 / Zenith Onslaught / ZO

  • Entity fields:
    • state_of_matter_to_become_on_wormhole_exit
  • Entity System fields:
    • beam_chains_out_to_targets_x_times
    • beam_chains_out_to_targets_x_range
    • beam_chains_out_to_target_min_range
    • beam_chains_out_to_max_targets_from_each_source
    • inflicts_state_of_matter_on_target_for_seconds
    • state_of_matter_for_target_to_become
    • cannot_inflict_state_of_matter_if_target_has_any_shields_up
    • cannot_inflict_state_of_matter_if_target_has_energy_usage_of_at_least
    • care_about_state_of_matter_to_be_enabled
    • must_be_this_state_of_matter_to_be_enabled
    • is_invisible_in_tooltips_if_not_a_match_by_state_of_matter
    • returns_this_percentage_of_damage_when_firing_retalitatory_shot
    • use_alternate_rate_of_fire_after_x_shots
    • alternate_rate_of_fire
    • use_alternate_rate_of_fire_for_x_shots_before_reverting

DLC3 / The Neinzul Abyss / NA

  • Features:
    • Vassals (but you can define your faction as a vassal no matter what)
    • Necromancer and related
  • Entity fields:
    • orbits_flagship_at_range
    • orbits_parent_at_range
    • attempts_to_reach_orbital_point_at_speed
    • orbits_gravity_well_center_at_its_current_radius
    • degrees_to_orbit_per_second
    • build_points_per_second
    • dies_if_parent_dies
    • dies_if_parent_is_dead_or_remains
    • build_point_cost_for_per_second_construction
    • personal_ship_cap_for_per_second_build_point_construction
    • tag_to_spawn_from_for_build_point_for_per_second_construction
    • periodic_spawn_never_stop_once_triggered
    • periodic_spawn_creates_exo_strike
    • periodic_spawn_max_hops_to_trigger
    • periodic_spawn_min_hostile_strength_to_trigger
    • periodic_spawn_only_trigger_on_occupation
    • periodic_spawn_only_trigger_against_player
    • periodic_spawn_faction_for_unit
  • Entity System fields:
    • can_devour
    • devour_function_name
    • devour_mass_lower_than
    • unit_to_spawn_on_infestation
    • infestation_function_name