<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.splashdamage.com/index.php?action=history&amp;feed=atom&amp;title=Script%3AFiles%3Ascript%2Fitems%2Flandmine.script</id>
	<title>Script:Files:script/items/landmine.script - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.splashdamage.com/index.php?action=history&amp;feed=atom&amp;title=Script%3AFiles%3Ascript%2Fitems%2Flandmine.script"/>
	<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/items/landmine.script&amp;action=history"/>
	<updated>2026-04-21T13:10:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.splashdamage.com/index.php?title=Script:Files:script/items/landmine.script&amp;diff=1788&amp;oldid=prev</id>
		<title>Wizz at 18:18, 2 November 2007</title>
		<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Script:Files:script/items/landmine.script&amp;diff=1788&amp;oldid=prev"/>
		<updated>2007-11-02T18:18:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;/***********************************************************************&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;item_landmine.script&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;***********************************************************************/&amp;lt;/span&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;#define&amp;lt;/span&amp;gt; TRIPMINE_RESULT_OK                    1&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;#define&amp;lt;/span&amp;gt; TRIPMINE_RESULT_NOT_WALL            2&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;#define&amp;lt;/span&amp;gt; TRIPMINE_RESULT_UNKNOWN_BEAM_RANGE    3&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;object&amp;lt;/span&amp;gt; [[ScriptClass:item_landmine|item_landmine]] : [[ScriptClass:weapon_base|weapon_base]] {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        preinit();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        init();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        destroy();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        Raise();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        Idle();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        TryAttack( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; altFire );&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        Attack();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt;        CanAltAttack();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        AltAttack();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;        CountMines();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        CheckMineLimit();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;        CanCreateTripmine();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt;        ToolTipThread_Raise();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;        meleeDistance;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;        nextToolTipTime;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt;        throwTime;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt;        removeOldest;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt;        clientAssumeRemoved;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt;        clientWait;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:item_landmine|item_landmine]]::preinit() {&lt;br /&gt;
     meleeDistance        = [[ScriptEvent:getFloatKey|getFloatKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;melee_distance&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
     throwTime            = [[ScriptEvent:getFloatKeyWithDefault|getFloatKeyWithDefault]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;throw_time&amp;quot;&amp;lt;/span&amp;gt;, 0.2 );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:item_landmine|item_landmine]]::init() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( myPlayer.[[ScriptEvent:isLocalPlayer|isLocalPlayer]]() ) {    &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;thread&amp;lt;/span&amp;gt; ToolTipThread_Raise();&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     [[ScriptEvent:weaponState|weaponState]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;Raise&amp;quot;&amp;lt;/span&amp;gt;, 0 );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:item_landmine|item_landmine]]::destroy() {&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:item_landmine|item_landmine]]::Raise() {&lt;br /&gt;
     UpdateCharge();&lt;br /&gt;
 &lt;br /&gt;
     Base_Raise();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; [[ScriptClass:item_landmine|item_landmine]]::CountMines() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; G_CountMinesOwnedByEntity( myPlayer );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:item_landmine|item_landmine]]::Idle() {&lt;br /&gt;
     [[ScriptEvent:weaponReady|weaponReady]]();&lt;br /&gt;
     [[ScriptEvent:playCycle|playCycle]]( ANIMCHANNEL_ALL, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;idle&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( clientWait ) {&lt;br /&gt;
         sys.[[ScriptEvent:wait|wait]]( 0.2f );&lt;br /&gt;
         clientWait = false;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     StartIdleEffect();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( ShouldRunGuis() ) {&lt;br /&gt;
         sys.[[ScriptEvent:setGUIFloat|setGUIFloat]]( GUI_GLOBALS_HANDLE, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;gameHud.weaponShowCharge&amp;quot;&amp;lt;/span&amp;gt;, 1 );&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     mainFireDown = ( WEAPON_ATTACK || WEAPON_ALTFIRE );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;while&amp;lt;/span&amp;gt;( 1 ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt;( WEAPON_LOWERWEAPON ) {&lt;br /&gt;
             StopIdleEffect();&lt;br /&gt;
             [[ScriptEvent:weaponState|weaponState]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;Lower&amp;quot;&amp;lt;/span&amp;gt;, 0 );&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( WEAPON_ATTACK ) {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt;( !mainFireDown ) {&lt;br /&gt;
                 mainFireDown = true;&lt;br /&gt;
                 CheckMineLimit();&lt;br /&gt;
                 TryAttack( false );&lt;br /&gt;
             }&lt;br /&gt;
         } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( WEAPON_ALTFIRE ) {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt;( !mainFireDown ) {&lt;br /&gt;
                 mainFireDown = true;&lt;br /&gt;
                 CheckMineLimit();&lt;br /&gt;
                 TryAttack( true );&lt;br /&gt;
             }&lt;br /&gt;
         } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
             mainFireDown = false;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         UpdateCharge();&lt;br /&gt;
 &lt;br /&gt;
         sys.[[ScriptEvent:waitFrame|waitFrame]]();&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:item_landmine|item_landmine]]::TryAttack( &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; altFire ) {&lt;br /&gt;
     [[ScriptClass:team_base|team_base]] team = myPlayer.[[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; limit = team.GetMineLimit();&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( CanRemove( chargePerUse ) ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( CountMines() &amp;lt; limit || clientAssumeRemoved ) {&lt;br /&gt;
             removeOldest = false;&lt;br /&gt;
 &lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( altFire ) {&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( CanAltAttack() ) {&lt;br /&gt;
                     StopIdleEffect();&lt;br /&gt;
                     [[ScriptEvent:weaponState|weaponState]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;AltAttack&amp;quot;&amp;lt;/span&amp;gt;, 0 );&lt;br /&gt;
                 } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
                     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( myPlayer == sys.[[ScriptEvent:getLocalPlayer|getLocalPlayer]]() ) {&lt;br /&gt;
                         sys.[[ScriptEvent:startSoundDirect|startSoundDirect]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_invalid&amp;quot;&amp;lt;/span&amp;gt; ), SND_WEAPON_FIRE_LOCAL );&lt;br /&gt;
                     }&lt;br /&gt;
                 }&lt;br /&gt;
             } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
                 StopIdleEffect();&lt;br /&gt;
                 [[ScriptEvent:weaponState|weaponState]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;Attack&amp;quot;&amp;lt;/span&amp;gt;, 0 );&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
     } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( myPlayer == sys.[[ScriptEvent:getLocalPlayer|getLocalPlayer]]() ) {&lt;br /&gt;
             myPlayer.[[ScriptEvent:sendToolTip|sendToolTip]]( GetToolTip( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;tt_need_charge&amp;quot;&amp;lt;/span&amp;gt; ) ) );&lt;br /&gt;
             sys.[[ScriptEvent:startSoundDirect|startSoundDirect]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_need_charge&amp;quot;&amp;lt;/span&amp;gt; ), SND_WEAPON_FIRE_LOCAL );&lt;br /&gt;
             G_NotifyNoCharge( myPlayer );&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:item_landmine|item_landmine]]::Attack() {&lt;br /&gt;
     Remove( chargePerUse );&lt;br /&gt;
     [[ScriptEvent:playAnim|playAnim]]( ANIMCHANNEL_ALL, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;fire&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     [[ScriptEvent:fired|fired]]();&lt;br /&gt;
 &lt;br /&gt;
     sys.[[ScriptEvent:wait|wait]]( throwTime );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; mine;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !sys.[[ScriptEvent:isClient|isClient]]() ) {&lt;br /&gt;
         mine = sys.[[ScriptEvent:spawn|spawn]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;def_landmine&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
 &lt;br /&gt;
         mine.vSetOwner( myPlayer );&lt;br /&gt;
         mine.[[ScriptEvent:setGameTeam|setGameTeam]]( myPlayer.[[ScriptEvent:getGameTeam|getGameTeam]]() );        &lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; placedOnWall = false;&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; origin = myPlayer.[[ScriptEvent:getViewOrigin|getViewOrigin]]();&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; forward = sys.[[ScriptEvent:angToForward|angToForward]]( myPlayer.[[ScriptEvent:getViewAngles|getViewAngles]]() );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; throwDistance = 32.0f;&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; throwPos = origin + forward * throwDistance;&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt;( [[ScriptEvent:melee|melee]]( MASK_SHOT_BOUNDINGBOX | MASK_PROJECTILE, meleeDistance, true, false ) ) {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; traceDistance = [[ScriptEvent:getMeleeFraction|getMeleeFraction]]() * meleeDistance;&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; surfaceFlags = [[ScriptEvent:getMeleeSurfaceFlags|getMeleeSurfaceFlags]]();&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; normal = [[ScriptEvent:getMeleeNormal|getMeleeNormal]]();&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; meleeEntity = [[ScriptEvent:getMeleeEntity|getMeleeEntity]]();&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; endPos = [[ScriptEvent:getMeleeEndPos|getMeleeEndPos]]();&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; surfaceType = [[ScriptEvent:getMeleeSurfaceType|getMeleeSurfaceType]]();&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; joint = [[ScriptEvent:getMeleeJoint|getMeleeJoint]]();&lt;br /&gt;
 &lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !( surfaceFlags &amp;amp; SURF_NOPLANT ) ) {&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( sys.[[ScriptEvent:fabs|fabs]]( normal_z ) &amp;lt; 0.5 ) {&lt;br /&gt;
                     placedOnWall = true;&lt;br /&gt;
                     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( meleeEntity != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
                         [[ScriptClass:vehicle_base|vehicle_base]] meleeVehicle = meleeEntity;&lt;br /&gt;
                         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( meleeVehicle != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; || meleeEntity.vDisablePlantCharge() ) {&lt;br /&gt;
                             placedOnWall = false;&lt;br /&gt;
                         }&lt;br /&gt;
                     }&lt;br /&gt;
 &lt;br /&gt;
                     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( placedOnWall ) {&lt;br /&gt;
                         mine.[[ScriptEvent:setOrigin|setOrigin]]( endPos );&lt;br /&gt;
                         mine.[[ScriptEvent:alignToAxis|alignToAxis]]( normal, Z_AXIS );&lt;br /&gt;
                         mine.vMakeSticky( meleeEntity, normal, surfaceType, false, joint );&lt;br /&gt;
                     }&lt;br /&gt;
                 } &lt;br /&gt;
             }&lt;br /&gt;
 &lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !placedOnWall ) {&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; size = mine.[[ScriptEvent:getSize|getSize]]();&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; pullOut = sys.[[ScriptEvent:vecLength|vecLength]]( size ) * 0.6f;&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( traceDistance &amp;lt; throwDistance + pullOut ) {&lt;br /&gt;
                     throwPos = origin + forward * ( traceDistance - pullOut );&lt;br /&gt;
                 }&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !placedOnWall ) {&lt;br /&gt;
             mine.[[ScriptEvent:setOrigin|setOrigin]]( throwPos );&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; velocity = mine.[[ScriptEvent:getVectorKeyWithDefault|getVectorKeyWithDefault]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;velocity&amp;quot;&amp;lt;/span&amp;gt;, '400 0 0' );&lt;br /&gt;
             velocity = forward * velocity_x;&lt;br /&gt;
             mine.[[ScriptEvent:setLinearVelocity|setLinearVelocity]]( velocity );&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     waitUntil( [[ScriptEvent:animDone|animDone]]( ANIMCHANNEL_ALL, 0 ) );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !sys.[[ScriptEvent:isClient|isClient]]() ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( mine != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !mine.vGetIsSelfArm() ) {&lt;br /&gt;
                 [[ScriptClass:team_base|team_base]] team = myPlayer.[[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
                 team.SelectActionItem( myPlayer, AK_ARM );&lt;br /&gt;
             }&lt;br /&gt;
 &lt;br /&gt;
             myPlayer.[[ScriptEvent:setPlayerMineState|setPlayerMineState]]( mine, false, false ); &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//mal: let the bots know there is a new landmine out there in the world.&amp;lt;/span&amp;gt;&lt;br /&gt;
         }&lt;br /&gt;
     } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// wait for server to select weapon&amp;lt;/span&amp;gt;&lt;br /&gt;
         clientWait = true;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     [[ScriptEvent:weaponState|weaponState]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;Idle&amp;quot;&amp;lt;/span&amp;gt;, 0 );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;boolean&amp;lt;/span&amp;gt; [[ScriptClass:item_landmine|item_landmine]]::CanAltAttack() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( ![[ScriptEvent:melee|melee]]( MASK_SHOT_BOUNDINGBOX | MASK_PROJECTILE, meleeDistance, true, false ) ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; false;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; result = CanCreateTripmine();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( result == TRIPMINE_RESULT_NOT_WALL || result == TRIPMINE_RESULT_UNKNOWN_BEAM_RANGE ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; ttString;&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( result == TRIPMINE_RESULT_NOT_WALL ) {&lt;br /&gt;
             ttString = &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;tt_wrong_surface&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
         } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( result == TRIPMINE_RESULT_UNKNOWN_BEAM_RANGE ) {&lt;br /&gt;
             ttString = &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;tt_unknown_beam_range&amp;quot;&amp;lt;/span&amp;gt;;&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( myPlayer == sys.[[ScriptEvent:getLocalPlayer|getLocalPlayer]]() ) {&lt;br /&gt;
             myPlayer.[[ScriptEvent:cancelToolTips|cancelToolTips]]();&lt;br /&gt;
             sys.[[ScriptEvent:wait|wait]]( 0.1f );&lt;br /&gt;
             myPlayer.[[ScriptEvent:sendToolTip|sendToolTip]]( GetToolTip( [[ScriptEvent:getKey|getKey]]( ttString ) ) );&lt;br /&gt;
             sys.[[ScriptEvent:startSoundDirect|startSoundDirect]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_invalid&amp;quot;&amp;lt;/span&amp;gt; ), SND_ANY );&lt;br /&gt;
         }&lt;br /&gt;
 &lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; false;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; true;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:item_landmine|item_landmine]]::AltAttack() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; mine;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; result = CanCreateTripmine();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( result == TRIPMINE_RESULT_NOT_WALL || result == TRIPMINE_RESULT_UNKNOWN_BEAM_RANGE ) {&lt;br /&gt;
         [[ScriptEvent:weaponState|weaponState]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;Idle&amp;quot;&amp;lt;/span&amp;gt;, 4 );&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; meleeEntity = [[ScriptEvent:getMeleeEntity|getMeleeEntity]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; normal = [[ScriptEvent:getMeleeNormal|getMeleeNormal]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; point = [[ScriptEvent:getMeleePoint|getMeleePoint]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; surfaceType = [[ScriptEvent:getMeleeSurfaceType|getMeleeSurfaceType]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; joint = [[ScriptEvent:getMeleeJoint|getMeleeJoint]]();&lt;br /&gt;
 &lt;br /&gt;
     Remove( chargePerUse );&lt;br /&gt;
     [[ScriptEvent:playAnim|playAnim]]( ANIMCHANNEL_ALL, &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;fire&amp;quot;&amp;lt;/span&amp;gt; );&lt;br /&gt;
 &lt;br /&gt;
     [[ScriptEvent:fired|fired]]();&lt;br /&gt;
 &lt;br /&gt;
     sys.[[ScriptEvent:wait|wait]]( throwTime );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !sys.[[ScriptEvent:isClient|isClient]]() ) {&lt;br /&gt;
         mine = sys.[[ScriptEvent:spawn|spawn]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;def_landmine&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
 &lt;br /&gt;
         mine.vSetOwner( myPlayer );&lt;br /&gt;
         mine.[[ScriptEvent:setGameTeam|setGameTeam]]( myPlayer.[[ScriptEvent:getGameTeam|getGameTeam]]() );    &lt;br /&gt;
         mine.[[ScriptEvent:setOrigin|setOrigin]]( point );&lt;br /&gt;
         mine.[[ScriptEvent:alignToAxis|alignToAxis]]( normal, Z_AXIS );&lt;br /&gt;
         mine.vMakeSticky( meleeEntity, normal, surfaceType, true, joint );&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     waitUntil( [[ScriptEvent:animDone|animDone]]( ANIMCHANNEL_ALL, 0 ) );&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !sys.[[ScriptEvent:isClient|isClient]]() ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( mine != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !mine.vGetIsSelfArm() ) {&lt;br /&gt;
                 [[ScriptClass:team_base|team_base]] team = myPlayer.[[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
                 team.SelectActionItem( myPlayer, AK_ARM );&lt;br /&gt;
             }&lt;br /&gt;
             myPlayer.[[ScriptEvent:setPlayerMineState|setPlayerMineState]]( mine, false, false ); &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;//mal: let the bots know there is a new landmine out there in the world.&amp;lt;/span&amp;gt;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     [[ScriptEvent:weaponState|weaponState]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;Idle&amp;quot;&amp;lt;/span&amp;gt;, 0 );&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:item_landmine|item_landmine]]::CheckMineLimit() {&lt;br /&gt;
     [[ScriptClass:team_base|team_base]] team = myPlayer.[[ScriptEvent:getGameTeam|getGameTeam]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; limit = team.GetMineLimit();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( CountMines() &amp;gt;= limit ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( removeOldest ) {&lt;br /&gt;
             myPlayer.RemoveOldestMine();&lt;br /&gt;
             removeOldest = false;&lt;br /&gt;
 &lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// client assumes mine was removed so as to play the proper fire animation&amp;lt;/span&amp;gt;&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( sys.[[ScriptEvent:isClient|isClient]]() ) {&lt;br /&gt;
                 clientAssumeRemoved = true;&lt;br /&gt;
             }&lt;br /&gt;
         } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
             clientAssumeRemoved = false;&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( CanRemove( chargePerUse ) ) {&lt;br /&gt;
                 removeOldest = true;&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( myPlayer == sys.[[ScriptEvent:getLocalPlayer|getLocalPlayer]]() ) {&lt;br /&gt;
                     myPlayer.[[ScriptEvent:cancelToolTips|cancelToolTips]]();&lt;br /&gt;
                     sys.[[ScriptEvent:wait|wait]]( 0.1f );&lt;br /&gt;
                     myPlayer.[[ScriptEvent:sendToolTip|sendToolTip]]( GetToolTip( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;tt_mine_limit&amp;quot;&amp;lt;/span&amp;gt; ) ) );&lt;br /&gt;
                     sys.[[ScriptEvent:startSoundDirect|startSoundDirect]]( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;snd_invalid&amp;quot;&amp;lt;/span&amp;gt; ), SND_WEAPON_FIRE );&lt;br /&gt;
                 }&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; [[ScriptClass:item_landmine|item_landmine]]::CanCreateTripmine() {&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; traceFraction = [[ScriptEvent:getMeleeFraction|getMeleeFraction]](); &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; normal = [[ScriptEvent:getMeleeNormal|getMeleeNormal]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; surfaceFlags = [[ScriptEvent:getMeleeSurfaceFlags|getMeleeSurfaceFlags]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;entity&amp;lt;/span&amp;gt; meleeEntity = [[ScriptEvent:getMeleeEntity|getMeleeEntity]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;string&amp;lt;/span&amp;gt; surfaceType = [[ScriptEvent:getMeleeSurfaceType|getMeleeSurfaceType]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; endPos = [[ScriptEvent:getMeleeEndPos|getMeleeEndPos]]();&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; traceDistance = traceFraction * meleeDistance;&lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;float&amp;lt;/span&amp;gt; result = TRIPMINE_RESULT_OK;&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( !( surfaceFlags &amp;amp; SURF_NOPLANT ) ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( sys.[[ScriptEvent:fabs|fabs]]( normal_z ) &amp;lt; 0.5 ) {&lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( meleeEntity != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
                 [[ScriptClass:player|player]] meleePlayer = meleeEntity;&lt;br /&gt;
                 [[ScriptClass:vehicle_base|vehicle_base]] meleeVehicle = meleeEntity;&lt;br /&gt;
                 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( meleeVehicle != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; || meleePlayer != &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;$null_entity&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
                     result = TRIPMINE_RESULT_NOT_WALL;&lt;br /&gt;
                 }&lt;br /&gt;
             }&lt;br /&gt;
 &lt;br /&gt;
             &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt;( surfaceType == &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;grass&amp;quot;&amp;lt;/span&amp;gt; || surfaceType == &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;gravel&amp;quot;&amp;lt;/span&amp;gt; || surfaceType == &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;sand&amp;quot;&amp;lt;/span&amp;gt; || surfaceType == &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;dirt&amp;quot;&amp;lt;/span&amp;gt; ) {&lt;br /&gt;
                 result = TRIPMINE_RESULT_NOT_WALL;&lt;br /&gt;
             }&lt;br /&gt;
         } &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; {&lt;br /&gt;
             result = TRIPMINE_RESULT_NOT_WALL;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( result == TRIPMINE_RESULT_OK ) {&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;// find trip mine beam distance&amp;lt;/span&amp;gt;&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; beamStart = endPos;&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;vector&amp;lt;/span&amp;gt; beamEnd = beamStart + ( normal * GetGlobalFloat( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;tripmine_beam_range&amp;quot;&amp;lt;/span&amp;gt; ) );&lt;br /&gt;
 &lt;br /&gt;
         sys.[[ScriptEvent:tracePoint|tracePoint]]( beamStart, beamEnd, CONTENTS_SOLID | CONTENTS_RENDERMODEL, myPlayer );&lt;br /&gt;
         &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; ( sys.[[ScriptEvent:getTraceFraction|getTraceFraction]]() == 1.f || sys.[[ScriptEvent:getTraceEntity|getTraceEntity]]() != sys.[[ScriptEvent:getEntity|getEntity]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;worldspawn&amp;quot;&amp;lt;/span&amp;gt; ) ) {&lt;br /&gt;
             result = TRIPMINE_RESULT_UNKNOWN_BEAM_RANGE;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;return&amp;lt;/span&amp;gt; result;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;void&amp;lt;/span&amp;gt; [[ScriptClass:item_landmine|item_landmine]]::ToolTipThread_Raise() {&lt;br /&gt;
     myPlayer.[[ScriptEvent:cancelToolTips|cancelToolTips]]();&lt;br /&gt;
     sys.[[ScriptEvent:wait|wait]]( myPlayer.CalcTooltipWait() );&lt;br /&gt;
 &lt;br /&gt;
     WAIT_FOR_TOOLTIP;&lt;br /&gt;
     myPlayer.[[ScriptEvent:sendToolTip|sendToolTip]]( GetToolTip( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;tt_intro_1&amp;quot;&amp;lt;/span&amp;gt; ) ) );&lt;br /&gt;
 &lt;br /&gt;
     WAIT_FOR_TOOLTIP;&lt;br /&gt;
     myPlayer.[[ScriptEvent:sendToolTip|sendToolTip]]( GetToolTip( [[ScriptEvent:getKey|getKey]]( &amp;lt;span style=&amp;quot;color:brown&amp;quot;&amp;gt;&amp;quot;tt_intro_2&amp;quot;&amp;lt;/span&amp;gt; ) ) );&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Wizz</name></author>
		
	</entry>
</feed>