The death-particles match the color of the chippie better (by mixing in some less pre-modulated graphics). The egg particles are also a bit more intense (as the graphics file is already not full white).
Also move all object sounds to global Sound.ocg so they are still played.
This is to prevent naming collisions. All sounds are moved because otherwise all scripts would have to be adjusted. Also, the distinction between sounds in definitions and sounds in Sound.ocg was rather arbitrary.
It will also ensure most sounds are reloaded when sound is turned off temporarily, although that should better be fixed properly.
The main difference is now that the check for walls is only done closer to the fish and, to compensate lacking foresight, walls trigger stronger intention to turn.
Additionally, wall vision works slightly differently now, because it's not one vision set (angle) but two distance sets (left: close/far, right: close/far). This
should enable a wall being both left and right (e.g. when swimming in a tunnel) and hopefully lead to a bit straighter trajectory in such cases.
Also, fishes now don't swim 100% straight when they have no sensory input. That looked rather strange in a huge ocean.
PPS: also reduced slimness of fish. Very slim fish looked stupid.
The default squid is still friendly (with a new texture now). Setting friendly=false during Place()ment creates red, angry squids.
Being in an ink blot drains a Clonk's breath faster now (because of the panic and increased heart-rate of course).
The friendly squid texture was created by Matthi as well.
- do not attack things when under water
- can catch fire now
- reduce normal (random) chance of laying eggs, still the same amount of eggs when leeching HP
- can grow to oversize when sucking on a Clonk (large chippies look cool)
There were some artifacts on the edges of the butterfly. Fixed this by scaling down the UV layout, so that it doesn't touch the edges of the texture image.
libpng >1.6 keeps nagging because of that.
Quick bash script to do so:
find . -name *.png \
| while read f; do
n=$(pngcrush -ow -rem allb-reduce "$f" 2>&1 | grep -c 'incorrect sRGB');
if [[ $n -gt 0 ]]; then
git add "$f"
else
git checkout "$f"
fi
done
- exchanged missing function for FindLocation
- creature owner only if NO_OWNER before
- added area-parameter to Chippie_Egg::Place)
- creature control: don't break when object is removed after creation
Animals should use SetCreatureControlled() and Find_OCF(OCF_Alvie) and Find_Hostile in their prey checks. Then, a scenario author could easily decide to make certain animals not attack the player. Or even animals attack each other. That's cool.
The old implementation was buggy as it would disallow the location if it had too much space (and PathFree2 returns nil). It also doesn't make sense to ask for a location that has space in either direction of a dimension because the location is not automatically adjusted to lie at the center of that space. For example, it would effectively cause fish to spawn directly at walls sometimes.