File: level_controller_random.cfg

package info (click to toggle)
frogatto-data 1.3.1%2Bdfsg-4
  • links: PTS, VCS
  • area: non-free
  • in suites: forky, sid, trixie
  • size: 254,428 kB
  • sloc: xml: 584; python: 396; perl: 249; sh: 126; ruby: 69; makefile: 21
file content (69 lines) | stat: -rw-r--r-- 2,303 bytes parent folder | download | duplicates (3)
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

#onetime level controllers are like the regular type, except with respawns=no set.  Meaning that their script only happens once per playthrough.
{
id: "level_controller_random",
next_animation: "'normal'",
always_active: true,
hidden_in_game: true,
respawns: false,
zorder: 50,
vars: {
	segments: [0],
	left_edge: 0,
	right_edge: 0,
	cosmic_shift_threshhold: 16384,
	cosmic_shift_amount: 15360,
},
on_process: "if(0 and level.player.midpoint_x > vars.cosmic_shift_threshhold, [cosmic_shift(-vars.cosmic_shift_amount, 0),
				  add(vars.left_edge, -vars.cosmic_shift_amount), add(vars.right_edge, -vars.cosmic_shift_amount)],
	            if(level.player.midpoint_x > vars.right_edge - 600,
	               [
	               add(vars.segments, [new_segment]),
				   add_level_module(new_segment, vars.right_edge, 0),
				   add(vars.right_edge, level.segment_width)
				   ]
				   where new_segment = choose(filter(query(level, 'segments_after_' + vars.segments.last), 'n', not (n in vars.segments)))
				   )
	            )",
on_add_segment: "if(new_segment,
		[add(vars.segments, [new_segment]),
		 set(level.dimensions, [level.dimensions[0], level.dimensions[1], vars.right_edge - vars.left_edge, level.dimensions[3]]),
		 add_level_module(new_segment, vars.right_edge, 0),
		 add(vars.right_edge, level.segment_width),
		 fire_event('add_segment')
		]
	   )
	   where new_segment = choose(filter(query(level, 'segments_after_' + vars.segments.last), 'n', not (n in vars.segments)))",
on_position_player_right_side: "[
	  remove_object(level.player),
	  set(level.player.midpoint_x, level.dimensions[2] - 100),
	  execute(level.player, move_to_standing()),
	  resolve_solid(level.player, facing, 0, -50),
	  resolve_solid(level.player, facing, 0, 50),
	  add_object(level.player)
	 ]",
on_start_level: "if(level.in_editor, die(),
	            [
	            add_level_module('0', 0, 0),
	            set(vars.left_edge, 0), set(vars.right_edge, level.segment_width),
				fire_event('add_segment'),
				if(level.player.midpoint_x > 600,
				  fire_event('position_player_right_side')
				  )
				])",
editor_info: {
	category: "controllers",
},
animation: {
	id: "normal",
	image: "effects/particles.png",
	x: 148,
	y: 166,
	w: 28,
	h: 28,

	#collide="0,0,28,28"
	frames: 1,
	duration: 1000000,
},
}