mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-31 22:12:59 +00:00 
			
		
		
		
	horo_ok to tell if horocycles are available in the current geometry
This commit is contained in:
		
							
								
								
									
										19
									
								
								bigstuff.cpp
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								bigstuff.cpp
									
									
									
									
									
								
							| @@ -955,6 +955,13 @@ bool mouse_reachability_test(cell *c) { | |||||||
|   return false;       |   return false;       | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | bool horo_ok() { | ||||||
|  |   if(!hyperbolic) return false; | ||||||
|  |   if(!whirl::whirl) return true; | ||||||
|  |   if(whirl::param.second) return false; | ||||||
|  |   return true; | ||||||
|  |   } | ||||||
|  |    | ||||||
| void buildBigStuff(cell *c, cell *from) { | void buildBigStuff(cell *c, cell *from) { | ||||||
|   if(sphere || quotient) return; |   if(sphere || quotient) return; | ||||||
|   bool deepOcean = false; |   bool deepOcean = false; | ||||||
| @@ -1052,7 +1059,7 @@ void buildBigStuff(cell *c, cell *from) { | |||||||
|     } |     } | ||||||
|        |        | ||||||
|   if((!chaosmode) && bearsCamelot(c->land) && ctof(c) &&  |   if((!chaosmode) && bearsCamelot(c->land) && ctof(c) &&  | ||||||
|     (quickfind(laCamelot) || peace::on || (hrand(I2000) < 200 && !whirl::whirl &&  |     (quickfind(laCamelot) || peace::on || (hrand(I2000) < 200 && horo_ok() &&  | ||||||
|     items[itEmerald] >= U5 && !tactic::on))) { |     items[itEmerald] >= U5 && !tactic::on))) { | ||||||
|     int rtr = newRoundTableRadius(); |     int rtr = newRoundTableRadius(); | ||||||
|     heptagon *alt = createAlternateMap(c, rtr+14, hsOrigin); |     heptagon *alt = createAlternateMap(c, rtr+14, hsOrigin); | ||||||
| @@ -1073,7 +1080,7 @@ void buildBigStuff(cell *c, cell *from) { | |||||||
|       createAlternateMap(c, 2, hsA); |       createAlternateMap(c, 2, hsA); | ||||||
|  |  | ||||||
|     if(c->land == laJungle && ctof(c) &&  |     if(c->land == laJungle && ctof(c) &&  | ||||||
|       (quickfind(laMountain) || (hrand(I2000) < 100 && !whirl::whirl &&  |       (quickfind(laMountain) || (hrand(I2000) < 100 && horo_ok() &&  | ||||||
|       !randomPatternsMode && !tactic::on && !yendor::on && landUnlocked(laMountain)))) |       !randomPatternsMode && !tactic::on && !yendor::on && landUnlocked(laMountain)))) | ||||||
|       createAlternateMap(c, 2, hsA); |       createAlternateMap(c, 2, hsA); | ||||||
|  |  | ||||||
| @@ -1086,20 +1093,20 @@ void buildBigStuff(cell *c, cell *from) { | |||||||
|       if(h) clearing::bpdata[h].root = NULL; |       if(h) clearing::bpdata[h].root = NULL; | ||||||
|       } |       } | ||||||
|  |  | ||||||
|     if(c->land == laStorms && ctof(c) && hrand(2000) < 1000 && !whirl::whirl && !randomPatternsMode) { |     if(c->land == laStorms && ctof(c) && hrand(2000) < 1000 && horo_ok() && !randomPatternsMode) { | ||||||
|       heptagon *h = createAlternateMap(c, 2, hsA); |       heptagon *h = createAlternateMap(c, 2, hsA); | ||||||
|       if(h) h->alt->emeraldval = hrand(2); |       if(h) h->alt->emeraldval = hrand(2); | ||||||
|       } |       } | ||||||
|  |  | ||||||
|     if(c->land == laOcean && ctof(c) && deepOcean && !generatingEquidistant && !peace::on && !whirl::whirl &&  |     if(c->land == laOcean && ctof(c) && deepOcean && !generatingEquidistant && !peace::on && horo_ok() &&  | ||||||
|       (quickfind(laWhirlpool) || ( |       (quickfind(laWhirlpool) || ( | ||||||
|         hrand(2000) < (nonbitrunc ? 500 : 1000) && !tactic::on && !yendor::on))) |         hrand(2000) < (nonbitrunc ? 500 : 1000) && !tactic::on && !yendor::on))) | ||||||
|       createAlternateMap(c, 2, hsA); |       createAlternateMap(c, 2, hsA); | ||||||
|  |  | ||||||
|     if(c->land == laCaribbean && !whirl::whirl && ctof(c)) |     if(c->land == laCaribbean && horo_ok() && ctof(c)) | ||||||
|       createAlternateMap(c, 2, hsA); |       createAlternateMap(c, 2, hsA); | ||||||
|  |  | ||||||
|     if(c->land == laPalace && ctof(c) && !princess::generating && !shmup::on && multi::players == 1 && !whirl::whirl &&  |     if(c->land == laPalace && ctof(c) && !princess::generating && !shmup::on && multi::players == 1 && horo_ok() &&  | ||||||
|       (princess::forceMouse ? mouse_reachability_test(from) : |       (princess::forceMouse ? mouse_reachability_test(from) : | ||||||
|         (hrand(2000) < (peace::on ? 100 : 20))) &&  |         (hrand(2000) < (peace::on ? 100 : 20))) &&  | ||||||
|       !c->master->alt &&  |       !c->master->alt &&  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue