File: level_controller_random.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 (79 lines) | stat: -rw-r--r-- 2,349 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
#onetime level controllers are like the regular type, except with respawns=no set.  Meaning that their script only happens once per playthrough.

	[object_type]
	id=level_controller_random
	next_animation="'normal'"
	always_active=yes
	respawns="no"
	zorder=50

	[editor_info]
	category=controllers
	[/editor_info]
	
	[vars]
	segments="[0]"
	left_edge="0"
	right_edge="0"
	cosmic_shift_threshhold="16384"
	cosmic_shift_amount="15360"
	[/vars]
	
	
	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(),
	            [set(alpha, 0),
	            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')
				  )
				])"



		[animation]
		id=normal
		image=effects/particles.png
		x=148
		y=166
		w=28
		h=28
		#collide="0,0,28,28"
		frames=1
		duration=1000000
		[/animation]
	[/object_type]