I wonder if this is a known thing or do I get the laurels of discovery.
Code:
func int foo1()
{
	return TRUE;
};
func int foo2()
{
	foo1(); // BUG: return value of foo1 is not discarded
	return TRUE;
};
func void foo3()
{
	if foo2() == FALSE // second operand of == is evaluated, then first
	{
		Print("Surprise!");
	};
};
This has so much potential to screw up things in most unexpected places. It's surprising Gothic 2 works at all...

P.S. Most likely culprit is Daedalus compiler, both Spacer II 2.6 (mod) and GothicSourcer 3.14 are affected (unless the culprit is deeper in game engine code that executes compiled scripts).