mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-24 01:00:25 +00:00
asteroids:: theming, changed look to invisible floors + grid, provided validity rules
This commit is contained in:
parent
4af11a7f2a
commit
f9ba041451
@ -410,6 +410,9 @@ const char *ruindesc =
|
||||
"Once a beautiful city... but now overrun by the mighty Raiders of unknown origin.\n\n"
|
||||
"Raiders cannot be harmed with mundane weapons, but each color has its movement restrictions.";
|
||||
|
||||
const char *rock_description =
|
||||
"Shoot the Space Rocks for score. Large Rocks will split into two smaller rocks.";
|
||||
|
||||
monstertype minf[motypes] = {
|
||||
#define MONSTER(a,b,c,d,e,f,g,h) {a,b,c,e,g,h},
|
||||
#include "content.cpp"
|
||||
|
@ -1257,9 +1257,9 @@ LAND( 0x30FF30, "Irradiated Field", laVariant, ZERO, itVarTreasure, RESERVED,
|
||||
|
||||
// add new content here
|
||||
|
||||
LAND( 0x202020, "Asteroids", laAsteroids, ZERO, itAsteroid, RESERVED, NODESCYET)
|
||||
ITEM( '*', 0xFFFFFF, "Ice Diamond", itAsteroid, IC_TREASURE, ZERO, RESERVED, osNone, NODESCYET)
|
||||
MONSTER('A', 0x606040, "Asteroid", moAsteroid, ZERO, RESERVED, moAsteroid, NODESCYET)
|
||||
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)
|
||||
|
||||
//shmupspecials
|
||||
MONSTER( '@', 0xC0C0C0, "Rogue", moPlayer, ZERO | CF_PLAYER, RESERVED, moNone, "In the Shoot'em Up mode, you are armed with thrown Knives.")
|
||||
|
2
game.cpp
2
game.cpp
@ -3305,6 +3305,8 @@ bool makeEmpty(cell *c) {
|
||||
;
|
||||
else if(c->wall == waGiantRug)
|
||||
;
|
||||
else if(c->wall == waInvisibleFloor)
|
||||
;
|
||||
else if(c->wall == waDock)
|
||||
;
|
||||
else if(c->land == laDocks)
|
||||
|
@ -5466,7 +5466,7 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
||||
queuechr(V, 1, ch, darkenedby(asciicol, darken), 2);
|
||||
}
|
||||
|
||||
if(vid.grid || (DIM == 3 && c->land == laAsteroids)) {
|
||||
if(vid.grid || c->land == laAsteroids) {
|
||||
dynamicval<ld> lw(vid.linewidth, vid.linewidth);
|
||||
|
||||
vid.linewidth *= scalefactor;
|
||||
|
@ -2379,6 +2379,7 @@ void giantLandSwitch(cell *c, int d, cell *from) {
|
||||
break;
|
||||
|
||||
case laAsteroids:
|
||||
c->wall = waInvisibleFloor;
|
||||
break;
|
||||
|
||||
case landtypes: break;
|
||||
|
@ -1001,6 +1001,7 @@ namespace lv {
|
||||
land_validity_t pattern_special = {3, qm3, "Special pattern implemented for this geometry."};
|
||||
land_validity_t not_3d = {0, q0, "This land does not make much sense in 3D."};
|
||||
land_validity_t not_binary = {0, q0, "This land does not make much sense in binary tiling."};
|
||||
land_validity_t shmup_only = {0, q0, "This land works only in the shmup mode."};
|
||||
}
|
||||
|
||||
// old Daily Challenges should keep their validity forever
|
||||
@ -1023,6 +1024,12 @@ land_validity_t& land_validity(eLand l) {
|
||||
return disabled;
|
||||
#endif
|
||||
|
||||
if(l == laAsteroids) {
|
||||
if(!shmup::on) return shmup_only;
|
||||
if(!bounded) return bounded_only;
|
||||
return specially_designed;
|
||||
}
|
||||
|
||||
if(DIM == 3) {
|
||||
if(l == laWarpCoast) return ugly_version;
|
||||
if(l == laWineyard && hyperbolic && !binarytiling && S7 == 6) return lv::pattern_special;
|
||||
|
Loading…
Reference in New Issue
Block a user