Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Factorio 2.0 #310

Open
26 of 40 tasks
SWeini opened this issue Oct 14, 2024 · 0 comments · Fixed by #320
Open
26 of 40 tasks

Factorio 2.0 #310

SWeini opened this issue Oct 14, 2024 · 0 comments · Fixed by #320
Labels
2.0 Issue related to 2.0

Comments

@SWeini
Copy link
Collaborator

SWeini commented Oct 14, 2024

Main 2.0 compatibility

  • Fully support planning of 2.0 base game (with mods)
  • Do not crash when using the DLC

General Changes

  • Set version to 2.0 in mod loading
  • Update Defines.lua
    Last updated with Factorio 2.0.6

2.0.2 Changelog:

  • Added BeaconPrototype::allowed_module_categories, CraftingMachinePrototype::allowed_module_categories, LabPrototype::allowed_module_categories, MiningDrillPrototype::allowed_module_categories, and RecipePrototype::allowed_module_categories.
  • Removed ItemPrototype::rocket_launch_product. Use rocket_launch_products instead.
  • Added ItemPrototype::send_to_orbit_mode.
  • Removed BurnerEnergySource::fuel_category. Use BurnerEnergySource::fuel_categories instead.
  • Added OffshorePumpPrototype::energy_source and energy_usage.
    I added them, but didn't test because base game has void energy source.
  • Changed research unit ingredients to only be specified by a tuple.
  • Changed recipe ingredients to only be specified by a table with named keys.
  • Removed catalyst_amount from recipe products. Added ignored_by_productivity to recipe products.
  • Added 'R' (ronna) and 'Q' (quetta) SI prefixes.
  • Removed 'K' from allowed SI prefixes - use 'k' instead.
  • Renamed boiler "heat-water-inside" mode to "heat-fluid-inside". (worked without changes)
  • Renamed InserterPrototype::stack to InserterPrototype::bulk.
  • Reworked noise expression definition system.
    No documentation available yet. Is used for calculating the cost of mining resources.
  • The fluid generated by offshore pump is property of the tile instead of the pump.
    I added a little bit, but it's not ideal yet.
  • Replaced ModulePrototype::limitation and ModulePrototype::limitation_blacklist with RecipePrototype::allow_[effect-name] properties (e.g. RecipePrototype::allow_productivity). By default, all effects except productivity are allowed.
  • Added RocketSiloPrototype::rocket_quick_relaunch_start_offset, specifying the starting position for rockets created with the new quick-launch feature. 0 is the regular starting position, 1 is the end of the rising animation.
    This would only be used to calculate the rocket silo building speed, but that is hardcoded at the moment. At least we should adjust that hardcoded value, see CreateLaunchRecipe.
  • Removed RecipePrototype::result and result_count. Use RecipePrototype::results instead.
  • ProductPrototype now has a mandatory "type" field and does not accept simplified syntax for item products.
  • Added MiningDrillPrototype::effect_receiver, CraftingMachinePrototype::effect_receiver and LabPrototype::effect_receiver.
    I only made the old base_productivity work, not the new things.
  • Removed MiningDrillPrototype::base_productivity, CraftinMachinePrototype::base_productivity and LabPrototype::base_productivity. They were moved into EffectReceiverPrototype::base_effect.
  • Removed normal and expensive properties from TechnologyPrototype and RecipePrototype.
  • Removed RocketSiloPrototype::rocket_result_inventory_size.
  • Added quality prototype and various related prototype properties.
  • Added burner-usage prototype.
    This is only for possible minor UI improvements.
  • Added MiningDrillPrototype::resource_drain_rate_percent.
    This would only be used for calculating the cost of mining resources.
  • Added BeaconPrototype::profile and beacon_counter.
  • Added TechnologyPrototype::research_trigger.
    I've only made adjustments to properly load and the milestone calculation not be completely off.
  • Added TechnologyPrototype::allows_productivity.
    Would this affect SpecialNames.ResearchUnit?
  • Added RecipePrototype::maximum_productivity.

Further changes:

  • Boiler fluid consumption amount now depends on input temperature
    https://forums.factorio.com/viewtopic.php?p=604951#p604951
    This is a very bad change, YAFC is not made for this, previously the recipe time had special handling, but now this needs special handling for the ingredients.
  • Added ItemProductPrototype::extra_count_fraction.
  • Crafting machines can craft more than 1 recipe per tick if their speeds are fast enough.
  • Added TileProperty::destroys_dropped_items.
    Should we add voiding recipes for this?
  • Various additions to Modifier (used in TechnologyPrototype::effects): laboratory-productivity (for SpecialNames.ResearchUnit), change-recipe-productivity (configure in UI?), mining-with-fluid (can't mine resources that require mining fluid before unlocking, theoretically required for milestone analysis),
  • Lua require behavior changed.
  • CraftingMachinePrototype::ignore_output_full
    In non-modded it is only used for captivated spawners, which don't have any inputs. However, you will always have a fixed integer amount of buildings that you need to power with bioflux. Not sure how mods are going to abuse this property.
    This could mess with all the math that YAFC is doing. Should we force those buildings to have a fixed building count?
    Do we want to automatically/forced allow overproduction for those?
  • Lots of items/recipes without a proper display name.
@Dorus Dorus added the 2.0 Issue related to 2.0 label Oct 14, 2024
@SWeini SWeini linked a pull request Oct 20, 2024 that will close this issue
@SWeini SWeini reopened this Oct 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.0 Issue related to 2.0
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants