File: level_controller_neverending.cfg

package info (click to toggle)
frogatto-data 1.2%2Bdfsg-1
  • links: PTS, VCS
  • area: non-free
  • in suites: wheezy
  • size: 201,844 kB
  • sloc: python: 302; xml: 223; perl: 139; sh: 48; makefile: 13; ruby: 4
file content (99 lines) | stat: -rw-r--r-- 3,806 bytes parent folder | download
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
88
89
90
91
92
93
94
95
96
97
98
99
[object_type]
always_active="yes"
id="level_controller_neverending"
next_animation="'normal'"
on_create="if(level.in_editor, die(),
	            [set(alpha, 0),
	            		 set(vars.last_xpos, level.player.x),
				 set(level.player.vars.unlocked_items, ['heart_object', 'target', 'target', 'target', 'target', ]),
				 set(vars.scroll_xpos, level.dimensions[0]),
				set(level.dimensions, [level.dimensions[0], level.dimensions[1], level.dimensions[0] + 10000000, level.dimensions[3]]),
	            add_level_module(str(first_segment), level.dimensions[0], level.dimensions[1]),
				add(vars.segments, [first_segment]),
	            set(vars.left_edge, level.dimensions[0]), set(vars.right_edge, level.dimensions[0] + level.segment_width)]
				
				 where first_segment = (level.player.x - level.dimensions[0])/level.segment_width
				)"
on_process="[if(level.player.x >= (vars.last_xpos + 80),
	[add(level.player.score, (level.player.x - vars.last_xpos)/10),
	set(vars.last_xpos, level.player.x)]),
		     if(level.player.midpoint_x > vars.cosmic_shift_threshhold, [cosmic_shift(-vars.cosmic_shift_amount, 0),
	              add(vars.scroll_xpos, -vars.cosmic_shift_amount),
	              add(vars.last_xpos, -vars.cosmic_shift_amount),
				  add(vars.left_edge, -vars.cosmic_shift_amount), add(vars.right_edge, -vars.cosmic_shift_amount)],
	            [

				#if the level has gone beyond auto-scrolling, make
				 the auto-scrolling catch up#
				if(level.dimensions[0] > vars.scroll_xpos + vars.scroll_amount/10,
				   [set(vars.scroll_xpos, level.dimensions[0]),
				    set(vars.scroll_amount, 0)],
				add(vars.scroll_amount, vars.scroll_speed)),

	            set(level.dimensions, [max(level.dimensions[0], level.player.midpoint_x-400, vars.scroll_xpos + vars.scroll_amount/10), level.dimensions[1], level.dimensions[2], level.dimensions[3]]),
				if(level.player.midpoint_x < level.dimensions[0], set(level.player.midpoint_x, level.dimensions[0])),
				if(level.player.midpoint_x + 40 < level.dimensions[0], add(level.player.hitpoints, -1)),
	            if(level.player.midpoint_x > vars.right_edge - 800,
				   if(new_segment = null(),
				    fire_event('recycle_segment'),
	               [
	               add(vars.segments, [new_segment]),
				   add_level_module(new_segment, vars.right_edge, level.dimensions[1]),
				   add(vars.right_edge, level.segment_width),
				   add(level.player.difficulty, 1),
				   if(vars.scroll_speed_incr and (vars.scroll_speed < vars.scroll_speed_cap) and ((level.player.difficulty%vars.scroll_speed_incr) = 0), add(vars.scroll_speed, 1))
				   ])
				   where new_segment = choose(filter(query(level, 'segments_after_' + vars.segments.last), 'n', query(level, 'segment_difficulty_start_' + n) <= level.player.difficulty and (not (n in vars.segments))))
				   ),
				 if(level.player.midpoint_x > vars.left_edge + 800 + level.segment_width,
				   fire_event('recycle_segment'))
	            ])]"
on_recycle_segment="[remove_level_module(vars.segments[0]),
				    add(vars.left_edge, level.segment_width),
					set(vars.segments, filter(vars.segments, 'n', n != vars.segments[0]))]"
respawns="no"
zorder="50"
	[editor_info]
	category="controllers"
		[var]
		name="scroll_speed"
		value="0"
		[/var]

		[var]
		name="scroll_speed_incr"
		value="0"
		[/var]

		[var]
		name="scroll_speed_cap"
		value="0"
		[/var]

	[/editor_info]

	[vars]
	cosmic_shift_amount="15360"
	cosmic_shift_threshhold="16384"
	last_xpos="0"
	left_edge="0"
	right_edge="0"
	scroll_amount="0"
	scroll_speed="0"
	scroll_speed_cap="0"
	scroll_speed_incr="0"
	scroll_xpos="0"
	segments="[]"
	[/vars]

	[animation]
	duration="1000000"
	frame_info="1,1,2,1,644,449,25,26"
	frames="1"
	id="normal"
	image="compiled-2.png"
	rect="643,448,670,475"
	[/animation]

[/object_type]