eleazar wrote:
Yakk wrote:
Herbivores have a vision range...
BigJoe, Geoff, is that easily do-able?
Moster movement is done with an effect (defined as part of their body, which is internally a hull type), which uses a condition to select the destination. Conditions can by arbitrarily complex, and distance or starlane jumps tests can be used.
Current monsters use something similar to this to move:
Code:
effectsgroups =
EffectsGroup
scope = And [
Fleet
Stationary
Contains Source
]
activation = Random probability = 0.3
stackinggroup = "MONSTER_FLEET_MOVE_STACK"
effects = SetDestination destination = And [
System
WithinStarlaneJumps 1 Source
Not Contains Source
]
The relevant condition for selecting where to move is the one after destination =. This condition can include anything from
this list, assuming it's been updated recently and correctly. In this case, it selects systems that are starlane-adjacent to the monster's current system (within 1 jump away, but not the system that currently contains the monster).
However, doing a lot of WithinStarlaneJumps tests with large jumps limits, or doing many WithinDistance not after other very restrictive conditions, is generally not a good idea because it can slow down turn processing significantly.
Note also that monster movement could be made dependent on the locations of player-controlled or non-player-controlled buildings or ships, or what focus a planet is using, or star type, or the monster's health. Other things could also be made usable on request, such as monster age in turns.
Quote:
Is our Gaian special actually used? I can't recall finding one in several years of testing.
Not by the engine. It can be added by effects, or could be moved from specials.txt into planet_specials.txt if it was desired to randomly appear on planets.