Reactive Evolution Factor

by Ralnoc

This mod introduces a dynamic mechanic where destroying alien spawner buildings and worm turrets directly reduces the evolution factor of enemy forces. By targeting and eliminating these structures, players can slow or reverse the pollution factor progression towards more dangerous enemy forces.

Content
3 months ago
2.0
284
Enemies
Owner:
Ralnoc
Source:
https://github.com/Ralnoc/reactive-ev...
Homepage:
https://github.com/Ralnoc/reactive-ev...
License:
MIT
Created:
3 months ago
Latest Version:
0.0.20 (3 months ago)
Factorio version:
2.0
Downloaded by:
284 users

Reactive Evolution Factor

Fork of Evolution-Reduction-Redux

Overview

Reactive Evolution Factor is a mod for Factorio that dynamically updates the process of calculating the evolution factor of enemy forces. It introduces a
unique mechanic where destroying enemy turrets and unit-spawners reduces the evolution factor, adding strategic depth to combat and base-building.

Features

  1. Dynamic Evolution Reduction:
  2. Each turret and spawner entity contributes a unique reduction value to the evolution factor upon destruction.
  3. Has a standard reduction value for which it will default to, in case it does not have a defined reduction value.
  4. Encourages targeted destruction of high-value enemy structures to slow enemy evolution.

  5. Customization for Modders:

  6. Other mod creators can integrate with this mod to define custom reduction values for new turrets and spawners
  7. This allows seamless integration of custom entities into the evolution reduction system.

  8. Settings:

  9. Adjust available settings through in-game mod settings window.
  10. Enable or disable debug messages to monitor evolution factor changes in real-time.

  11. Balanced Gameplay:

  12. Reduction values are carefully calibrated to maintain a balanced gameplay experience.

Factorio Space Age Turrets and Unit Spawn Reductions

The following default reduction values are included:

Turrets

Entity Name Reduction Value
small-worm-turret 0.00003
medium-worm-turret 0.00006
big-worm-turret 0.00009
behemoth-worm-turret 0.00015

Unit Spawners

Entity Name Reduction Value
biter-spawner 0.012
spitter-spawner 0.010
gleba-spawner-small 0.010
gleba-spawner 0.012

These values can be extended by other mods using the provided API.

Installation

In-Game Browser Installation

  1. Open the in-game mod manager.
  2. Search for "Reactive Evolution Factor".
  3. Install the mod and restart the game.

Manual Installation

  1. Download the mod from the Factorio Mods Portal.
  2. Place the mod's .zip file into the mods folder in your Factorio installation directory.
  3. Enable the mod through the in-game mod manager.

Usage

  • Upon destroying enemy turrets or spawners, the evolution factor will automatically decrease based on the configured reduction values.
  • Monitor evolution factor value changes using the debug messages if enabled.

For Mod Developers

By default, any turret or unit-spawner entities that Reactive Evolution Factor is unaware of will receive the default reduction vaulue of 0.002.
If you wish to have a unique value for your custom entity, you can integrate them from your mods using the following API:

remote.call("reactive-evolution-factor", "add_reduction_value", {
    ["turret"] = {
        ["custom-turret"] = 0.00005
    },
    ["unit-spawner"] = {
        ["custom-spawner"] = 0.015
    }
})

This makes Reactive Evolution Factor aware of the new entities and applies the specified reduction values when they are destroyed.

Debugging

Enable debug messages through the in-game settings to observe detailed information about:
- Current evolution factor.
- Entity destroyed that triggered the evolution factor change.
- Reduction values applied for each destroyed entity.
- Real-time evolution factor breakdown (time, pollution, destruction).

License

This mod is released under the MIT License. Feel free to modify and distribute it as long as credit is given to the original creator.

Contributing

Contributions are welcome! If you have ideas for improvement or additional features, please submit a pull request or create an issue in the
Repository at this location.