This file is indexed.

/usr/share/games/kiki-the-nano-bot/py/levels/energy.py is in kiki-the-nano-bot-data 1.0.2+dfsg1-6build1.

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
85
86
87
# .................................................................................................................
level_dict["energy"] = {   
                        "scheme":   "default_scheme",
                        "size":     (9,17,9),    
                        "intro":    "energy", 
                        "help":     ( 
                                        "$scale(1.5)mission:\nactivate the exit!\n\n" + \
                                        "to activate the exit,\nshoot the 4 switches",
                                    ),
                        "player":   {   "position":         (0,1,0),
                                        "orientation":      roty90,
                                    },
                        "exits":    [
                                        {
                                            "name":         "exit",
                                            "active":       0,
                                            "position":     (0,0,0),
                                        },
                                    ],
                        "create":
"""
s = world.getSize()

world.addObjectLine (KikiWall, (0, s.y/2, s.z/2), (s.x, s.y/2, s.z/2))
world.addObjectLine (KikiWall, (s.x/2, s.y/2, 0), (s.x/2, s.y/2, s.z))
world.deleteObject  (world.getOccupantAtPos (world.decenter (0,0,0)))

world.addObjectAtPos (KikiWall(), world.decenter (0, 3, 0))
world.addObjectAtPos (KikiWall(), world.decenter (0, 6, 0))

world.addObjectAtPos (KikiWall(), world.decenter (0, -4, 0))
world.addObjectAtPos (KikiWall(), world.decenter ( 2,-5, 1))
world.addObjectAtPos (KikiWall(), world.decenter (-1,-5, 2))
world.addObjectAtPos (KikiWall(), world.decenter (-2,-5,-1))
world.addObjectAtPos (KikiWall(), world.decenter ( 1,-5,-2))

world.addObjectAtPos (KikiMutant(), world.decenter ( 2,-5, 2))
world.addObjectAtPos (KikiMutant(), world.decenter (-2,-5,-2))
world.addObjectAtPos (KikiMutant(), world.decenter ( 1,-5, 1))
world.addObjectAtPos (KikiMutant(), world.decenter (-1,-5,-1))
world.addObjectAtPos (KikiMutant(), world.decenter ( 2,-5,-2))
world.addObjectAtPos (KikiMutant(), world.decenter (-2,-5, 2))
world.addObjectAtPos (KikiMutant(), world.decenter ( 1,-5,-1))
world.addObjectAtPos (KikiMutant(), world.decenter (-1,-5, 1))

world.addObjectAtPos (KikiWall(), world.decenter ( 0,  3, s.z/2))
world.addObjectAtPos (KikiWall(), world.decenter ( 0,  5, s.z/2))
world.addObjectAtPos (KikiWall(), world.decenter ( 1,  4, s.z/2))
world.addObjectAtPos (KikiWall(), world.decenter (-1,  4, s.z/2))

world.addObjectAtPos (KikiWall(), world.decenter (s.x/2, 3,  0))
world.addObjectAtPos (KikiWall(), world.decenter (s.x/2, 5,  0))
world.addObjectAtPos (KikiWall(), world.decenter (s.x/2, 4,  1))
world.addObjectAtPos (KikiWall(), world.decenter (s.x/2, 4, -1))

world.addObjectAtPos (KikiWall(), world.decenter ( 0,  3, -s.z/2+1))
world.addObjectAtPos (KikiWall(), world.decenter ( 0,  5, -s.z/2+1))
world.addObjectAtPos (KikiWall(), world.decenter ( 1,  4, -s.z/2+1))
world.addObjectAtPos (KikiWall(), world.decenter (-1,  4, -s.z/2+1))

world.addObjectAtPos (KikiWall(), world.decenter (-s.x/2+1, 3,  0))
world.addObjectAtPos (KikiWall(), world.decenter (-s.x/2+1, 5,  0))
world.addObjectAtPos (KikiWall(), world.decenter (-s.x/2+1, 4,  1))
world.addObjectAtPos (KikiWall(), world.decenter (-s.x/2+1, 4, -1))

world.switch_counter = 0

def switched (switch):
    world.switch_counter += switch.isActive() and 1 or -1
    exit = kikiObjectToGate (world.getObjectWithName("exit"))
    exit.setActive (world.switch_counter == 4)

switch1 = KikiSwitch()
switch1.getEventWithName("switched").addAction (continuous (lambda sw=switch1: switched(sw)))
switch2 = KikiSwitch()
switch2.getEventWithName("switched").addAction (continuous (lambda sw=switch2: switched(sw)))
switch3 = KikiSwitch()
switch3.getEventWithName("switched").addAction (continuous (lambda sw=switch3: switched(sw)))
switch4 = KikiSwitch()
switch4.getEventWithName("switched").addAction (continuous (lambda sw=switch4: switched(sw)))

world.addObjectAtPos (switch1, world.decenter (-s.x/2+1, 4, 0))
world.addObjectAtPos (switch2, world.decenter ( s.x/2, 4, 0))
world.addObjectAtPos (switch3, world.decenter (0, 4, -s.z/2+1))
world.addObjectAtPos (switch4, world.decenter (0, 4,  s.z/2))
""",                                 
}