- Level tweaks to avoid places where you could get stuck
- Don't show cloud warning on boss levels - Limit to one playing card per level - Can't get hiscores if you are cheating -This line, and those below, will be ignored-- M rc.c M shared.c M defs.h M data/world1/level115.dat M data/world1/level14.dat M globals.h
This commit is contained in:
parent
fbe003698b
commit
ddf05fa1df
|
@ -5,6 +5,7 @@ help
|
||||||
endhelp
|
endhelp
|
||||||
monsters
|
monsters
|
||||||
0 20 22
|
0 20 22
|
||||||
|
23 20 9
|
||||||
12 34 14
|
12 34 14
|
||||||
12 4 14
|
12 4 14
|
||||||
60 22 13
|
60 22 13
|
||||||
|
@ -40,7 +41,6 @@ monsters
|
||||||
17 4 2
|
17 4 2
|
||||||
17 5 25
|
17 5 25
|
||||||
17 34 25
|
17 34 25
|
||||||
23 20 9
|
|
||||||
endmonsters
|
endmonsters
|
||||||
exitdir 1
|
exitdir 1
|
||||||
44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,
|
44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,
|
||||||
|
@ -54,10 +54,10 @@ exitdir 1
|
||||||
44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,
|
44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,
|
||||||
44,0,0,0,0,0,0,0,25,25,25,0,0,0,0,0,17,0,0,0,0,0,0,0,17,0,0,0,0,25,25,25,0,0,0,0,0,0,0,44,
|
44,0,0,0,0,0,0,0,25,25,25,0,0,0,0,0,17,0,0,0,0,0,0,0,17,0,0,0,0,25,25,25,0,0,0,0,0,0,0,44,
|
||||||
44,0,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,0,0,0,0,0,0,0,0,0,0,0,44,
|
44,0,0,0,0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,0,0,0,0,0,0,0,0,0,0,0,44,
|
||||||
|
44,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,44,
|
||||||
44,0,0,0,0,0,0,0,0,0,0,0,24,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,0,0,0,0,0,0,0,0,0,0,0,44,
|
44,0,0,0,0,0,0,0,0,0,0,0,24,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,0,0,0,0,0,0,0,0,0,0,0,44,
|
||||||
44,0,0,0,0,0,0,0,0,0,0,0,24,15,15,15,15,15,15,15,15,15,15,15,15,15,15,24,0,0,0,0,0,0,0,0,0,0,0,44,
|
44,0,0,0,0,0,0,0,0,0,0,0,24,15,15,15,15,15,15,15,15,15,15,15,15,15,15,24,0,0,0,0,0,0,0,0,0,0,0,44,
|
||||||
44,0,0,0,0,0,0,0,0,0,0,0,24,15,15,15,15,15,15,15,15,15,15,15,15,15,15,24,0,0,0,0,0,0,0,0,0,0,0,44,
|
44,0,0,0,0,0,0,0,0,0,0,0,24,15,15,15,15,15,15,15,15,15,15,15,15,15,15,24,0,0,0,0,0,0,0,0,0,0,0,44,
|
||||||
44,0,0,0,0,0,0,0,0,0,0,0,24,15,15,15,15,15,15,15,15,15,15,15,15,15,15,24,0,0,0,0,0,0,0,0,0,0,0,44,
|
|
||||||
44,0,0,0,25,25,25,25,25,25,25,0,24,15,15,15,15,15,15,15,15,15,15,15,15,15,15,24,0,25,25,25,25,25,25,25,0,0,0,44,
|
44,0,0,0,25,25,25,25,25,25,25,0,24,15,15,15,15,15,15,15,15,15,15,15,15,15,15,24,0,25,25,25,25,25,25,25,0,0,0,44,
|
||||||
44,0,0,0,0,0,0,0,0,0,0,0,24,15,15,15,15,15,15,15,15,15,15,15,15,15,15,24,0,0,0,0,0,0,0,0,0,0,0,44,
|
44,0,0,0,0,0,0,0,0,0,0,0,24,15,15,15,15,15,15,15,15,15,15,15,15,15,15,24,0,0,0,0,0,0,0,0,0,0,0,44,
|
||||||
44,0,0,0,0,0,0,0,0,0,0,0,24,15,15,15,15,15,15,15,15,15,15,15,15,15,15,24,0,0,0,0,0,0,0,0,0,0,0,44,
|
44,0,0,0,0,0,0,0,0,0,0,0,24,15,15,15,15,15,15,15,15,15,15,15,15,15,15,24,0,0,0,0,0,0,0,0,0,0,0,44,
|
||||||
|
|
|
@ -55,9 +55,9 @@ exitdir 1
|
||||||
24,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,24,24,26,26,26,24,24,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,24,
|
24,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,24,24,26,26,26,24,24,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,24,
|
||||||
24,25,23,23,23,23,23,23,23,23,25,25,25,23,23,23,23,24,24,26,26,26,24,24,23,23,23,23,25,25,25,23,23,23,23,23,23,23,25,24,
|
24,25,23,23,23,23,23,23,23,23,25,25,25,23,23,23,23,24,24,26,26,26,24,24,23,23,23,23,25,25,25,23,23,23,23,23,23,23,25,24,
|
||||||
24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,24,24,26,26,26,24,24,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,
|
24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,24,24,26,26,26,24,24,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,
|
||||||
24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,24,24,26,26,26,26,26,24,24,11,0,0,0,0,0,0,0,0,0,0,0,0,0,24,
|
24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,24,26,26,26,26,26,24,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,
|
||||||
24,0,0,0,0,0,0,0,0,0,0,0,0,0,11,24,24,26,26,26,26,26,26,26,24,24,11,0,0,0,0,0,0,0,0,0,0,0,0,24,
|
24,0,0,0,0,0,0,0,0,0,0,0,0,0,11,24,24,26,26,26,26,26,26,26,24,24,11,0,0,0,0,0,0,0,0,0,0,0,0,24,
|
||||||
24,0,0,0,0,0,0,0,0,0,0,0,0,11,24,24,26,26,26,26,26,26,26,26,26,24,24,11,0,0,0,0,0,0,0,0,0,0,0,24,
|
24,0,0,0,0,0,0,0,0,0,0,0,0,11,24,26,26,26,26,26,26,26,26,26,26,26,24,11,0,0,0,0,0,0,0,0,0,0,0,24,
|
||||||
24,0,0,0,0,0,0,0,0,0,0,0,0,24,24,26,26,26,26,26,26,26,26,26,26,26,24,24,0,0,0,0,0,0,0,0,0,0,0,24,
|
24,0,0,0,0,0,0,0,0,0,0,0,0,24,24,26,26,26,26,26,26,26,26,26,26,26,24,24,0,0,0,0,0,0,0,0,0,0,0,24,
|
||||||
24,0,0,0,0,0,0,0,0,0,0,17,0,24,24,26,26,26,26,26,26,26,26,26,26,26,24,24,0,17,0,0,0,0,0,0,0,0,0,24,
|
24,0,0,0,0,0,0,0,0,0,0,17,0,24,24,26,26,26,26,26,26,26,26,26,26,26,24,24,0,17,0,0,0,0,0,0,0,0,0,24,
|
||||||
24,0,0,0,0,0,0,0,0,0,23,23,23,24,24,26,26,26,26,26,26,26,26,26,26,26,24,24,23,23,23,0,0,0,0,0,0,0,0,24,
|
24,0,0,0,0,0,0,0,0,0,23,23,23,24,24,26,26,26,26,26,26,26,26,26,26,26,24,24,23,23,23,0,0,0,0,0,0,0,0,24,
|
||||||
|
@ -70,3 +70,5 @@ exitdir 1
|
||||||
24,0,0,0,0,29,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,29,0,0,0,24,
|
24,0,0,0,0,29,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,29,0,0,0,24,
|
||||||
24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,24,
|
24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,24,
|
||||||
layer2
|
layer2
|
||||||
|
15,20,22
|
||||||
|
25,20,22
|
||||||
|
|
1
defs.h
1
defs.h
|
@ -840,6 +840,7 @@ extern char *deathtext[];
|
||||||
extern char *bifftext[];
|
extern char *bifftext[];
|
||||||
extern spriteinfo_t spriteinfo[];
|
extern spriteinfo_t spriteinfo[];
|
||||||
|
|
||||||
|
extern int gotcard;
|
||||||
extern int curcard;
|
extern int curcard;
|
||||||
extern int deck[];
|
extern int deck[];
|
||||||
extern int forcegoodcard;
|
extern int forcegoodcard;
|
||||||
|
|
|
@ -15,6 +15,7 @@ spriteinfo_t spriteinfo[MAXPTYPES];
|
||||||
|
|
||||||
char *datadir;
|
char *datadir;
|
||||||
|
|
||||||
|
int gotcard; // got a card yet this level?
|
||||||
int curcard;
|
int curcard;
|
||||||
int deck[DECKSIZE];
|
int deck[DECKSIZE];
|
||||||
int forcegoodcard;
|
int forcegoodcard;
|
||||||
|
|
69
rc.c
69
rc.c
|
@ -42,6 +42,7 @@ int numhiscores;
|
||||||
int wanthiscores;
|
int wanthiscores;
|
||||||
int gothiscore = -1;
|
int gothiscore = -1;
|
||||||
|
|
||||||
|
|
||||||
int havejoysticks;
|
int havejoysticks;
|
||||||
int joybuttons;
|
int joybuttons;
|
||||||
SDL_Joystick *joy;
|
SDL_Joystick *joy;
|
||||||
|
@ -584,12 +585,14 @@ int main (int argc, char **argv) {
|
||||||
|
|
||||||
|
|
||||||
// warning for cloud
|
// warning for cloud
|
||||||
if ((gtime >= nexthurryup + 10) && (gtime < nexthurryup+15)) { // 15 secs after hurryup
|
if (!isbosslevel(curlevelnum)) {
|
||||||
if (levelcomplete == LV_INPROGRESS) {
|
if ((gtime >= nexthurryup + 10) && (gtime < nexthurryup+15)) { // 15 secs after hurryup
|
||||||
if (timer % 4 == 0) {
|
if (levelcomplete == LV_INPROGRESS) {
|
||||||
// add puffs
|
if (timer % 4 == 0) {
|
||||||
puffin(-1, 320 + (rand() % (TILEW*4)) - (TILEW*2),
|
// add puffs
|
||||||
240 + (rand() % (TILEH*2)) - TILEH, "cloudwarn", rand() % 5);
|
puffin(-1, 320 + (rand() % (TILEW*4)) - (TILEW*2),
|
||||||
|
240 + (rand() % (TILEH*2)) - TILEH, "cloudwarn", rand() % 5);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1104,6 +1107,9 @@ void nextlevel(void) {
|
||||||
player->speed = 2;
|
player->speed = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// haven't got a card yet
|
||||||
|
gotcard = B_FALSE;
|
||||||
|
|
||||||
// reset timer
|
// reset timer
|
||||||
timer = 0;
|
timer = 0;
|
||||||
}
|
}
|
||||||
|
@ -1947,32 +1953,36 @@ if (s->id == P_PUFF) printf("PUFF WITH DOOMCOUNT!\n");
|
||||||
sprite_t *newsp;
|
sprite_t *newsp;
|
||||||
|
|
||||||
// if player already has this, and no cards already on screen,
|
// if player already has this, and no cards already on screen,
|
||||||
// we get a card instead
|
// we get a card instead (and also haven't got a card yet htis
|
||||||
if ((isfruit(s->timer3) == FT_PERM) && haspowerup(player, s->timer3)) {
|
// level)
|
||||||
sprite_t *search;
|
if (!gotcard) {
|
||||||
int found;
|
if ((isfruit(s->timer3) == FT_PERM) && haspowerup(player, s->timer3)) {
|
||||||
found = B_FALSE;
|
sprite_t *search;
|
||||||
|
int found;
|
||||||
|
found = B_FALSE;
|
||||||
|
|
||||||
// is there already a card here or about to appear?
|
// is there already a card here or about to appear?
|
||||||
for (search = sprite; search ; search = search->next) {
|
for (search = sprite; search ; search = search->next) {
|
||||||
if (iscard(search->id)) {
|
if (iscard(search->id)) {
|
||||||
found = B_TRUE;
|
found = B_TRUE;
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
// if it's a puff that will become a card...
|
||||||
|
if ((search->id == P_PUFF) && (iscard(search->timer3))) {
|
||||||
|
found = B_TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// if it's a puff that will become a card...
|
|
||||||
if ((search->id == P_PUFF) && (iscard(search->timer3))) {
|
|
||||||
found = B_TRUE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!found) {
|
if (!found) {
|
||||||
s->timer3 = P_FIRSTCARD;
|
s->timer3 = P_FIRSTCARD;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s->timer3 == P_FIRSTCARD) {
|
if (s->timer3 == P_FIRSTCARD) {
|
||||||
s->timer3 = getrandomcard();
|
s->timer3 = getrandomcard();
|
||||||
|
gotcard = B_TRUE;
|
||||||
}
|
}
|
||||||
newsp = addsprite(s->timer3, s->x,s->y,s->name );
|
newsp = addsprite(s->timer3, s->x,s->y,s->name );
|
||||||
|
|
||||||
|
@ -5014,10 +5024,12 @@ void dogravity(sprite_t *s) {
|
||||||
// if player isn't fast, give a speed.
|
// if player isn't fast, give a speed.
|
||||||
if (player->speed != PLAYERFAST) {
|
if (player->speed != PLAYERFAST) {
|
||||||
s2->willbecome = P_SPEED;
|
s2->willbecome = P_SPEED;
|
||||||
} else if (gotsomething >= 4) { // card for killing 5 at once
|
} else if (!gotcard & (gotsomething >= 4)) { // card for killing 5 at once
|
||||||
s2->willbecome = getrandomcard();
|
s2->willbecome = getrandomcard();
|
||||||
} else if (rand() % 5 == 0) { // random chance of a card
|
gotcard = B_TRUE;
|
||||||
|
} else if (!gotcard && (rand() % 5 == 0)) { // random chance of a card
|
||||||
s2->willbecome = getrandomcard();
|
s2->willbecome = getrandomcard();
|
||||||
|
gotcard = B_TRUE;
|
||||||
} else {
|
} else {
|
||||||
// otherwise use normal powerup counter
|
// otherwise use normal powerup counter
|
||||||
s2->willbecome = poweruptypes[curpoweruptype];
|
s2->willbecome = poweruptypes[curpoweruptype];
|
||||||
|
@ -8366,6 +8378,11 @@ void checkhiscores(void){
|
||||||
|
|
||||||
int curlet;
|
int curlet;
|
||||||
|
|
||||||
|
// no hiscores if we are cheating!
|
||||||
|
if (cheat) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// contact server and read list
|
// contact server and read list
|
||||||
if (gethiscores()) {
|
if (gethiscores()) {
|
||||||
printf("Cannot contact hiscore server!\n");
|
printf("Cannot contact hiscore server!\n");
|
||||||
|
|
Loading…
Reference in New Issue