This is a fork and refactor of Will-o'-the-Wisps updated (2) version 0.18.4 with heavy modification. It is currently unsupported outside of my own multiplayer server and development efforts but the code for my changes is all available under the original license for anyone who wants to backport my changes or expand on my work.
Planned changes:
- Random purple wisps spawn near pollution
- Random yellow/red/green wisps spawn away from pollution
- Sounds that aren't so annoying
- No more swarms of wisps spawning directly from players
- new high res sprites
In Progress
- complete refactor taking advantage of new modding features
- Yellow/red wisps spawning from trees/rocks that have been destroyed have a separate %chance of being hostile
Current Changes (as of 0.1.2)
- temporary fix for wisp faction cease-fire setup: changes to wisp_player_aggression_set() and wisp_force_init()
- removed function definitions from config.lua
- implemented event filters for on_built_entity, on_mined_entity, etc.
- removed legacy debug items
- changed red wisp reproduction to use filtered on_entity_damaged event and standard wisp spawning code path instead of on_trigger_created_entity
- modified wisp creation and initialization code to have a single entry point
- removed all gotos
- reformatted code
- removed anonymous functions from on_nth_tick dispatch tables tasks_monolithic and tasks_entities
- added /wisp create command to spawn wisps for testing using complete wisp creation code path
- disabled spawn near players
Coming up in next version
- No more wisps blocking construction thanks to changes to the modding API in Factorio 1.1.53
Credits
CC-BY-NC-SA - Based on the original mod Will o' the Wisps by Betep3akata incorporating changes by RocketManChronicles, Pi-C, mk-fg and others.