forked from Mirrors/openclonk
58 lines
2.0 KiB
XML
58 lines
2.0 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<!DOCTYPE funcs
|
|
SYSTEM '../../../clonk.dtd'>
|
|
<?xml-stylesheet type="text/xsl" href="../../../clonk.xsl"?>
|
|
<funcs>
|
|
<func>
|
|
<title>PathFree</title>
|
|
<category>Landscape</category>
|
|
<version>5.1 OC</version>
|
|
<syntax>
|
|
<rtype>bool</rtype>
|
|
<params>
|
|
<param>
|
|
<type>int</type>
|
|
<name>x1</name>
|
|
<desc>X coordinate of the start point</desc>
|
|
</param>
|
|
<param>
|
|
<type>int</type>
|
|
<name>y1</name>
|
|
<desc>Y coordinate of the start point</desc>
|
|
</param>
|
|
<param>
|
|
<type>int</type>
|
|
<name>x2</name>
|
|
<desc>X coordinate of the end point</desc>
|
|
</param>
|
|
<param>
|
|
<type>int</type>
|
|
<name>y2</name>
|
|
<desc>Y coordinate of the end point</desc>
|
|
</param>
|
|
</params>
|
|
</syntax>
|
|
<desc>Determines whether the path from the start point to the end point is free, meaning that no solid material is intersected by a directly line between those points.</desc>
|
|
<remark>All coordinates are global, even in local calls.</remark>
|
|
<examples>
|
|
<example>
|
|
<code>// for all living beings in a circle with a radius of 500 around it
|
|
for(var living in <funclink>FindObjects</funclink>(<funclink>Find_OCF</funclink>(<funclink>OCF_Alive</funclink>),<funclink>Find_Distance</funclink>(500)))
|
|
{
|
|
// incinerate if the path is free
|
|
if(PathFree(GetX(),GetY(),GetX(living),GetY(living)))
|
|
living-><funclink>Incinerate</funclink>();
|
|
}</code>
|
|
<text>Eye of the beholder: Incinerates all living beings in a distance of maximum 500 pixels and if the beholder has a line-of-sight to it.</text>
|
|
</example>
|
|
</examples>
|
|
<related>
|
|
<funclink>GetMaterial</funclink>
|
|
<funclink>GBackSolid</funclink>
|
|
<funclink>GetPathLength</funclink>
|
|
<funclink>PathFree2</funclink>
|
|
</related>
|
|
</func>
|
|
<author>Sven2</author><date>2002-08</date>
|
|
</funcs>
|