This increases the military power and doesn't look as weird: after jumping off, the boompack will explode on IsProjectileTarget or OCF_Alive (like a normal arrow).
OnProjectileHit is called so that e.g. balloons still pop even if the explosion might not damage them.
The pump is rather complex. This should allow for (new) players to figure out faster whether e.g. the drain pipe is clogged (as opposed to them doing anything wrong).
This can be helpful to see why the observed behavior is triggered in some cases (e.g. why a fish swims straight into a wall (hint: because the wall was left AND right)).
DumpCache() can be used like so:
var brain = FuzzyLogic->Init();
// ..do stuff
brain->DumpCache();
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.
OnContentMenuOpen is not used anymore.
There is a small issue: the callback is also done when the object can actually not be interacted with (e.g. because it's hostile / unfinished). Gotta think about that. But this should solve all our issues for now.
When CheckAllComponentsForProduct returned true, but the item could still not be produced (due to missing water etc.), Produce would fail but the queue would not be cycled.
Now CheckAllComponentsForProduct is gone (why was it there anyway?) and if anything happens in Produce, the queue is cycled.
Previously, you would roll on landing when you had a movement key pressed. However, you would roll into your current direction even if you had the opposite movement key held down. This was one of the remaining possibilities of rolling into the void and being frustrated afterwards because the controls sucked.
The box actually does have different images for different stick counts. It's just not very visible there. And the old numbers were obstructed by the stack count anyway.
Custom overlays would only be closed when the object was changed. This was not apparent for the loam, because the new overlay would always completely obstruct the old one.
But with the dynamite box displaying the sticks, the old ones never disappeared.
Now the custom overlay is explicitely closed and the update is also done if the slot previously had a custom overlay and no has none.
The chest is a pretty important object and something a player sees over and over again. This patch adds some detail to the mesh which should look better with the new lighting we have. Additionally, the texture's resolution has been bumped up a little.
I just saw a let's play where the player had no clue that the real benefit of the dynamite was accurate mining by sticking it into the ground.
This should make it easier for new players to figure out this specialty. Also, we need to get rid of the notion that "Description" means "Funny Flavour Text". We also need to get rid of having TWO descriptions (aka "UsageHelp").
While not 100% in line with the default behavior (right click = throw), throwing the bomb is basically the ONLY thing you will want to do after fusing it.
So, this change will probably prevent some unecessary suicides especially by new players and thus reduce possible frustration.
This means that you start a roll currently with walking left/right and tapping [down]. OR falling a great height and just holding left/right when landing. When you let go of left/right, you will instantly walk again. This reduces the possibility of the players rolling into an abyss.
The count was displayed twice in certain situations: in the picture AND as a number.
Now the responsibility for displaying the count is solely on the menus' side. The objects only show an additional overlay when their count is infinite (to not display an arbitrary "50" there).
This can e.g. be used for the water barrel to show the fill-level. Or by an adventure scenario to highlight quest items.
Or by third-party packs to do other cool stuff.
When the sword was deleted while striking (or on hit), the effect that would reset the Clonk's speed was also deleted. The Clonk responded with a general inability to walk.
In at least one Let's Play, the player found it weird that the sword has such a short range even though it was (visually) clearly hitting the enemy. I agree.
Also, this is a (major?) sword buff of course.
This happened to me ingame. I don't know why and I don't know how to reproduce.
So this is a quick in-place fix instead of a solution to the underlying issue of "entries" not being there.
The javelin was one of the hardest weapons to use and didn't even deal a lot of damage (only slightly higher than the arrow, if not less?).
It does a lot more damage now and three javelins should kill a Clonk. Test!
Even when standing directly over a plant, you would sometimes not harvest it because its midpoint would be out of the Clonk's rectangle. Now the Clonk only has to touch plants.
Rolling works via SetXDir anyway, so the ComDir change is not necessary. It would just lead to issues because the ComDir would never be reset and the Clonk would keep on walking until the next key press.
This actually led to an infinite recursion in Mine Rescue when clicking on the goal. The goal menu would link to the goal itself which would link to the elevator -> case -> elevator -> case...
Now only layout stuff is in the layout proplists.
I noticed that with multiple goals one always gets a background. But I guess that had already been the case beforehand? Anyway, that's another issue.
More a work-around than a fix. I didn't really dive into WHY the problem happened, but you'd always throw away a different item and not the CH one. Probably because either DropInventoryItem or GetItemPos does something weird, but meh..
Objects now stack iff CanBeStackedWith returns true. The displayed symbol is now the first object of the stack (instead of the definition).
Also fixed barrel to not overwrite the custom name just after setting it.
Steps to reproduce: put shovel on ground. take dynamite. stand on shovel. aim below you. leftclick. leftlick. => dynamite is planted AND shovel is collected.
One of Sven's private functions. I also renamed the control to CON_ModifierMenu1 (from CON_ModifierInventory1), because it's actually supposed to be the menu modifier in general - even if it's mapped on the inventory key.
Or more generally: added support for any modifier key for any other command without the requirement to define a new command based on the old one plus the key. This can be helpful in situations where the player commands are decoupled from the script engine control handling (e.g. with menus).
Currently Shift+Click is only used by the inventory menu to transfer all items of a certain kind.
As originally intended by Matthi. The attachment bones may be off, because I selected the names randomly. I did not have the .blend file and OgreMeshy would crash on me.
This better reflects what the function does. "ProjectileHit" was never used solely for projectiles. Neither was everything of that callback ever needed in all places, which resulted in weird flag-parameter hacking and OnStrike-callbacks. Splitting this up also allows customizing different parts of the behavior further (i.e. tumbling) without adding a hundred parameters or flags to the original function.
The "Trunk2" had nothing at all to do with the other "Trunk". It's not a tree and can't be chopped. It's not a decorative object either. It's something that the scenario designer most likely has to place on purpose.
The Vegetation.ocd folder should be kept for plants and plant-like stuff that e.g. either grows or can be chopped like a tree and fulfill not another core-role (like being a decorative bridge).
The texture can possibly be scaled down a bit. But because the WalkableTrunk has a width of 264 (x*4 = 1056), I didn't want to change that now without ingame testing.
This is so you can just fast-forward through long dialogues (e.g. because you've reached them before) by hammering space without getting caught in loops.
This implements the proposal made in the forum for "shiny" materials -
material can now determine the angle at which the most light is reflected.
Shiny materials might set this lower to approximate a "reflection" effect,
and increase the "spottiness" at the same time. To compensate for the
lack of brightness without light, "emittance" can be used.
Not sure this is the most elegant way to model this - the "proper" way
here would be to have emittance, shading and specular as three separate
light parameters instead of molding one into the other and using the third
to compensate.
Furthermore, this reorganises shaders in a major way: We reduce the
number of shader files down to three, pushing a number of possible
configurations into preprocessor. I believe this should be easier to
understand, which for the moment trumps theoretical extensibility
benefits.
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.
It was a bit weird when they just "appeared" so now there's also a sound.
Also added a forward for placement directly on Diamond, since sockets are their "natural" placement method.
Added interaction icon to help knowing when interaction is possible.
Limited crew portraits and information to two clonks.
Added additional warnings texts for further clonks (crew count > 2).
Moved inventory from bottom to top.
- 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.
The surrounding tab now uses the standard, mainstream contents display. That means that e.g. no ugly hacks are necessary to enable the "transfer all" buttons.
Previously, the surrounding menu was completely separate and always collected into the Clonk. Now you can also just put stuff directly from your surrounding into your lorry (i.e. just take everything around you into the lorry).
NO_OWNER means the message will be visible for noone (can f.e. be used to hide a ui window). nil means the message won't have visibility restrictions. This is probably what the scripter expects.
Previously, a value of "nil" would have been read as 0. So not setting the Player property and setting it to nil would mean two different things.
This seems to be the intuition of every living being ever to have touched Clonk. You can now collect items that you click on (given that they are in range). You will however also just collect the next-best item when either not clicking on anything specific or when the item is out of range.
That means that you can use left-click as a shortcut to hitting [shift].
It was rather random whether you would place a chunk of earth or just spill the bucket. And because the spilling yielded so much more earth, placing a chunk was a waste most of the time. If we want placeable earth (which might be a good thing), we should add it to the hammer.
This is mainly to get rid of IsContainerEx, because wtf.
The only reason why the categories were restricted was to prevent HasExtraSlot-objets from being found. Some C4D_Objects (or with wrong category in general) wanted to be found however. They are now found just like that.. like it was supposed to be.
RejectCollect is not called on CreateContents or other forced entry methods but should still cause the lantern to attach. So move any side-effects to Collection2 instead of direct RejectCollect.
The lantern dummy had Timer=1 and wasn't doing anything. Use a simple overlay instead.
Note that interaction menus still show the lantern always with off-material. But that's a bug in the interaction menu.
The clonk opening the menu should always have higher priority so the clonk is predictably selected on the left side even if standing behind e.g. a crate.
Other clonks should be behind because interaction with them is rare but having your fellow players stand in front of a building is very common. Allies also tend to run in front just when you opened that menu.
I am still not 100% sure in which situation this occurs (see also old comment in line 168). I suspect it happens when an object is removed from the menu and the object check timer ticks just before the inventory timer.
It is possible that this should rather be resolved by removing the inventory check effects when the right conditions are met (aka the menu is removed). IF that is even the cause. Right now I don't think the current situation is too bad, because the check is very lightweight and superflous content check effects will be removed when a new menu is opened on either side anyway.
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
squashed:
alien meteor: removed commented out stuff in script
Added new particle effect for AlienMeteor
Added missing particle for Alien Meteor :x
Changed meteor light
cleaned up boiling lava and boiling acid rule
-Made them adhere to the C4S guidelines, renamed some IDs and made some stuff in scripts more readable.
Prettied up the scripts for the boiling liquid environmental rule
Changed Bubble Behaviour slightly
Und nochmal weil's so schön war
Added BoilingAcid which causes bubbles to rise from Acid on the map
Dark bubbles are explosive
Added boiling Lava environmental rule
The check for initial selection was broken because GetIndexOf does not return nil when the index is not found. It returns -1.
The previously intended logic (that never worked) of selecting in direction of the clonk view first may sound intuitive, but is weird in practice when you're standing just on top of an object that is 1px behind you and it selects an item very far away instead. It's particularly counter-intuitive when picking up objects out of the earth while scaling.
squashed:
flower: fixed darker lighting on flower and made other textures work
-The other textures did not work out of the other .material files. And I have no idea why, because they seem to have been loaded. Maybe the graphic files are not loaded for materials that are not referenced from a mesh-material?
Random flower size
More flower textures
Add flower
Falling pixels could sometimes get the clonk stuck in a 1px pit and not moving for no apparent reason.
This change also simplifies digging through earth on top of non-diggable materials such as rock by redirecting the clonk upwards when horizontal movement fails.