mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-31 22:12:59 +00:00 
			
		
		
		
	added itOrbWinter as a secondary reverse for itCurseWater, and also made some reverses cancel each other
This commit is contained in:
		
							
								
								
									
										20
									
								
								orbs.cpp
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								orbs.cpp
									
									
									
									
									
								
							| @@ -112,21 +112,27 @@ EX void reduceOrbPowerAlways(eItem it) { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
| EX void reverse_curse(eItem curse, eItem orb) { | EX void reverse_curse(eItem curse, eItem orb, bool cancel) { | ||||||
|   if(items[curse] && markOrb(itOrbPurity)) { |   if(items[curse] && markOrb(itOrbPurity)) { | ||||||
|     items[orb] += items[curse]; |     items[orb] += items[curse]; | ||||||
|  |     if(curse == itCurseWeakness) items[itOrbWinter] += items[curse]; | ||||||
|     items[curse] = 0; |     items[curse] = 0; | ||||||
|     } |     } | ||||||
|  |   if(cancel && items[curse] && items[orb]) { | ||||||
|  |     int m = min(items[curse], items[orb]); | ||||||
|  |     items[curse] -= m; | ||||||
|  |     items[orb] -= m; | ||||||
|  |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
| EX void reduceOrbPowers() { | EX void reduceOrbPowers() { | ||||||
|  |  | ||||||
|   reverse_curse(itCurseWeakness, itOrbSlaying); |   reverse_curse(itCurseWeakness, itOrbSlaying, true); | ||||||
|   reverse_curse(itCurseFatigue, itOrbSpeed); // OK |   reverse_curse(itCurseFatigue, itOrbSpeed, false); // OK | ||||||
|   reverse_curse(itCurseRepulsion, itOrbMagnetism); // OK |   reverse_curse(itCurseRepulsion, itOrbMagnetism, true); // OK | ||||||
|   reverse_curse(itCurseWater, itOrbFire); // OK |   reverse_curse(itCurseWater, itOrbFire, true); // OK | ||||||
|   reverse_curse(itCurseDraining, itOrbTime); // OK |   reverse_curse(itCurseDraining, itOrbTime, false); // OK | ||||||
|   reverse_curse(itCurseGluttony, itOrbChoice); // OK |   reverse_curse(itCurseGluttony, itOrbChoice, true); // OK | ||||||
|      |      | ||||||
|   if(haveMount()) markOrb(itOrbDomination); |   if(haveMount()) markOrb(itOrbDomination); | ||||||
|   for(int i=0; i<ittypes; i++)  |   for(int i=0; i<ittypes; i++)  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue