-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWorld002.c
158 lines (140 loc) · 8.11 KB
/
World002.c
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#include "World.h"
#include "World002.h"
#include "Time.h"
#define G GROUND,
#define W WALL,
#define P PIT,
#define D DOWNSTAIRS,
//1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
//0 10 20 30 40 50
Tile grid_002[] = {
W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W
W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G W W W W W W G G G G G G G G G W W W W G G G G G G G G G G W W W W W G G G G G G G W
W G G G G G G G W P P P P W G G G G G G G G G W P P W G G G G G G G G G G W P P P W G G G G G G G W
W G G G G G G G W P P P P W G G G G G G G G G W P P W G G G G G G G G G G W P P P W G G G G G G G W
W G G G G G G G W P P P P W G G G G G G G G G W P P W G G G G G G G G G G W P P P W G G G G G G G W
W G G G G G G G W W W W W W G G G G G G G G G W W W W G G G G G G G G G G W W W W W G G G G G G G W
W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G W W W W G G G G G G G G G G W W W W G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G W P P W G G G G G G G G G G W P P W G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G W P P W G G G G G G G G G G W P P W G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G W P P W G G G G G G G G G G W P P W G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G W W W W G G G G G G G G G G W W W W G G G G G G G G G G G G G G G W
W G G G G W W W W W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W W W W W G G G G W
W G G G G W P P P W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W P P P W G G G G W
W G G G G W P P P W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W P P P W G G G G W
W G G G G W P P P W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W P P P W G G G G W
W W W W W W W W W W G G G W W W W W W W W W W G G G G W W W W W W W W W W G G G W W W W W W W W W W
W W W W W W W W W W G G G W W W W W W W W W W G G G G W W W W W W W W W W G G G W W W W W W W W W W
W W W W W W W W W W G G G W W W W W W W W W W G G G G W W W W W W W W W W G G G W W W W W W W W W W
W W W W W W W W W W G G G W W W W W W W W W W G G G G W W W W W W W W W W G G G W W W W W W W W W W
W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G W W W W W W W W W G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G W G G G G G G G W G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G W G G G G G G G W G G G G G G G G G G G W G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G W G D G G G G G W G G G G G G G G G G G W G G G G G G G G G G W
W G G G G G G G G G W W G G G G G G W G G G G G G G W G G G G G G G G W W W W G G G G G G G G G G W
W G G G G G G G W W W W W W G G G G W W W W W W W W W G G G G G G W W W W W G G G G G G G G G G G W
W G G G G G G W W P P P P W W G G G G G G G G G G G G G G G G G G W W W G G G G G G G G G G G G G W
W G G G G G G W P P P P P P W G G G G G G G G G G G G G G G G G G G W W G G G G G G G G G G G G G W
W G G G G G G W P P P P P P W G G G G G G G G G G G G G G G G G G G W W G G G G G G G G G G G G G W
W G G G G G G W P P P P P P W G G G G G G G G G G G G G G G G G G G W W W G G G G G G G G G G G G W
W G G G G G G W W P P P P W W G G G G G G G G G G G G G G G G G G G G W W W G G G G G G G G G G G W
W G G G G G G W W W P P W W W G G G G G G W W W W W W W G G G G G G G W W W G G G G G G G G G G G W
W G G G G G G G W W W W W W G G G G G G W W W W W W W W W G G G G G G G W W W G G G G G G G G G G W
W G G G G G G G G G W W G G G G G G G G G G G G G G G W W G G G G G G G G W W G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G G G G G G G G W W W G G G G G G G G G W W G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G G G G G G G W W W W G G G G G G G G G G W G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G G G G G W W W W W G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G G G G G W W G G G G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W
W G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G G W
W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W
};
World* world002;
const Point door = { .x = 25, .y = 29 };
bool door_open = false;
#include "Game.h"
void World002Master() {
if (!door_open) {
if (enemies->length <= 0 && GameTime.time >= 80) {
door_open = true;
SetTile(door, GROUND);
}
}
else {
if (enemies->length > 0) {
door_open = false;
SetTile(door, WALL);
}
}
if (door_open) {
if (GetTile(player->base.entity.pos) & FLAG_GOAL) {
StartNextWorld();
}
}
}
#include "World003.h"
void InitializeWorld002() {
world002 = CreateWorld(50, 50);
world002->grid = grid_002;
Point playerSpawnPoint = { .x = 25, .y = 25 };
world002->playerSpawnPoint = playerSpawnPoint;
world002->startNextWorld = &StartWorld003;
world002->worldMaster = &World002Master;
// spawn at Gametime.time >= 0
SpawnSequence* seq_1 = CreateSpawnSequence(0);
SpawnSequenceInsert(seq_1, 25, 18, MeleeEnemyType);
SpawnSequenceInsert(seq_1, 25, 35, MeleeEnemyType);
SpawnSequenceInsert(seq_1, 19, 23, MeleeEnemyType);
SpawnSequenceInsert(seq_1, 32, 23, MeleeEnemyType);
WorldInsertSpawnSequence(world002, seq_1);
// spawn at GameTime.time >= 15.0
SpawnSequence* seq_2 = CreateSpawnSequence(15);
SpawnSequenceInsert(seq_2, 21, 38, MeleeEnemyType);
SpawnSequenceInsert(seq_2, 26, 38, MeleeEnemyType);
SpawnSequenceInsert(seq_2, 13, 22, ArcherEnemyType);
SpawnSequenceInsert(seq_2, 19, 22, ArcherEnemyType);
WorldInsertSpawnSequence(world002, seq_2);
// spawn at GameTime.time >= 30.0
SpawnSequence* seq_3 = CreateSpawnSequence(30);
SpawnSequenceInsert(seq_3, 6, 32, ArcherEnemyType);
SpawnSequenceInsert(seq_3, 45, 13, ArcherEnemyType);
SpawnSequenceInsert(seq_3, 8, 15, BomberEnemyType);
SpawnSequenceInsert(seq_3, 44, 37, BomberEnemyType);
WorldInsertSpawnSequence(world002, seq_3);
// spawn at GameTime.time >= 45.0
SpawnSequence* seq_4 = CreateSpawnSequence(45);
SpawnSequenceInsert(seq_4, 26, 24, MeleeEnemyType);
SpawnSequenceInsert(seq_4, 23, 24, MeleeEnemyType);
SpawnSequenceInsert(seq_4, 26, 26, ArcherEnemyType);
SpawnSequenceInsert(seq_4, 23, 26, ArcherEnemyType);
SpawnSequenceInsert(seq_4, 26, 28, BomberEnemyType);
SpawnSequenceInsert(seq_4, 27, 28, BomberEnemyType);
WorldInsertSpawnSequence(world002, seq_4);
// spawn at GameTime.time >=60.0
SpawnSequence* seq_5 = CreateSpawnSequence(60);
SpawnSequenceInsert(seq_5, 11, 13, MeleeEnemyType);
SpawnSequenceInsert(seq_5, 11, 23, MeleeEnemyType);
SpawnSequenceInsert(seq_5, 46, 13, MeleeEnemyType);
SpawnSequenceInsert(seq_5, 46, 20, MeleeEnemyType);
SpawnSequenceInsert(seq_5, 11, 16, ArcherEnemyType);
SpawnSequenceInsert(seq_5, 11, 28, ArcherEnemyType);
SpawnSequenceInsert(seq_5, 46, 30, ArcherEnemyType);
SpawnSequenceInsert(seq_5, 46, 34, ArcherEnemyType);
WorldInsertSpawnSequence(world002, seq_5);
}
void StartWorld002() {
ShowClearStage();
door_open = false;
SetTile(door, WALL);
SetCurrentWorld(world002);
}