- help text now appears on top of sprites

- powerup counter is reset when you die
- fixed bug preventing jumping near a wall
- fixed bug: hurryup cloud shouldn't be able to teleport
- conveyor belts no longer affect fruits 
- editor now has delay after adding a sprite to prevent duplicate
- properly rendomized direction that monster corpses go in
- music now speeds up after a HURRYUP
- snakes can no longer walk up slopes
- added sound effects for HURRYUP and TOO SLOW
- getting all fruits on the level now makes gems shoot out sideways
- dead monsters now create a puff before turning into a fruit
This commit is contained in:
Rob Pearce 2008-09-27 06:02:42 +00:00
parent c80fb57c54
commit 89cce7f749
54 changed files with 995 additions and 271 deletions

36
defs.h
View File

@ -6,10 +6,26 @@
/* Macros */
//#define OPENGL
// channel numbers
#define CH_LASTCHANNEL 21
#define CH_HURRYUP 20
// size of flower straem when getting last flower
// (number of gems on each side)
#define STREAMWID 6
// puff of smoke
#define PUFFFRAMES 6
#define PUFFSPEED 4 // how fast it animates (smaller = faster)
#define PUFFAPPEAR 4 // frame at which puff will turn into a gem
// text sizes
#define TEXTSIZE_HELP 20
#define TEXTSIZE_POINTS 10
#define TEXTSIZE_BONUS 20
#define TEXTSIZE_HURRY 50
// text delays
@ -17,6 +33,7 @@
// how long to keep various text on the screen
#define POINTSDELAY 40
#define BONUSDELAY 50
#define HURRYDELAY 50
#define LEVELDELAY 70
#define HELPDELAY 80
@ -40,7 +57,7 @@
// Limits
#define MAXMAPPINGS 50
#define MAXMONSTERSPERLEVEL 20
#define MAXMONSTERSPERLEVEL 40
#define MAXLETTERHEIGHT 100
#define MAXFRAMES 11 // max number of frames for sprites
#define MAXHELP 5
@ -63,7 +80,7 @@
/* enums */
/* sounds */
#define MAXFX 9
#define MAXFX 12
#define FX_SHOOT 0
#define FX_SLAM 1
#define FX_KILL 2
@ -73,6 +90,9 @@
#define FX_POWERUP 6
#define FX_DIE 7
#define FX_WINLEVEL 8
#define FX_HURRYUP 9
#define FX_TOOSLOW 10
#define FX_BONUS 11
// Slope types
#define S_NOTSOLID 0
@ -80,7 +100,7 @@
#define S_SLOPE 2
// Sprite types
#define MAXPTYPES 19
#define MAXPTYPES 23
#define P_PLAYER 0
#define P_RAT 1
#define P_CHEESE 2
@ -100,6 +120,10 @@
#define P_FLOWERRED 16
#define P_FLOWERPURPLE 17
#define P_COKE 18
#define P_GEMRED 19
#define P_PUFF 20
#define P_GEMYELLOW 21
#define P_GEMPURPLE 22
// Frame names
#define F_WALK1 0
@ -266,6 +290,9 @@ typedef struct sprite_s {
int bounces; // how many time have we bounced after dying
int doomcount; // sprites dies when this reaches zero
int moved; // did we move this loop cycle?
int timer1; //
int timer2; //
int timer3; //
// GAME MECHANICS
@ -301,7 +328,8 @@ extern SDL_Color yellow;
extern int vidargs;
extern int toggletimer;
extern TTF_Font *font[];
extern Mix_Music *music;
extern int musicplaying;
extern Mix_Music *music, *normalmusic, *fastmusic;
extern Mix_Chunk *sfx[];

View File

@ -2,8 +2,9 @@
- in defs.h: add P_ entry
- in shared.c: add score value in setdefaults if applicable
- in shared.c: add loadspriteimage() line(s) in loadimagesets()
- in shared.c: add entry to monstertochar
- in shared.c: add entry to chartomonster
- in shared.c: update isfruit(), isbullet()
- in shared.c: IF NOT AN EFFECT: add entry to monstertochar
- in shared.c: IF NOT AN EFFECT: add entry to chartomonster
- in shared.c: update isflower(), isfruit(), isbullet(), iseffect();
- in shared.c: IF A GEM: update flowertogem()
- in rc.c: update ismonster()
- in rc.c: add monster movement

8
doco/making_a_gem.txt Normal file
View File

@ -0,0 +1,8 @@
- grab gem from here:
http://www.geocities.com/joflo723/t_jewels.htm
- load into gimp, select gem with magic wand
- copy,paste as new (background should be transparent now!)
- scale to appropriate size

78
edit.c
View File

@ -208,28 +208,30 @@ int main (int argc, char **argv) {
y = (my / TILEH);
/* checks */
// can only have one player start pos
if (selsprite == P_PLAYER) {
/* does a player start pos already exist? */
sprite_t *s;
for (s = sprite ; s ; s = s->next) {
if (s->id == P_PLAYER) {
// if so, just move it
s->x = x*TILEW+(TILEW/2);
s->y = y*TILEH+TILEH;
placed = B_TRUE;
modified = B_TRUE;
// get rid of old sprite
draweditorlevel();
}
}
} else { // is there a monster already there?
sprite_t *s;
for (s = sprite ; s ; s = s->next) {
if (s->id == selsprite) {
if ((s->x == x*TILEW+(TILEW/2)) && (s->y == y*TILEH+TILEH)) {
/* don't place it */
if (toggletimer == 0) {
// can only have one player start pos
if (selsprite == P_PLAYER) {
/* does a player start pos already exist? */
sprite_t *s;
for (s = sprite ; s ; s = s->next) {
if (s->id == P_PLAYER) {
// if so, just move it
s->x = x*TILEW+(TILEW/2);
s->y = y*TILEH+TILEH;
placed = B_TRUE;
modified = B_TRUE;
// get rid of old sprite
draweditorlevel();
}
}
} else { // is there a monster already there?
sprite_t *s;
for (s = sprite ; s ; s = s->next) {
if (s->id == selsprite) {
if ((s->x == x*TILEW+(TILEW/2)) && (s->y == y*TILEH+TILEH)) {
/* don't place it */
placed = B_TRUE;
}
}
}
}
@ -239,11 +241,16 @@ int main (int argc, char **argv) {
if (!placed) {
/* place selected sprite at mouse position
(locked to a til) */
addsprite(selsprite, x*TILEW+(TILEW/2),y*TILEH+TILEH,"something", B_TRUE);
if (selsprite == P_HELP) {
addsprite(selsprite, x*TILEW+(TILEW/2),y*TILEH+TILEH,"FILL ME IN", B_TRUE);
} else {
addsprite(selsprite, x*TILEW+(TILEW/2),y*TILEH+TILEH,"something", B_TRUE);
}
toggletimer = 30;
modified = B_TRUE;
drawsprites();
}
drawsprites();
}
}
}
@ -277,6 +284,31 @@ int main (int argc, char **argv) {
modified = B_TRUE;
}
}
if (keys[SDLK_c]) {
if (toggletimer == 0) {
int offset,x,y;
/* clear all sprites */
while (sprite) {
killsprite(sprite);
}
/* clear level */
for (x = 0; x < LEVELW; x++) {
for (y = 0; y < LEVELH; y++) {
offset = y*LEVELW+x;
if ((x == 0) || (x == LEVELW-1)) {
curlevel->map[offset] = T_FULL;
} else if (y == LEVELH-1) {
curlevel->map[offset] = T_LAND;
} else {
curlevel->map[offset] = T_BLANK;
}
drawtile(screen,x,y);
}
}
}
}
/* next level */
if (keys[SDLK_RIGHT]) {

View File

@ -2,13 +2,15 @@
#define __GLOBALS_H
/* global variables */
int musicplaying;
SDL_Surface *temps; // temporary surface
SDL_Surface *screen; // the actual video screen
sprite_t *sprite; // head of sprite linked list
sprite_t *lastsprite; // tail of sprite linked list
sprite_t *player; // pointer to the player's sprite
Mix_Music *music;
Mix_Music *music, *fastmusic, *normalmusic;
Mix_Chunk *sfx[MAXFX];
level_t *curlevel; // the current level's data

BIN
music/mainfast.mod Normal file

Binary file not shown.

BIN
newtiles/log1.5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 707 B

BIN
newtiles/log2.5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 708 B

BIN
newtiles/log3.5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 B

BIN
newtiles/log4.5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 706 B

BIN
newtiles/signleft.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 B

BIN
newtiles/signright.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 632 B

BIN
rc

Binary file not shown.

422
rc.c
View File

@ -24,26 +24,28 @@ SDL_Surface *temps;
SDL_Surface *screen;
TTF_Font *font[MAXLETTERHEIGHT];
Mix_Music *curmusic = NULL; // pointer to currently playing music
char tempm[BUFLEN];
tiletype_t fakeblock;
/* the order in which fruit will appear */
int fruittypes[] = {
2,
9,
10,
11,
P_CHEESE,
P_ICECREAM,
P_CHIPS,
P_BURGER,
-1
};
/* the order in which powerups will appear */
int poweruptypes[] = {
3,
4,
5,
4,
P_SPEED,
P_NUMNETS,
P_BIGNET,
P_NUMNETS,
-1
};
@ -85,6 +87,7 @@ int main (int argc, char **argv) {
int *animtile;
curlevelnum = 1;
musicplaying = B_FALSE;
/* handle arguments */
if (argc >= 2) {
@ -155,9 +158,6 @@ int main (int argc, char **argv) {
SDL_setFramerate(&manager, WANTFPS);
if (loadlevel(curworld,curlevelnum)) {
return 1;
}
/* init sound */
if (initsound()) {
@ -165,8 +165,10 @@ int main (int argc, char **argv) {
return 1;
}
/* start music */
Mix_PlayMusic(music, -1);
playmusic(normalmusic);
if (loadlevel(curworld,curlevelnum)) {
return 1;
}
drawlevel();
@ -399,8 +401,6 @@ int main (int argc, char **argv) {
//}
checkcollide(player);
/* draw text */
drawtext();
drawscore();
@ -410,6 +410,8 @@ int main (int argc, char **argv) {
for (s = sprite ; s ; s = s->next) {
drawsprite(s);
}
/* draw text */
drawtext();
flip();
@ -435,6 +437,8 @@ void tick(void) {
/* once per second */
if (fpsticks - fpsstart >= 1000) {
gtime++;
/* */
if (gtime == curlevel->hurryuptime) {
if (!levelcomplete) {
@ -444,15 +448,19 @@ void tick(void) {
}
}
addtext(320,240,TEXTSIZE_HURRY, "Hurry up!", &yellow,HURRYDELAY);
stopmusic();
Mix_PlayChannel(CH_HURRYUP, sfx[FX_HURRYUP], 0);
}
}
if (gtime == curlevel->hurryuptime + 10) {
} else if (gtime == curlevel->hurryuptime + 10) {
if (!levelcomplete) {
addsprite(P_CLOUD, 320,240,"cloud", B_FALSE);
addtext(320,240,TEXTSIZE_HURRY, "Too slow!", &red,HURRYDELAY);
playfx(FX_TOOSLOW);
}
}
/* 5 seconds after level completion */
if (levelcomplete == 3) {
if (gtime - levelcompletetime >= 5) {
@ -469,6 +477,9 @@ void tick(void) {
void nextlevel(void) {
/* go to next level */
curlevelnum++;
if (!musicplaying || (curmusic == fastmusic)) {
playmusic(normalmusic);
}
loadlevel(curworld,curlevelnum);
drawlevel();
levelcomplete = B_FALSE;
@ -513,6 +524,11 @@ void die(sprite_t *s) {
// this handles cases where the cloud hasn't appeared yet.
if (s == player) {
gtime = 0;
if (curmusic == fastmusic) {
playmusic(normalmusic);
}
// reset powerup types
curpoweruptype = 0;
}
if (s == player) {
@ -602,7 +618,7 @@ void checkcollide(sprite_t *s) {
if ((xdiff <= s->img->w/2 + s2->img->w/2) &&
(ydiff <= s->img->h/2 + s2->img->h/2)) {
/* COLLISION! */
if (isfruit(s2->id)) {
if (isfruit(s2->id) && (s2->teleporting == 0)) {
if (s == player) {
int gotscore = s2->score;
@ -611,9 +627,7 @@ void checkcollide(sprite_t *s) {
/* give points to the player */
player->score = player->score + gotscore;
/* handle fruit effects */
if (dofruiteffect(s2)) {
playfx(FX_POWERUP);
} else {
if (!dofruiteffect(s2)) {
playfx(FX_FRUIT);
sprintf(tempm, "%d", gotscore);
addtext(s2->x,s2->y - s2->img->h/2, TEXTSIZE_POINTS, tempm, &white,POINTSDELAY);
@ -632,6 +646,43 @@ void checkcollide(sprite_t *s) {
}
// do death bouncing effect
void bouncesprite(sprite_t *s) {
s->x += s->xs;
s->y += s->ys;
if (s->x >= (640-TILEW-(s->img->w/2))) {
// move back onto screen
while (s->x >= (640-TILEW-(s->img->w/2))) {
s->x--;
}
if (s->xs > 0) s->xs = -s->xs; // reverse direction
s->bounces++;
} else if (s->x <= TILEW+s->img->w/2) {
// move back onto screen
while (s->x <= TILEW+s->img->w/2) {
s->x++;
}
if (s->xs < 0) s->xs = -s->xs; // reverse direction
s->bounces++;
}
if (s->y >= (480-(s->img->h/2))) {
while (s->y >= (480-(s->img->h/2))) {
s->y--;
}
if (s->ys > 0) s->ys = -s->ys; // reverse direction
s->bounces++;
} else if (s->y <= s->img->h) {
while (s->y <= s->img->h) {
s->y++;
}
if (s->ys < 0) s->ys = -s->ys; // reverse direction
s->bounces++;
}
}
void movesprite(sprite_t *s) {
int rv;
tiletype_t *tt;
@ -680,11 +731,14 @@ void movesprite(sprite_t *s) {
}
return;
} else if (s->dead == D_INITIAL) { /* just set to dead */
//s->xs = ((rand() % 7)) - 3;
// TODO: avoid straight up, also make this able
// to be a float
s->xs = ((rand() % 14) / 2) - 3;
s->ys = ((rand() % 3) + 3) * -1;
// 0 through 5
s->xs = 0.5 + ((rand() % 50) / 10); // 0.5 through 5.5
if (rand() % 2) { // 50% change of going left
s->xs = s->xs * -1;
}
s->ys = -1 * (4 + ((rand() % 30) / 10)); // -4 through -7
s->dead = D_BOUNCING;
s->bounces = 0;
if (s == player) {
@ -710,33 +764,17 @@ void movesprite(sprite_t *s) {
}
} else {
/* bounch around the screen 3 times */
s->x += s->xs;
s->y += s->ys;
if (s->x >= (640-TILEW-(s->img->w/2))) {
if (s->xs > 0) {
s->xs = -s->xs;
s->bounces++;
}
} else if (s->x <= TILEW+s->img->w/2) {
if (s->xs < 0) {
s->xs = -s->xs;
s->bounces++;
}
}
if (s->y >= (480-(s->img->h/2))) {
if (s->ys > 0) {
s->ys = -s->ys;
s->bounces++;
}
} else if (s->y <= s->img->h) {
if (s->ys < 0) {
s->ys = -s->ys;
s->bounces++;
}
}
bouncesprite(s);
if ((s->bounces >= 2) && (s->ys > 0)) {
s->dead = D_LASTBOUNCE;
// make sure we're not on the ground
if (!isonground(s)) {
int tx,ty;
tiletype_t *tt;
tt = gettileat(s->x,s->y,&tx,&ty);
printf("finished bouncing, sprite is at: %d, %d (tileid %d)\n",tx,ty,tt->id);
s->dead = D_LASTBOUNCE;
}
}
}
return;
@ -749,8 +787,8 @@ void movesprite(sprite_t *s) {
s->dead = D_FINAL;
}
} else { /* bounce around, stop when we hit the ground */
s->x += s->xs;
s->y += s->ys;
bouncesprite(s);
/* OLD BOUNCE CODE
if (s->x >= (640-TILEW- s->img->w/2)) {
if (s->xs > 0) {
s->xs = -s->xs;
@ -774,6 +812,7 @@ void movesprite(sprite_t *s) {
s->bounces++;
}
}
*/
if ((s->ys > 0) && (s->y >= TILEH)) {
@ -783,13 +822,17 @@ void movesprite(sprite_t *s) {
/* change into a fruit */
x = s->x;
gettileat(s->x,s->y-1,NULL,&ty);
y = ty*TILEH + TILEH - 2;
//y = ty*TILEH + TILEH - 2;
y = ty*TILEH - 2;
/* make sure it's within the screen */
if (x > (640-TILEW)) x = 640-TILEW;
if (x < (TILEW)) x = TILEW;
addsprite(s->willbecome, x, y, "Fruit", B_FALSE);
//addsprite(s->willbecome, x, y, "Fruit", B_FALSE);
puffin(s->willbecome, x, y, 0);
//ss = addsprite(P_PUFF, x, y, "Fruit", B_FALSE);
//ss->timer3 = s->willbecome;
}
}
@ -845,10 +888,12 @@ void movesprite(sprite_t *s) {
return;
}
if (isonground(s)) {
if ((!s->falling) && (!s->jumping)) {
if (!s->climbing) {
adjustheight(s);
if (!iseffect(s->id)) {
if (isonground(s)) {
if ((!s->falling) && (!s->jumping)) {
if (!s->climbing && !s->dropping) {
adjustheight(s);
}
}
}
}
@ -864,6 +909,42 @@ void movesprite(sprite_t *s) {
} else if (s->jumptimer % 20 == 0) {
s->dir = -s->dir;
}
} else if (s->id == P_PUFF) {
/* SUMMARY:
timer1:
indicates current frame. if < 0, don't draw.
if >= PUFFFRAMES, use last frame.
when timer1 gets to PUFFAPPEAR, create a gem
of type s->
timer2:
loops from 0 to 9.
at intervals of PUFFSPEED, increment timer1.
*/
// still delaying
if (s->timer1 < 0) {
// increment "frame"
s->timer1++;
} else {
// increment frame at a slower pace
if (++s->timer2 >= 10) {
s->timer2 = 0;
}
if (timer % PUFFSPEED == 0) {
s->timer1++;
// finished animating
if (s->timer1 == PUFFAPPEAR) {
// create a gem/fruit/etc
addsprite(s->timer3, s->x,s->y,"gem", B_FALSE);
} else if (s->timer1 >= PUFFFRAMES) {
s->dead = D_FINAL;
}
}
}
} else if (s->id == P_RAT) {
if (!s->falling) {
int move = B_FALSE;
@ -954,8 +1035,8 @@ void movesprite(sprite_t *s) {
/* if there's a hole in front of us */
if (tt->solid == S_NOTSOLID) {
if (player->y > s->y ) {
/* if player is below, fall off */
if (xdiff <= (TILEW*12)) {
/* if player is below and nearby, fall off */
if (xdiff <= (TILEW*16)) {
move = B_TRUE;
}
} else if (player->y == s->y) {
@ -985,34 +1066,40 @@ void movesprite(sprite_t *s) {
/* moves like an angry rat all the time */
if ((player->dead == 0) && (!s->jumping) && (!s->jumptimer)) {
/* if player is above us, jump */
/* if player is above us...*/
if (player->y < s->y) {
if ((xdiff >= (TILEW*2)) && (xdiff <= (TILEW*3))) {
if ((xdiff >= (TILEW*2)) && (xdiff <= (TILEW*3))) { // if 2-3 tiles right
/* jump right */
jump(s, D_RIGHT);
} else if ((xdiff <= -(TILEW*2)) && (xdiff >= -(TILEW*3))) {
} else if ((xdiff <= -(TILEW*2)) && (xdiff >= -(TILEW*3))) { // if 2-3 tiles left
/* jump left */
jump(s, D_LEFT);
} else if (s->y - player->y <= (TILEH*6)) {
if ((xdiff >= 0) && (xdiff < (TILEW*2))) {
} else if (s->y - player->y <= (TILEH*6)) { // player less than 6 tiles above
if ((xdiff >= 0) && (xdiff < (TILEW*4))) { // ... and within 4 tiles
/* jump up */
jump(s, 0);
} else if ((xdiff <= 0) && (xdiff > -(TILEW*2))) {
} else if ((xdiff <= 0) && (xdiff > -(TILEW*4))) { // ... and within 4 tiles
/* jump up */
jump(s, 0);
}
} else {
/* jump whichever way we're facing */
/*
s->jumpdir = s->dir;
s->jumping = 1;
s->jumpspeed = 5;
*/
}
}
}
}
} else if (s->id == P_SNAKE) {
/* timer1 loopsfrom 0 - 19
if timer2 is 0, we can shoot. if it is 1, we can't.
*/
// inc shooting timer
if (s->timer1) {
s->timer1--;
if (s->timer1 == 0) {
printf("can shoot again\n");
}
}
if (!s->falling) {
int move = B_FALSE;
int xdiff, absxdiff,ydiff;
@ -1052,7 +1139,8 @@ void movesprite(sprite_t *s) {
if (ydiff <= (TILEH*4)) {
sprite_t *ss;
int shoot = B_FALSE;
if (s->bullet == NULL) {
if (s->bullet == NULL) { // if we don't already have a bullet
// if we are facing the player
if ( (player->x < s->x) && (s->dir == D_LEFT) ) {
shoot = B_TRUE;
} else if ( (player->x > s->x) && (s->dir == D_RIGHT) ) {
@ -1060,13 +1148,19 @@ void movesprite(sprite_t *s) {
}
}
if (shoot) {
ss = addsprite(P_SPIT,s->x,s->y - s->img->h/2,"spit", B_FALSE);
ss->ys = 0;
ss->xs = s->dir * (getspeed(s)*2);
ss->dir = s->dir;
ss->owner = s;
// if our shooting timer is okay
if (s->timer1 == 0) {
ss = addsprite(P_SPIT,s->x,s->y - s->img->h/2,"spit", B_FALSE);
ss->ys = 0;
ss->xs = s->dir * (getspeed(s)*2);
ss->dir = s->dir;
ss->owner = s;
s->bullet = ss;
s->bullet = ss;
// start timer for shooting again
s->timer1 = 200;
}
}
}
@ -1289,19 +1383,23 @@ void dotileeffects(sprite_t *s) {
/* check where we are */
tt = gettileat(s->x,s->y-2,NULL,NULL);
if ((tt->id == T_TELEPORT) || (tt->id == T_TELEPORT2)) {
s->teleporting = 1;
if (s->id == P_PLAYER || ismonster(s->id)) {
if (s->id != P_CLOUD) {
s->teleporting = 1;
}
}
}
/* check under us */
tt = gettileat(s->x,s->y+3,NULL,NULL);
while (!finished) {
if (tt->id == T_RIGHT) {
if (!ismonster(s->id)) {
if (!ismonster(s->id) && !isfruit(s->id)) {
movex(s, 1.5);
}
finished = B_TRUE;
} else if (tt->id == T_LEFT) {
if (!ismonster(s->id)) {
if (!ismonster(s->id) && !isfruit(s->id)) {
movex(s, -1.5);
}
finished = B_TRUE;
@ -1746,9 +1844,9 @@ int isroofnabove(sprite_t *s, int howfar) {
/* get tile above sprite's head */
tt = gettileat(s->x, ypos,NULL,NULL);
if (tt->solid) return B_TRUE;
tt = gettileat(s->x + s->img->w/2, ypos,NULL,NULL);
tt = gettileat(s->x + (s->img->w/2 - 2), ypos,NULL,NULL);
if (tt->solid) return B_TRUE;
tt = gettileat(s->x - s->img->w/2, ypos,NULL,NULL);
tt = gettileat(s->x - (s->img->w/2 - 2), ypos,NULL,NULL);
if (tt->solid) return B_TRUE;
return B_FALSE;
@ -1759,7 +1857,7 @@ int isonground(sprite_t *s) {
if (isongroundpoint(s, s->x, s->y)) {
return B_TRUE;
}
if (!s->falling && !s->dropping) {
if ((s->dead) || (!s->falling && !s->dropping)) {
if (isongroundpoint(s, s->x + s->img->w/2, s->y)) {
return B_TRUE;
}
@ -1780,6 +1878,11 @@ int isongroundpoint(sprite_t *s, int x,int y) {
tt = gettileat(x,y, &tilex, &tiley);
// slope etc doesn't matter if you're dead
if (s->dead && tt->solid) {
return B_TRUE;
}
// when dropping, the tile you dropped from doesn't count
// as "ground".
if (s->dropping && (tilex == s->dropx) && (tiley == s->dropy)) {
@ -1834,6 +1937,7 @@ void dogravity(sprite_t *s) {
if (s->dead) return;
if (s->flies) return;
if (iseffect(s->id)) return;
if (isbullet(s->id)) return;
@ -1867,6 +1971,7 @@ void dogravity(sprite_t *s) {
} else {
if (isonground(s) ) {
s->dropping = B_FALSE;
s->falling = B_FALSE;
s->climbing = B_FALSE;
} else {
@ -1935,18 +2040,13 @@ void dogravity(sprite_t *s) {
xnet = s2->x;
ynet = s2->y - s2->img->h/2;
gotsomething = B_TRUE;
gotsomething++;
} else {
/* otherwise it gets angry */
s2->angry = B_TRUE;
}
}
}
if (gotsomething) {
playfx(FX_KILL);
}
gotsomething = B_FALSE;
/* kill anything we hit */
for (s2 = sprite; s2 ; s2 = s2->next) {
@ -1958,7 +2058,7 @@ void dogravity(sprite_t *s) {
if ((xdiff <= s2->img->w) && (ydiff <= s2->img->h)) {
if (s2->id != P_CLOUD) {
/* becomes a powerup */
/* dies and becomes a powerup */
s2->willbecome = poweruptypes[curpoweruptype];
if (poweruptypes[++curpoweruptype] == -1) {
curpoweruptype = 0;
@ -1967,16 +2067,22 @@ void dogravity(sprite_t *s) {
pointsinc *= 2;
psize += 10;
gotsomething = B_TRUE;
gotsomething++;
}
}
}
}
if (gotsomething) {
if (gotsomething >= 1) {
playfx(FX_KILL);
}
if (gotsomething > 1) {
playfx(FX_MULTIKILL);
}
gotsomething = B_FALSE;
/* release anything we've caught */
for (s2 = sprite; s2 ; s2 = s2->next) {
if (s2->caughtby == s) {
@ -2031,6 +2137,9 @@ int movex(sprite_t *s,double amt) {
if (tt2->solid == S_SOLID) {
return B_TRUE;
}
if (tt2->solid == S_SLOPE && (!candoslopes(s->id))) {
return B_TRUE;
}
/* get new position */
newx = curx + amt;
@ -2042,7 +2151,7 @@ int movex(sprite_t *s,double amt) {
/* new block is at least partially solid */
if (tt2->solid == S_SOLID) {
return B_TRUE;
} else if (tt2->solid == S_SLOPE) {
} else if ((tt2->solid == S_SLOPE) && candoslopes(s->id)) {
/* we can move, but need to adjust our height */
s->x += amt;
} else {
@ -2059,7 +2168,7 @@ void adjustheight(sprite_t *s) {
int xoff,groundy;
int tilex,tiley;
if (s->flies) {
if ((s->flies) || isbullet(s->id)) {
return;
}
@ -2079,10 +2188,12 @@ void adjustheight(sprite_t *s) {
int dofruiteffect(sprite_t *s) {
if (s->id == P_SPEED) {
playfx(FX_POWERUP);
player->speed = 2;
addtext(s->x,s->y - s->img->h/2, TEXTSIZE_POINTS, "Speed up!", &white,POINTSDELAY);
return B_TRUE;
} else if (s->id == P_NUMNETS) {
playfx(FX_POWERUP);
if (player->netmax < 4) {
player->netmax++;
}
@ -2090,13 +2201,67 @@ int dofruiteffect(sprite_t *s) {
addtext(s->x,s->y - s->img->h/2, TEXTSIZE_POINTS, tempm,&white,POINTSDELAY);
return B_TRUE;
} else if (s->id == P_BIGNET) {
playfx(FX_POWERUP);
player->netbig = B_TRUE;
sprintf(tempm, "Big net!");
addtext(s->x,s->y - s->img->h/2, TEXTSIZE_POINTS, tempm,&white,POINTSDELAY);
return B_TRUE;
} else if (s->id == P_HELP) {
playfx(FX_POWERUP);
addtext(320,240,TEXTSIZE_HELP, s->name, &white,HELPDELAY);
return B_TRUE;
} else if (isflower(s->id)) {
int xx;
sprite_t *ss;
tiletype_t *tt;
int found = B_FALSE;
/* was this the last fruit of its kind on the level? */
for (ss = sprite; ss; ss = ss->next) {
if ((ss != s) && (ss->id == s->id)) {
found = B_TRUE;
}
}
/* if so, create a left/right stream of flowers */
if (!found) {
int howmany = STREAMWID + 1;
int puffdelay;
// RIGHT
puffdelay = 0;
for (xx = s->x+TILEW; xx < s->x + (TILEW*howmany); xx += TILEW) {
// if on a wall, exit
tt = gettileat(xx,s->y-TILEH,NULL,NULL);
if (tt->solid) {
break;
}
/* create a flower */
puffin(flowertogem(s->id), xx, s->y, puffdelay);
//ss = addsprite(P_PUFF, xx,s->y,"puff", B_FALSE);
//ss->timer1 = -puffdelay;
//ss->timer3 = flowertogem(s->id);
puffdelay += 1;
}
// LEFT
puffdelay = 0;
for (xx = s->x+TILEW; xx > s->x - (TILEW*howmany); xx -= TILEW) {
// if on a wall, exit
tt = gettileat(xx,s->y-TILEH,NULL,NULL);
if (tt->solid) {
break;
}
puffin(flowertogem(s->id), xx, s->y, puffdelay);
//ss = addsprite(P_PUFF, xx,s->y,"puff", B_FALSE);
//ss->timer1 = -puffdelay;
//ss->timer3 = flowertogem(s->id);
puffdelay += 1;
}
playfx(FX_BONUS);
sprintf(tempm, "BONUS!");
addtext(s->x,s->y - s->img->h/2, TEXTSIZE_BONUS, tempm,&white,BONUSDELAY);
return B_TRUE;
}
}
return B_FALSE;
@ -2165,6 +2330,8 @@ int initsound(void) {
return B_TRUE;
}
Mix_AllocateChannels(CH_LASTCHANNEL);
loadfx(FX_SHOOT, "shoot.wav");
loadfx(FX_SLAM, "slam.wav");
loadfx(FX_KILL, "kill.wav");
@ -2174,6 +2341,9 @@ int initsound(void) {
loadfx(FX_POWERUP, "powerup.wav");
loadfx(FX_DIE, "die.wav");
loadfx(FX_WINLEVEL, "winlevel.wav");
loadfx(FX_HURRYUP, "hurryup.wav");
loadfx(FX_TOOSLOW, "tooslow.wav");
loadfx(FX_BONUS, "bonus.wav");
// load sound effects
@ -2183,16 +2353,66 @@ int initsound(void) {
}
}
// set up callback
Mix_ChannelFinished(channeldone);
// load music
music = Mix_LoadMUS("music/main.mod");
if (!music) {
normalmusic = Mix_LoadMUS("music/main.mod");
if (!normalmusic) {
printf("can't load music\n");
return B_TRUE;
}
fastmusic = Mix_LoadMUS("music/mainfast.mod");
if (!fastmusic) {
printf("can't load fast music\n");
return B_TRUE;
}
return B_FALSE;
}
void playfx(int num) {
Mix_PlayChannel(-1, sfx[num], 0);
}
void playmusic(Mix_Music *toplay) {
/* stop music */
if (musicplaying) {
Mix_HaltMusic();
}
/* start music */
//music = toplay;
Mix_PlayMusic(toplay, -1);
curmusic = toplay;
musicplaying = B_TRUE;
}
void stopmusic(void) {
/* stop music */
if (musicplaying) {
Mix_HaltMusic();
}
musicplaying = B_FALSE;
curmusic = NULL;
}
// callback for sound effects finishing
void channeldone(int channel) {
if (channel == CH_HURRYUP) {
// start fast music
playmusic(fastmusic);
}
}
void puffin(int willbecome, int x, int y, int delay) {
sprite_t *ss;
ss = addsprite(P_PUFF, x, y, "puff", B_FALSE);
ss->timer3 = willbecome;
ss->timer1 = -delay;
}

5
rc.h
View File

@ -13,6 +13,7 @@ void drawnetting(sprite_t *s);
void dogravity(sprite_t *s);
void dotileeffects(sprite_t *s);
int movex(sprite_t *s,double amt);
void bouncesprite(sprite_t *s);
void movesprite(sprite_t *s);
int isinwater(sprite_t *s);
int isroofabove(sprite_t *s);
@ -37,3 +38,7 @@ int canturn(sprite_t *pl);
int initsound(void);
int loadfx(int sid, char *filename);
void playfx(int num);
void playmusic(Mix_Music *toplay);
void stopmusic(void);
void channeldone(int channel);
void puffin(int willbecome, int x, int y, int delay);

109
shared.c
View File

@ -555,6 +555,9 @@ void setdefaults(sprite_t *s) {
s->jumping = 0;
s->jumpspeed = 0;
s->jumpdir = 1;
s->timer1 = 0;
s->timer2 = 0;
s->timer3 = 0;
s->netting = 0;
s->netmax = 1;
s->netcaught = 0;
@ -600,15 +603,24 @@ void setdefaults(sprite_t *s) {
case P_BURGER:
s->score = 400;
break;
case P_FLOWERRED:
case P_FLOWERYELLOW:
s->score = 5;
break;
case P_FLOWERYELLOW:
case P_FLOWERRED:
s->score = 10;
break;
case P_FLOWERPURPLE:
s->score = 30;
break;
case P_GEMYELLOW:
s->score = 50;
break;
case P_GEMRED:
s->score = 75;
break;
case P_GEMPURPLE:
s->score = 100;
break;
default:
s->score = 0;
break;
@ -945,6 +957,22 @@ int loadimagesets(void) {
loadspriteimage(P_FLOWERPURPLE,F_WALK1, "sprites/flower-purple.png");
imageset[P_FLOWERPURPLE].numimages = 1;
loadspriteimage(P_GEMYELLOW,F_WALK1, "sprites/gem-yellow.png");
imageset[P_GEMYELLOW].numimages = 1;
loadspriteimage(P_GEMRED,F_WALK1, "sprites/gem-red.png");
imageset[P_GEMRED].numimages = 1;
loadspriteimage(P_GEMPURPLE,F_WALK1, "sprites/gem-purple.png");
imageset[P_GEMPURPLE].numimages = 1;
for (i = 0; i < PUFFFRAMES; i++) {
char name[SMALLBUFLEN];
sprintf(name, "sprites/puff%d.png",i);
loadspriteimage(P_PUFF,i, name);
}
imageset[P_PUFF].numimages = PUFFFRAMES;
/* bullets */
loadspriteimage(P_SPIT,F_WALK1, "sprites/spit.bmp");
imageset[P_SPIT].numimages = 1;
@ -955,7 +983,7 @@ int loadimagesets(void) {
/* generate rotated/flipped images */
for (p = 0; p < MAXPTYPES; p++) {
/* rotated */
if (!isfruit(p) && !isbullet(p)) {
if (!isfruit(p) && !isbullet(p) && !iseffect(p)) {
tempimg = rotozoomSurface(imageset[p].img[F_DEAD],90,1,0);
imageset[p].img[F_DEAD2] = SDL_DisplayFormat(tempimg);
@ -1044,6 +1072,17 @@ void drawsprite(sprite_t *s) {
frame = F_WALK1;
} else if (isbullet(s->id)) {
frame = F_WALK1;
} else if (iseffect(s->id)) {
if (s->id == P_PUFF) {
if (s->timer1 >= PUFFFRAMES) {
frame = PUFFFRAMES-1;
} else if (s->timer1 < 0) {
// don't draw
return;
} else {
frame = s->timer1;
}
}
} else if (s->dead) {
if (s == player) {
frame = F_DEAD;
@ -1193,16 +1232,23 @@ int gettileframecount(int tid) {
return tt->numframes;
}
int isfruit(int id) {
// returns gem type for a given flower
int flowertogem(int id) {
switch (id) {
case P_FLOWERRED:
return P_GEMRED;
case P_FLOWERYELLOW:
return P_GEMYELLOW;
case P_FLOWERPURPLE:
return P_GEMPURPLE;
}
return P_GEMRED;
}
int isflower(int id) {
switch (id) {
case P_CHEESE:
case P_ICECREAM:
case P_CHIPS:
case P_BURGER:
case P_SPEED:
case P_NUMNETS:
case P_BIGNET:
case P_HELP:
case P_FLOWERRED:
case P_FLOWERYELLOW:
case P_FLOWERPURPLE:
@ -1213,12 +1259,41 @@ int isfruit(int id) {
return B_FALSE;
}
int isfruit(int id) {
switch (id) {
case P_CHEESE:
case P_ICECREAM:
case P_CHIPS:
case P_BURGER:
case P_SPEED:
case P_NUMNETS:
case P_BIGNET:
case P_HELP:
case P_FLOWERYELLOW:
case P_FLOWERRED:
case P_FLOWERPURPLE:
case P_GEMYELLOW:
case P_GEMRED:
case P_GEMPURPLE:
return B_TRUE;
}
return B_FALSE;
}
int isbullet(int id) {
if (id == P_SPIT) return B_TRUE;
return B_FALSE;
}
int iseffect(int id) {
if (id == P_PUFF) return B_TRUE;
return B_FALSE;
}
inline void drawpixel16(SDL_Surface *screen, int x, int y, SDL_Color c)
{
@ -1375,6 +1450,7 @@ int chartomonster(char ch) {
case 'Y': return P_FLOWERYELLOW;
case 'P': return P_FLOWERPURPLE;
case 'C': return P_COKE;
case '*': return P_GEMRED;
}
return -1;
@ -1392,6 +1468,7 @@ char monstertochar(int id ) {
case P_FLOWERYELLOW: return 'Y';
case P_FLOWERPURPLE: return 'P';
case P_COKE: return 'C';
case P_GEMRED: return '*';
}
return '\0';
@ -1466,3 +1543,11 @@ SDL_Surface *loadspriteimage(int spriteid, int frame, char *filename) {
}
return imageset[spriteid].img[frame];
}
int candoslopes(int sid) {
switch(sid) {
case P_SNAKE:
return B_FALSE;
}
return B_TRUE;
}

View File

@ -17,6 +17,10 @@ void killsprite(sprite_t *s);
void drawsprite(sprite_t *s);
int gettileframecount(int tid);
int isfruit(int id);
int isflower(int id);
int iseffect(int id);
int candoslopes(int sid);
int flowertogem(int id);
inline void drawpixel16(SDL_Surface *screen, int x, int y, SDL_Color c);
inline void drawpixel32(SDL_Surface *screen, int x, int y, SDL_Color c);
inline void drawbox16(SDL_Surface *screen, int x1,int y1,int x2,int y2,SDL_Color *c,SDL_Color *fc);

BIN
sounds/bonus.au Normal file

Binary file not shown.

BIN
sounds/bonus.wav Normal file

Binary file not shown.

BIN
sounds/hurryup.wav Normal file

Binary file not shown.

BIN
sounds/multikill-old1.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
sounds/tooslow.wav Normal file

Binary file not shown.

BIN
sprites/birthstones.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

BIN
sprites/coke.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

BIN
sprites/cokecaught.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

BIN
sprites/cokedead.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 B

BIN
sprites/cokejump.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 B

BIN
sprites/dwarfshoot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
sprites/flower-purple.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

BIN
sprites/flower-yellow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 527 B

BIN
sprites/gem-purple.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 674 B

BIN
sprites/gem-red.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 496 B

BIN
sprites/gem-yellow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

BIN
sprites/puff0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

BIN
sprites/puff1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 B

BIN
sprites/puff2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 921 B

BIN
sprites/puff3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 B

BIN
sprites/puff4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 959 B

BIN
sprites/puff5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 929 B

58
world1/BAK Normal file
View File

@ -0,0 +1,58 @@
tileset green
bg 0
hurryup 30
endmaps
help
Use X to jump, Z to catch the rat.
Once caught, Down+Z will slam and kill a monster!
endhelp
monsters
1 3 19
? 7 19
? 12 19
@ 16 14
@ 30 15
@ 31 15
P 21 15
@ 22 15
@ 20 15
Y 23 15
Y 19 15
P 36 14
Y 2 15
Y 1 15
Y 24 19
Y 22 19
Y 20 19
r 18 15
endmonsters
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,18,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,4,
4,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,

34
world1/ORIG.level15.dat Normal file
View File

@ -0,0 +1,34 @@
tileset green
bg 0
hurryup 30
endmaps
****************************************
*000000s00*0000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000a00*
*00000000000000000000000000000000000000*
*0a000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000a00000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*10000000000a0000000000000000a000000000*
***000>>>>>000>>>>>>>>>>>>>>000<<<<<<00*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*00000000000000000000000000000000000000*
*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

39
world1/blank.dat Normal file
View File

@ -0,0 +1,39 @@
tileset green
bg 0
hurryup 30
endmaps
help
endhelp
monsters
1 3 28
endmonsters
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,

View File

@ -10,7 +10,6 @@ monsters
1 3 19
? 7 19
? 12 19
@ 16 14
@ 30 15
@ 31 15
P 21 15
@ -18,17 +17,20 @@ P 21 15
@ 20 15
Y 23 15
Y 19 15
P 36 14
Y 2 15
Y 1 15
Y 24 19
Y 22 19
Y 20 19
r 18 15
r 27 15
P 36 14
Y 34 19
@ 35 19
P 36 19
endmonsters
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,18,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
@ -40,13 +42,13 @@ endmonsters
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,4,
4,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,0,0,0,0,0,4,4,
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,4,4,4,1,1,1,1,1,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,

45
world1/level10.dat Normal file
View File

@ -0,0 +1,45 @@
tileset green
bg 0
hurryup 30
endmaps
help
endhelp
monsters
1 5 26
C 28 26
C 35 3
C 16 14
r 36 9
r 2 3
S 17 22
endmonsters
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,1,1,1,0,0,0,0,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,1,1,1,1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,4,1,20,21,21,21,21,20,1,1,1,1,1,4,4,1,1,20,21,21,21,21,21,20,20,20,20,20,1,1,1,1,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,20,20,20,20,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,3,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,3,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,3,0,0,0,0,4,
4,20,20,20,20,0,0,0,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,1,1,8,1,4,
4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,7,4,4,
4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,4,4,
4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,4,4,
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,

46
world1/level11.dat Normal file
View File

@ -0,0 +1,46 @@
tileset green
bg 0
hurryup 30
endmaps
help
endhelp
monsters
1 3 28
C 33 7
C 11 13
r 13 5
r 19 21
r 7 17
S 28 24
s 23 1
endmonsters
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,1,1,20,20,21,21,21,21,22,22,22,22,22,22,21,21,21,20,20,1,1,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,20,20,21,21,21,20,20,1,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,1,1,20,20,21,21,21,21,22,22,22,22,22,22,21,21,21,20,20,1,1,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,1,1,20,20,20,21,21,21,22,22,22,22,22,22,21,21,21,21,20,20,20,1,1,1,1,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,1,20,20,20,20,20,20,20,20,20,20,20,20,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,4,4,4,4,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,4,4,4,4,4,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,1,1,1,20,20,20,20,20,20,20,20,20,20,20,1,1,1,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
1,1,1,1,20,20,20,20,20,20,20,21,21,21,21,21,22,22,22,22,22,22,22,22,22,21,21,21,21,21,20,20,20,20,20,20,1,1,1,1,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,

View File

@ -6,6 +6,7 @@ help
Slam a monster onto another for a powerup.
Grab this monster, but don't kill it yet...
Stand on this ledge then slam!
Collect all flowers for a bonus!
endhelp
monsters
1 4 10
@ -18,19 +19,22 @@ Y 15 8
Y 19 8
Y 32 8
Y 36 8
@ 28 9
Y 28 9
r 9 4
? 27 4
Y 20 4
endmonsters
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,18,23,19,0,0,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,4,
4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,4,4,4,4,4,4,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,4,4,4,4,4,4,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0,0,0,0,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,0,4,1,1,1,4,0,0,4,
4,0,0,0,0,0,0,0,0,5,0,0,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,5,1,6,0,0,4,1,1,1,4,0,0,4,
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,1,1,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,

View File

@ -1,11 +1,13 @@
tileset green
bg 0
hurryup 30
hurryup 40
endmaps
help
You can walk through spikes safely.
But don't fall on them!
endhelp
monsters
1 4 28
1 4 27
r 19 15
r 5 7
r 35 7
@ -27,51 +29,12 @@ r 4 23
@ 37 7
@ 37 23
@ 2 23
@ 18 28
@ 18 28
@ 18 28
@ 18 28
@ 18 28
@ 18 28
@ 18 28
@ 18 28
@ 18 28
@ 19 28
@ 20 28
@ 20 28
@ 20 28
@ 21 28
@ 21 28
@ 21 28
@ 21 28
@ 21 28
@ 22 28
@ 22 28
@ 22 28
@ 22 28
@ 22 28
@ 22 28
@ 22 28
@ 22 28
@ 22 28
@ 22 28
@ 23 28
@ 23 28
@ 23 28
@ 23 28
@ 23 28
@ 23 28
@ 23 28
@ 23 28
@ 23 28
@ 17 28
@ 17 28
@ 16 28
@ 16 28
? 10 19
? 16 19
endmonsters
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,18,23,23,23,23,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
@ -84,7 +47,7 @@ endmonsters
4,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,23,19,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
@ -96,6 +59,6 @@ endmonsters
4,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
4,0,0,0,0,0,0,0,0,0,6,11,11,5,0,0,0,0,0,0,0,0,0,0,0,0,6,11,11,5,0,0,0,0,0,0,0,0,0,4,
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,4,4,4,4,

View File

@ -1,8 +1,9 @@
tileset green
bg 0
hurryup 30
hurryup 120
endmaps
help
Drop through bridges with Down+X
endhelp
monsters
1 17 8
@ -30,13 +31,14 @@ Y 15 24
Y 6 24
P 8 4
@ 26 8
? 21 8
endmonsters
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,1,20,20,21,21,21,21,21,21,21,21,20,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
@ -44,19 +46,19 @@ endmonsters
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,4,
4,0,0,0,1,20,20,21,21,21,21,21,21,21,21,20,20,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,4,
4,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,20,20,20,20,20,20,20,20,20,20,20,20,1,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,4,
4,0,0,0,1,20,20,21,21,21,21,21,21,21,21,20,20,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,4,
4,0,0,0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,0,0,0,1,20,20,21,21,21,21,21,21,21,21,20,20,1,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,

View File

@ -60,7 +60,7 @@ endmonsters
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,

81
world1/level6.bad Normal file
View File

@ -0,0 +1,81 @@
tileset green
bg 0
hurryup 30
endmaps
help
Rolling logs will push you along.
endhelp
monsters
P 19 1
P 20 1
P 21 1
Y 8 21
Y 31 21
Y 29 21
Y 27 21
Y 10 21
Y 12 21
@ 23 13
@ 16 13
Y 26 13
P 18 1
Y 13 13
@ 22 5
@ 17 5
@ 19 9
@ 20 9
Y 16 9
Y 23 9
Y 15 9
Y 24 9
Y 16 17
Y 17 17
Y 22 17
Y 23 17
Y 24 17
Y 25 17
Y 14 17
Y 15 17
@ 20 17
@ 19 17
P 16 5
P 23 5
1 2 25
? 6 21
r 21 17
r 18 9
r 11 21
r 28 13
r 19 5
C 20 1
endmonsters
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,18,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,9,9,9,9,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,20,20,20,20,20,20,20,20,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,10,10,10,10,10,10,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,1,20,20,20,20,20,1,1,1,1,1,1,1,1,1,1,1,1,20,20,20,20,20,1,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
4,4,4,4,4,4,4,4,4,4,4,4,4,16,16,16,16,16,16,16,16,16,16,16,16,16,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,17,17,17,17,17,17,17,17,17,17,17,17,17,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,

View File

@ -1,52 +1,75 @@
tileset green
bg 0
hurryup 30
hurryup 248
endmaps
help
Rolling logs will push you along.
endhelp
monsters
1 1 14
r 27 9
r 33 9
r 18 15
r 21 19
P 19 25
P 20 25
P 25 9
P 24 9
@ 24 15
@ 15 15
@ 15 19
@ 24 19
Y 36 9
1 2 25
P 21 1
Y 8 21
Y 31 21
Y 29 21
Y 27 21
Y 10 21
Y 12 21
P 18 1
P 16 5
P 23 5
? 6 21
r 11 21
r 19 5
Y 13 17
Y 14 17
Y 15 17
Y 26 17
Y 25 17
Y 24 17
@ 19 17
@ 20 17
@ 13 13
@ 15 13
@ 24 13
@ 27 13
@ 19 9
@ 20 9
Y 23 9
Y 24 9
Y 15 9
Y 16 9
C 20 1
r 22 9
r 26 13
r 16 17
endmonsters
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,18,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,18,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,9,9,9,9,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,4,
4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,7,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,4,
4,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,1,4,
4,4,4,4,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,4,4,4,4,
4,4,4,4,4,9,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,10,4,4,4,4,4,
4,4,4,4,4,4,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,10,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,9,9,9,9,0,0,0,0,0,0,0,0,10,10,10,10,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,1,1,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,11,11,11,11,11,11,11,11,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,20,20,20,20,20,20,20,20,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,10,10,10,10,10,10,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,1,20,20,20,20,20,1,1,1,1,1,1,1,1,1,1,1,1,20,20,20,20,20,1,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
4,4,4,4,4,4,4,4,4,4,4,4,4,16,16,16,16,16,16,16,16,16,16,16,16,16,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,17,17,17,17,17,17,17,17,17,17,17,17,17,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,

View File

@ -1,18 +1,13 @@
tileset green
bg 0
hurryup 30
hurryup 60
endmaps
help
endhelp
monsters
1 1 2
r 30 5
r 33 7
r 13 10
r 29 16
S 12 28
S 12 28
P 30 19
@ 6 28
@ 6 28
@ 6 28
@ -34,6 +29,11 @@ Y 21 2
Y 18 2
Y 6 10
Y 10 10
r 11 18
C 9 28
S 30 5
S 30 5
S 30 5
endmonsters
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
@ -45,17 +45,17 @@ endmonsters
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,4,15,15,15,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,16,16,16,16,16,1,1,1,4,15,15,15,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,15,15,15,15,15,4,4,4,4,15,15,15,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,15,15,15,15,15,4,4,4,4,15,15,15,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,4,4,4,4,15,15,15,15,15,4,4,4,4,15,15,15,4,
4,1,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,16,16,16,16,16,16,4,4,4,4,15,15,15,15,15,4,4,4,4,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,15,15,15,15,4,4,4,4,15,15,15,15,15,4,4,4,4,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,15,15,15,15,4,4,4,15,15,15,15,15,15,15,4,4,4,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,15,15,15,15,15,1,1,1,1,1,15,15,15,15,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,15,15,15,15,15,4,12,0,0,4,15,15,15,15,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,15,15,15,15,15,4,13,0,0,4,15,15,15,15,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,15,15,15,15,15,4,1,16,1,4,15,15,15,15,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,15,15,15,15,15,15,1,1,1,1,1,1,15,15,15,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,15,15,15,15,15,15,4,0,0,0,0,4,15,15,15,15,15,15,4,
4,4,4,7,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,15,15,15,15,15,15,4,0,0,0,0,4,15,15,15,15,15,15,4,
4,4,4,7,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,15,15,15,15,15,15,4,12,0,0,0,4,15,15,15,15,15,15,4,
4,4,4,8,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,4,15,15,15,15,15,15,4,13,0,0,0,4,15,15,15,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,15,15,15,15,15,4,1,16,16,16,4,15,15,15,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,4,
4,4,4,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,4,

42
world1/level99.dat Normal file
View File

@ -0,0 +1,42 @@
tileset green
bg 0
hurryup 30
endmaps
help
endhelp
monsters
1 7 12
Y 10 12
@ 17 17
P 25 21
endmonsters
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,1,1,1,1,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,1,1,1,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,20,20,20,20,20,20,20,20,20,20,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,20,20,20,20,20,20,20,20,20,20,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,