This file is indexed.

/usr/share/games/adanaxisgpl/ruby/AdanaxisAIProjectile.rb is in adanaxisgpl-data 1.2.5.dfsg.1-5ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#%Header {
##############################################################################
#
# File data-adanaxis/ruby/AdanaxisAIProjectile.rb
#
# Copyright Andy Southgate 2006-2007
#
# This file may be used and distributed under the terms of the Mushware
# Software Licence version 1.4, under the terms for 'Proprietary original
# source files'.  If not supplied with this software, a copy of the licence
# can be obtained from Mushware Limited via http://www.mushware.com/.
# One of your options under that licence is to use and distribute this file
# under the terms of the GNU General Public Licence version 2.
#
# This software carries NO WARRANTY of any kind.
#
##############################################################################
#%Header } YNRxyoroF56Ueof+iUvYlA
# $Id: AdanaxisAIProjectile.rb,v 1.6 2007/06/27 13:18:53 southa Exp $
# $Log: AdanaxisAIProjectile.rb,v $
# Revision 1.6  2007/06/27 13:18:53  southa
# Debian packaging
#
# Revision 1.5  2007/06/27 12:58:10  southa
# Debian packaging
#
# Revision 1.4  2007/04/18 09:21:51  southa
# Header and level fixes
#
# Revision 1.3  2007/04/16 08:41:05  southa
# Level and header mods
#
# Revision 1.2  2007/03/13 21:45:07  southa
# Release process
#
# Revision 1.1  2006/11/12 20:09:54  southa
# Missile guidance
#

require 'Mushware.rb'
require 'AdanaxisAI.rb'

class AdanaxisAIProjectile < AdanaxisAI

  def mStateActionProjectileSeek
    onTarget = false
    unless @m_targetID
      # No target to seek
      mStateChange(AISTATE_IDLE)
    else
      begin
        targetPiece = MushGame.cPieceLookup(@m_targetID)
        targetPos = targetPiece.post.position
        onTarget = MushUtil.cMissileSeek(@r_post,
          targetPos, # Target
          @m_seekSpeed, # Maximum speed
          @m_seekAcceleration # Acceleration
        )
      rescue Exception => e
        # Target probably destroyed
        @m_targetID = nil
      end
    end

    100
  end


  def mActMain
    case @m_state
      when AISTATE_IDLE
        callInterval = nil
      when AISTATE_DORMANT
        mStateChange(AISTATE_PROJECTILE_SEEK)
        callInterval = 100
      when AISTATE_PROJECTILE_SEEK
        callInterval = mStateActionProjectileSeek
      else callInterval = super
    end

    callInterval
  end

end