Fandovec03-Natural_selection icon

Natural selection

Rewamps the ecosystem an enemies to feel more alive and interactable. Enemies will fight each other and hunt to survive.

CHANGELOG

Natural selection

0.4.14

  • Fixed spider webs slowing down enemies that haven't finished vent animation, resulting in deformities
  • Fixed Bees and Spiders not being able to damage enemies
  • Added try/catch block so the body will destroy properly in case of failure

0.4.13

  • Attempted to fix possible NRE getting enemy data (99% sure it's fixed I just didn't test it)

0.4.12

  • Whitelisted Item types in logNS method

0.4.11

  • Fixed loggers falsely triggering unsupported type message
  • Instead of triggering kill switch on meeting an unsupported type, it adds the source to a blacklist and ignores logs.
    • Blacklist is cleared after user leaves moon or disconnects fropm the game

0.4.10

  • Fixed logs
  • Added a check to turn killswitch on if an unsupported type is passed as a source

0.4.9

Reworked data containers

  • All data containers are stored in single dictionary
  • Fixed EnemyAI and Spiderweb issues getting their containers
  • Enemies will destroy their data containers when destroyed

Library

  • Added option to use Pathfinding to find and determine the closest enemy
  • Added PathfindingLib support
    • Highly recommended when using pathfinding to find closest enemy
    • Coroutines are required to be turned on
  • Global enemy lists are now accessed with methods instead of directly

Other changes

  • Reorganized and cleaned up code
  • Added killswitch for logs
    • Stops all logs from logging
  • Added coroutines
    • Enemies will asynchronously find the closest enemy

Fixes

  • Fixed sandworms not targetting immortal enemies
  • Some small fixed I forgot

0.4.8

  • Updated Blacklists.
    • WARNING: Blacklists will be reset. Check your config for orphaned entries after loading into game once.
  • Updated ReXuvination compatibility
  • Updated logs

Internal

  • Replaced majority of loggers with method
  • Rewamped enemy data system

Library

  • Updated DebugStringHead. Now it accepts any type

0.4.7

  • Redone fix for blob opening doors.

0.4.6

  • Redone ReXuvination patch for enemy colliders
    • Modified enemy collider optimization with transpiller. Enemies will always collide with eachother.
  • Modified debug logs

0.4.5

  • Optimized and Delobotomized Earth Leviathan

0.4.4

  • Fixed ReXuvination patch not working sometimes. Now patch prevents ReXuvination from patching enemy colliders.

0.4.3

  • Fixed some supported mods not registering when not specified with BepInDependency attribute

0.4.2

  • Updated config. Spider toggle is on by default instead of off.

0.4.1

  • Fixed compatibility patches not loading automatically with the toggle on
  • Added compatibility for LobbyCompatibility

0.4.0

Bunker spider released

  • Spider webs stick to enemies and alert spider
    • Investigates webs and chases prey. Returns back when the prey gets too far from the nest.

Added compatibility for SellbodiesFixed, Enhanced Monsters and ReXuvination

  • Beware of slimes consuming your profits away!

Major Changes

  • Added checks for enemy data structures
  • Added custom enemy sizes
    • Customizable in config file

Circuit Bees

  • Circuit bees properly prioritize enemies holding its nest

Sandworms

  • Sandworms ignores enemies by custom enemy size

Optimizations, Fixes and QoL

  • Optimized networking with generics
  • Added setting update interval of global enemy lists
  • Updated library to newest version
    • More optimized LOS check
    • Deprecated usage of types
  • Fixed spider webs throwing NREs when enemy is missing animator
  • Fixed spider webs playing audio when it shouldn't
  • Fixed spider webs getting triggered by dead enemies
  • Updated logs

IMPORTANT

  • Regenerate and check your config logs

0.3.0

Major changes

Added support for spider webs

  • Spider webs slow down and stick to enemies passing through them

Configuration file rewamped

  • Updated Layout and descriptions
  • Added more options and variables
  • Added automatically generating entries for blacklists and similar lists
    • Generates on booting up the game or 2nd time on loading into lobby if some entries fail to generate
  • Debug toggles update automatically if they're changed on runtime with LethalConfig/LethalSettings

Misc

  • Updated description, readme, changelog and links
  • Updated logs
    • More logs are toggled with trigger flags bool

Bug fixes

  • Fixed sandworm's networking connections and variables not being disposed of
  • Fixed ememies colliding with blacklisted enemies

0.2.6

  • Fixed bees throwing error when every enemy in LOS is killed
  • Upgraded collision system. Bees and hygrodere now hit multiplle enemies they collide with
  • Added config to log the library
  • updated README

0.2.5

  • Reupload because I forgot to upload a file. Woops
  • Updated README

0.2.4

  • Updated README
  • Updated mod for newest Library version
    • Finally fixed invisible bees!
    • Enemies can now target enemies outside of their usual domain! Inside enemies can target outside enemies when outsise and vise versa
  • Fixed bees not returning to beehives after chasing/killing enemy
  • Global enemy lists get cleared at the end of rounds or when client disconnects

0.2.3

  • Fixed and simplified config enabling enemy changes
  • Updated README

0.2.2

  • Fixed shit Networking implementation causing massive lag (Credit to Robyn and Xilo on Discord for pointing it out!)
  • Updated logs
  • edited README

0.2.1

  • Fixed giants always set on fire
  • Fixed Error spam on clients
  • Small changes to networking which fixes lag

0.2.0

  • Added networking
    • Fixes desync and network related issues, mainly enemy sounds not playing on non-host clients
  • Fixed sandworm eating non-host players inside the ship with the toggle on
  • Fixed giants not using the extinguish chance from config
  • Added blacklists to config
  • Optimization on clients/server

0.1.5

  • Fixed collisions returning NullReferenceException errors
  • Added config for sandworms to not eat players inside leaving ship
  • Updated logs and configs

0.1.4

  • Fixed logs spamming you're on experimental version
  • Added option to override vanilla sandworm collisions to possibly fix the lag when colliding with multiple enemies at once

0.1.3

  • Implemented global enemy list.
  • Fixed bees becoming invisible due to black magic (still dont know how).
  • The mod no longer sets all colliders on enemies to be triggers.
  • Hydrogires now move and consume dead corpses
  • Many more config options

0.1.2

  • Fixed logs
  • Updated for NaturalSelectionLib 0.4.0

0.1.1

  • Fixed NullReferenceException some logs

0.1.0

  • Updated manifest, README and library integration

0.0.2

  • Made less spammy logs

0.0.1

  • Inital Upload