Added secret way to skip levels 1 and 2
Random level powerup now disappears on end of level
This commit is contained in:
parent
ed7505722b
commit
91790eeb0a
|
@ -29,6 +29,7 @@ monsters
|
||||||
15 34 19
|
15 34 19
|
||||||
16 35 19
|
16 35 19
|
||||||
17 36 19
|
17 36 19
|
||||||
|
15 3 15
|
||||||
endmonsters
|
endmonsters
|
||||||
exitdir 1
|
exitdir 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,
|
||||||
|
@ -47,10 +48,10 @@ exitdir 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,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,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,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,4,
|
4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,4,
|
||||||
39,1,34,0,0,0,0,0,0,0,0,0,0,0,0,0,42,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,4,
|
39,1,1,34,0,0,0,0,0,0,0,0,0,0,0,0,42,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,0,0,0,0,0,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,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,83,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,
|
||||||
39,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,38,4,4,4,4,4,4,39,1,1,1,1,1,38,4,
|
39,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,38,4,4,4,4,4,4,39,1,1,1,1,1,38,4,
|
||||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,44,44,4,4,4,4,4,4,4,4,4,4,
|
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,44,44,4,4,4,4,4,4,4,4,4,4,
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -541,3 +541,9 @@ id 5
|
||||||
solid 0
|
solid 0
|
||||||
file newtiles/light2.png
|
file newtiles/light2.png
|
||||||
end
|
end
|
||||||
|
|
||||||
|
tile specialsign
|
||||||
|
id 25
|
||||||
|
solid 0
|
||||||
|
file newtiles/signup.png
|
||||||
|
end
|
||||||
|
|
4
defs.h
4
defs.h
|
@ -279,7 +279,7 @@
|
||||||
/* enums */
|
/* enums */
|
||||||
|
|
||||||
/* sounds */
|
/* sounds */
|
||||||
#define MAXFX 56
|
#define MAXFX 57
|
||||||
#define FX_SHOOT 0
|
#define FX_SHOOT 0
|
||||||
#define FX_SLAM 1
|
#define FX_SLAM 1
|
||||||
#define FX_KILL 2
|
#define FX_KILL 2
|
||||||
|
@ -336,6 +336,7 @@
|
||||||
#define FX_EVILLAUGH 53
|
#define FX_EVILLAUGH 53
|
||||||
#define FX_BIRDS 54
|
#define FX_BIRDS 54
|
||||||
#define FX_EXTRALIFE 55
|
#define FX_EXTRALIFE 55
|
||||||
|
#define FX_WARP 56
|
||||||
|
|
||||||
// card suits
|
// card suits
|
||||||
#define CS_HEART 1
|
#define CS_HEART 1
|
||||||
|
@ -668,6 +669,7 @@
|
||||||
#define T_WATERRIGHT 22
|
#define T_WATERRIGHT 22
|
||||||
#define T_WATERLEFT 23
|
#define T_WATERLEFT 23
|
||||||
#define T_WATERDOWN 24
|
#define T_WATERDOWN 24
|
||||||
|
#define T_WARP 25 // hidden warp point - jump to reveal
|
||||||
|
|
||||||
// death states
|
// death states
|
||||||
#define D_INITIAL (1) // Need to trigger death sequence
|
#define D_INITIAL (1) // Need to trigger death sequence
|
||||||
|
|
2
edit.c
2
edit.c
|
@ -1234,6 +1234,8 @@ void drawtilehint(SDL_Surface *where, tiletype_t *tt, double x, double y) {
|
||||||
writetext(where, x+1, y+1, "->", PALTEXTSIZE, &red);
|
writetext(where, x+1, y+1, "->", PALTEXTSIZE, &red);
|
||||||
} else if (tt->id == T_LEFT) {
|
} else if (tt->id == T_LEFT) {
|
||||||
writetext(where, x+1, y+1, "<-", PALTEXTSIZE, &red);
|
writetext(where, x+1, y+1, "<-", PALTEXTSIZE, &red);
|
||||||
|
} else if (tt->id == T_WARP) {
|
||||||
|
writetext(where, x+1, y+1, "W", PALTEXTSIZE, &red);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
28
rc.c
28
rc.c
|
@ -416,9 +416,10 @@ int main (int argc, char **argv) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// kill all cards, so we don't have a pokereffect during endoflevel
|
// kill all cards, so we don't have a pokereffect during endoflevel
|
||||||
|
// also kill the random level powerup if it exists
|
||||||
for (s2 = sprite; s2 ; s2 = nexts) {
|
for (s2 = sprite; s2 ; s2 = nexts) {
|
||||||
nexts = s2->next;
|
nexts = s2->next;
|
||||||
if (iscard(s2->id) || s2->id == P_MOVINGCARD) {
|
if (iscard(s2->id) || s2->id == P_MOVINGCARD || strstr(s2->name, "random_up")) {
|
||||||
s2->dead = D_FINAL;
|
s2->dead = D_FINAL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1388,7 +1389,7 @@ void jump(sprite_t *s, int dir) {
|
||||||
s->jumping = 1;
|
s->jumping = 1;
|
||||||
s->jumpspeed = 2;
|
s->jumpspeed = 2;
|
||||||
s->jumpdir = dir;
|
s->jumpdir = dir;
|
||||||
} else { // plaayer
|
} else { // player
|
||||||
tiletype_t *tt;
|
tiletype_t *tt;
|
||||||
s->jumpdir = dir;
|
s->jumpdir = dir;
|
||||||
if (s->jumpdir != 0) {
|
if (s->jumpdir != 0) {
|
||||||
|
@ -1426,6 +1427,20 @@ void jump(sprite_t *s, int dir) {
|
||||||
s->jumpspeed = 5;
|
s->jumpspeed = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Special hidden cheat - jumping on the up sign on level 1
|
||||||
|
// skips you to level 3 (to avoid boring levels at the start)
|
||||||
|
if (s->jumpdir == 0) {
|
||||||
|
int tx,ty;
|
||||||
|
tt= gettileat(s->x, s->y - (TILEH/2), &tx, &ty);
|
||||||
|
if (tt->id == T_WARP) {
|
||||||
|
// it disappears
|
||||||
|
curlevel->map[ty*LEVELW+tx] = getuniq(T_WARP);
|
||||||
|
// puff in a telephone
|
||||||
|
puffin(P_PHONE, tx*TILEW + (TILEW/2), ty*TILEH+TILEH, "warpphone", -1);
|
||||||
|
playfx(FX_WARP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// stop climbing
|
// stop climbing
|
||||||
s->climbing = B_FALSE;
|
s->climbing = B_FALSE;
|
||||||
|
@ -7080,8 +7095,12 @@ int dofruiteffect(sprite_t *pp, sprite_t *s) {
|
||||||
sprintf(tempm, "Engaged");
|
sprintf(tempm, "Engaged");
|
||||||
addoutlinetext(s->x,s->y - s->img->h/2, TEXTSIZE_POINTS, tempm,&white,&black,POINTSDELAY, TT_NORM);
|
addoutlinetext(s->x,s->y - s->img->h/2, TEXTSIZE_POINTS, tempm,&white,&black,POINTSDELAY, TT_NORM);
|
||||||
} else {
|
} else {
|
||||||
playfx(FX_PHONE);
|
if (!strstr(s->name, "warp")) {
|
||||||
sprintf(tempm, "Telephone!");
|
playfx(FX_PHONE);
|
||||||
|
sprintf(tempm, "Telephone!");
|
||||||
|
} else {
|
||||||
|
sprintf(tempm, "Warp!");
|
||||||
|
}
|
||||||
addoutlinetext(s->x,s->y - s->img->h/2, TEXTSIZE_POINTS, tempm,&white,&black,POINTSDELAY, TT_NORM);
|
addoutlinetext(s->x,s->y - s->img->h/2, TEXTSIZE_POINTS, tempm,&white,&black,POINTSDELAY, TT_NORM);
|
||||||
// set powerup
|
// set powerup
|
||||||
pp->powerup = PW_PHONE;
|
pp->powerup = PW_PHONE;
|
||||||
|
@ -7568,6 +7587,7 @@ int initsound(void) {
|
||||||
loadfx(FX_EVILLAUGH, "evillaugh.wav");
|
loadfx(FX_EVILLAUGH, "evillaugh.wav");
|
||||||
loadfx(FX_BIRDS, "birds.wav");
|
loadfx(FX_BIRDS, "birds.wav");
|
||||||
loadfx(FX_EXTRALIFE, "extralife.wav");
|
loadfx(FX_EXTRALIFE, "extralife.wav");
|
||||||
|
loadfx(FX_WARP, "warp.wav");
|
||||||
|
|
||||||
// load sound effects
|
// load sound effects
|
||||||
for (i = 0; i < MAXFX; i++) {
|
for (i = 0; i < MAXFX; i++) {
|
||||||
|
|
Loading…
Reference in New Issue