mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-24 17:10:36 +00:00
Asteroids now has some gameplay in non-shmup
This commit is contained in:
parent
68f5ad6e92
commit
cbccf4936d
@ -757,6 +757,11 @@ EX void killMonster(cell *c, eMonster who, flagtype deathflags IS(0)) {
|
||||
// a reward for killing him before he shoots!
|
||||
c->item = itOrbDragon;
|
||||
}
|
||||
if(m == moAsteroid && !shmup::on && c->item == itNone && c->wall != waChasm) {
|
||||
c->item = itAsteroid;
|
||||
changes.value_add(splitrocks, 2);
|
||||
}
|
||||
|
||||
if(m == moOutlaw && (c->item == itNone || c->item == itRevolver) && c->wall != waChasm)
|
||||
c->item = itBounty;
|
||||
// note: an Orb appears underwater!
|
||||
|
@ -1569,9 +1569,9 @@ LAND( 0x30FF30, "Irradiated Field", laVariant, ZERO, itVarTreasure, RESERVED,
|
||||
|
||||
LAND( 0x202020, "Space Rocks", laAsteroids, ZERO, itAsteroid, RESERVED, rock_description)
|
||||
ITEM( '!', 0xFFD0D0, "Fuel", itAsteroid, IC_TREASURE, ZERO, RESERVED, osNone, rock_description)
|
||||
MONSTER('A', 0x606040, "Space Rock", moAsteroid, ZERO, RESERVED, moAsteroid, rock_description)
|
||||
MONSTER('A', 0x606040, "Space Rock", moAsteroid, ZERO, RESERVED, moYeti, rock_description)
|
||||
NATIVE(m == moAsteroid ? 2 : 0)
|
||||
REQ( NEVER )
|
||||
REQ( ALWAYS )
|
||||
|
||||
LAND( 0x00C0C0, "Wetland", laWet, ZERO, itWet, RESERVED,
|
||||
"Some people have definitely drowned in this treacherous area. Better be careful!"
|
||||
|
@ -564,6 +564,7 @@ EX eLand getNewLand(eLand old) {
|
||||
|
||||
tab[cnt++] = laHalloween;
|
||||
tab[cnt++] = laWildWest;
|
||||
tab[cnt++] = laAsteroids;
|
||||
|
||||
// the advanced lands
|
||||
if(all_unlocked || gold() >= R60) {
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include "hyper.h"
|
||||
namespace hr {
|
||||
|
||||
EX int avengers, mirrorspirits, wandering_jiangshi, jiangshi_on_screen;
|
||||
EX int avengers, mirrorspirits, wandering_jiangshi, jiangshi_on_screen, splitrocks;
|
||||
|
||||
EX bool timerghost = true;
|
||||
EX bool gen_wandering = true;
|
||||
@ -562,6 +562,12 @@ EX void wandering() {
|
||||
|
||||
else if(c->monst || c->pathdist == PINFD) break;
|
||||
|
||||
else if(c->land == laAsteroids && splitrocks && canReachPlayer(c, moYeti)) {
|
||||
c->monst = moAsteroid;
|
||||
splitrocks--;
|
||||
continue;
|
||||
}
|
||||
|
||||
else if(c->land == laAsteroids) {
|
||||
int gen = 0;
|
||||
if(asteroids_generated * 12 <= items[itAsteroid]) gen = 2;
|
||||
|
@ -224,6 +224,8 @@ EX void initgame() {
|
||||
rosephase = 0;
|
||||
shmup::count_pauses = 0;
|
||||
|
||||
splitrocks = 0;
|
||||
|
||||
if(firstland == laElementalWall) cwt.at->land = randomElementalLand();
|
||||
|
||||
resetview();
|
||||
|
Loading…
Reference in New Issue
Block a user