mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-31 05:52:59 +00:00 
			
		
		
		
	westwall:: monster theme
This commit is contained in:
		| @@ -781,6 +781,8 @@ monstertype minf[motypes] = { | ||||
|   { 'B', 0xE07000, "Brown Bug", NODESCYET}, | ||||
|   { 'B', 0xE07060, "Acid Bird", NODESCYET}, | ||||
|   { 'W', 0xA04060, "Variant Warrior", NODESCYET}, | ||||
|   { 'W', 0xC04040, "Falling Dog", NODESCYET}, | ||||
|   { 'B', 0x40C040, "Western Hawk", NODESCYET}, | ||||
|    | ||||
|   // shmup specials | ||||
|   { '@', 0xC0C0C0, "Rogue", "In the Shoot'em Up mode, you are armed with thrown Knives."}, | ||||
|   | ||||
| @@ -10,7 +10,7 @@ static inline void set_flag(flagtype& f, flagtype which, bool b) { | ||||
|   else f &= ~which; | ||||
|   } | ||||
|  | ||||
| static const int motypes = 165; | ||||
| static const int motypes = 167; | ||||
|  | ||||
| struct monstertype { | ||||
|   char  glyph; | ||||
| @@ -68,6 +68,7 @@ enum eMonster { | ||||
|   moPair, moHexDemon, moAltDemon, moMonk, moCrusher, | ||||
|   moSwitch1, moSwitch2, | ||||
|   moBrownBug, moAcidBird, moVariantWarrior, | ||||
|   moFallingDog, moWestHawk,  | ||||
|   // shmup specials | ||||
|   moPlayer, moBullet, moFlailBullet, moFireball, moTongue, moAirball, moCrushball, | ||||
|   // temporary | ||||
|   | ||||
| @@ -370,7 +370,7 @@ bool isAngryBird(eMonster m) { | ||||
|   return m == moEagle || m == moAlbatross || m == moBomberbird || m == moGargoyle || | ||||
|     m == moWindCrow || m == moSparrowhawk ||  | ||||
|     m == moVampire || m == moBat || m == moButterfly || m == moGadfly || | ||||
|     m == moAcidBird; | ||||
|     m == moAcidBird || m == moWestHawk; | ||||
|   } | ||||
|  | ||||
| bool isBird(eMonster m) { | ||||
| @@ -412,7 +412,7 @@ bool normalMover(eMonster m) { | ||||
|     m == moHunterGuard || m == moHunterChanging || | ||||
|     m == moIceGolem ||  | ||||
|     m == moSwitch1 || m == moSwitch2 || m == moCrusher || m == moPair ||  | ||||
|     m == moBrownBug || m == moVariantWarrior || | ||||
|     m == moBrownBug || m == moVariantWarrior || m == moFallingDog || | ||||
|     isMagneticPole(m) ||  | ||||
|     slowMover(m); | ||||
|   } | ||||
|   | ||||
							
								
								
									
										1
									
								
								game.cpp
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								game.cpp
									
									
									
									
									
								
							| @@ -378,6 +378,7 @@ int* killtable[] = { | ||||
|     &kills[moSwitch1], &kills[moSwitch2], | ||||
|     &kills[moMonk], &kills[moCrusher], &kills[moHexDemon], &kills[moAltDemon], &kills[moPair], | ||||
|     &kills[moBrownBug], &kills[moAcidBird], | ||||
|     &kills[moFallingDog], &kills[moVariantWarrior], &kills[moWestHawk], | ||||
|     NULL | ||||
|     }; | ||||
|  | ||||
|   | ||||
| @@ -1209,13 +1209,13 @@ bool drawMonsterType(eMonster m, cell *where, const transmatrix& V, color_t col, | ||||
|       } | ||||
|     queuepoly(VABODY, shBugArmor, darkena(col, 1, 0xFF)); | ||||
|     } | ||||
|   else if(m == moRunDog || m == moHunterDog || m == moHunterGuard || m == moHunterChanging) { | ||||
|   else if(among(m, moRunDog, moHunterDog, moHunterGuard, moHunterChanging, moFallingDog)) { | ||||
|     if(!mmspatial && !footphase)  | ||||
|       queuepoly(VABODY, shDogBody, darkena(col, 0, 0xFF)); | ||||
|     else { | ||||
|       ShadowV(V, shDogTorso); | ||||
|       queuepoly(VABODY, shDogTorso, darkena(col, 0, 0xFF)); | ||||
|       animallegs(VALEGS, moRunDog, darkena(col, 0, 0xFF), footphase); | ||||
|       animallegs(VALEGS, moRunDog, m == moFallingDog ? 0xFFFFFFFF : darkena(col, 0, 0xFF), footphase); | ||||
|       } | ||||
|     queuepoly(VAHEAD, shDogHead, darkena(col, 0, 0xFF)); | ||||
|  | ||||
| @@ -1256,7 +1256,7 @@ bool drawMonsterType(eMonster m, cell *where, const transmatrix& V, color_t col, | ||||
|     ShadowV(V, shEagle); | ||||
|     queuepoly(VBIRD, shEagle, darkena(col, 0, 0xFF)); | ||||
|     } | ||||
|   else if(m == moSparrowhawk) { | ||||
|   else if(m == moSparrowhawk || m == moWestHawk) { | ||||
|     ShadowV(V, shHawk); | ||||
|     queuepoly(VBIRD, shHawk, darkena(col, 0, 0xFF)); | ||||
|     } | ||||
|   | ||||
| @@ -1157,10 +1157,8 @@ void giantLandSwitch(cell *c, int d, cell *from) { | ||||
|       if(d == 9) | ||||
|         westwall::switchTreasure(c); | ||||
|       ONEMPTY { | ||||
|         if(hrand(4500) < items[itWest] + yendor::hardness()) | ||||
|           c->monst = moWindCrow; | ||||
|         if(hrand(doCross?3000:30000) < items[itWest] + yendor::hardness() - 5) | ||||
|           c->monst = moAirElemental; | ||||
|         if(hrand(6000) < 5 + items[itWest] + yendor::hardness()) | ||||
|           c->monst = hrand(100) < 20 ? moWestHawk : moFallingDog; | ||||
|         } | ||||
|       break; | ||||
|      | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue