diff --git a/data/levels/level99.dat b/data/levels/level99.dat index 6b0409c..c9f56cc 100644 --- a/data/levels/level99.dat +++ b/data/levels/level99.dat @@ -6,8 +6,9 @@ endhelp monsters 0 5 23 134 35 22 +23 12 19 6 20 10 -23 12 23 +12 24 19 endmonsters 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, @@ -30,7 +31,7 @@ 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,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,17,0,0,0,0,0,17,0,0,0,0,0,17,0,0,0,0,0,17,0,0,0,0,17,0,0,0,0,0,0,0,4, diff --git a/data/sounds/hiss.wav b/data/sounds/hiss.wav new file mode 100644 index 0000000..908536a Binary files /dev/null and b/data/sounds/hiss.wav differ diff --git a/defs.h b/defs.h index bdaa4ff..e98c26d 100644 --- a/defs.h +++ b/defs.h @@ -321,7 +321,7 @@ /* enums */ /* sounds */ -#define MAXFX 60 +#define MAXFX 61 #define FX_SHOOT 0 #define FX_SLAM 1 #define FX_KILL 2 @@ -382,6 +382,7 @@ #define FX_JETPACK 57 #define FX_CAMERA 58 #define FX_LASER 59 +#define FX_HISS 60 // card suits #define CS_HEART 1 diff --git a/rc.c b/rc.c index 0d1b8fe..edb6cff 100644 --- a/rc.c +++ b/rc.c @@ -4087,6 +4087,7 @@ printf("setting target to y = %d\n",ss->timer2); if (shoot) { // if our shooting timer is okay if (s->timer1 == 0) { + playfx(FX_HISS); ss = addsprite(P_SPIT,s->x,s->y - s->img->h/2,"spit" ); ss->ys = 0; ss->xs = s->dir * (getspeed(s)*2); @@ -8305,6 +8306,7 @@ int initsound(void) { loadfx(FX_JETPACK, "jetpack.wav"); loadfx(FX_CAMERA, "camera.wav"); loadfx(FX_LASER, "laser.wav"); + loadfx(FX_HISS, "hiss.wav"); // load sound effects for (i = 0; i < MAXFX; i++) { diff --git a/shared.c b/shared.c index ef5e879..63545c1 100644 --- a/shared.c +++ b/shared.c @@ -2064,6 +2064,13 @@ void drawsprite(sprite_t *s) { frame = F_DEAD; } else if (s->id == P_SLUG) { frame = F_FALL; + } else if (s->powerup == PW_PILL) { + // toggle between walking frames FAST + if ((timer/3) % 2 == 0) { + frame = F_WALK1; + } else { + frame = F_JUMP; + } } else { frame = F_JUMP; } @@ -2079,6 +2086,13 @@ void drawsprite(sprite_t *s) { } else { frame = F_FALL; } + } else if (s->powerup == PW_PILL) { + // toggle between walking frames FAST + if ((timer/3) % 2 == 0) { + frame = F_WALK1; + } else { + frame = F_JUMP; + } } else { frame = F_FALL; } @@ -2102,11 +2116,20 @@ void drawsprite(sprite_t *s) { // DEFAULT FOR EVERYTHING // walking / sliding if (s->moved == MV_WALK) { - // toggle between walking frames - if ((timer/12) % 2 == 0) { - frame = F_WALK1; + if (s->powerup == PW_PILL) { + // toggle between walking frames FAST + if ((timer/3) % 2 == 0) { + frame = F_WALK1; + } else { + frame = F_JUMP; + } } else { - frame = F_JUMP; + // toggle between walking frames + if ((timer/12) % 2 == 0) { + frame = F_WALK1; + } else { + frame = F_JUMP; + } } } else if (s->moved == MV_FLY) { int animspeed; @@ -2127,10 +2150,19 @@ void drawsprite(sprite_t *s) { frame = F_FALL; } - } else if (s->moved == MV_ICE) { + } else if (s->moved == MV_ICE) { // sliding frame = F_FALL; - } else { - frame = F_WALK1; + } else { // standing still + if (s->powerup == PW_PILL) { + // toggle between walking frames FAST + if ((timer/3) % 2 == 0) { + frame = F_WALK1; + } else { + frame = F_JUMP; + } + } else { + frame = F_WALK1; + } } }