Merge pull request #61 from sp1ky/master
Power regeneration rate increase as power decreases
This commit is contained in:
		@@ -34,6 +34,8 @@ public class Conf
 | 
				
			|||||||
	public static double powerPlayerMin = -10.0;
 | 
						public static double powerPlayerMin = -10.0;
 | 
				
			||||||
	public static double powerPerMinute = 0.2; // Default health rate... it takes 5 min to heal one power
 | 
						public static double powerPerMinute = 0.2; // Default health rate... it takes 5 min to heal one power
 | 
				
			||||||
	public static double powerPerDeath = 4.0; // A death makes you lose 4 power
 | 
						public static double powerPerDeath = 4.0; // A death makes you lose 4 power
 | 
				
			||||||
 | 
						public static boolean scaleNegativePower = false; // Power regeneration rate increase as power decreases
 | 
				
			||||||
 | 
						public static double scaleNegativeDivisor = 40.0; // Divisor for inverse power regeneration curve    
 | 
				
			||||||
	public static boolean powerRegenOffline = false;  // does player power regenerate even while they're offline?
 | 
						public static boolean powerRegenOffline = false;  // does player power regenerate even while they're offline?
 | 
				
			||||||
	public static double powerOfflineLossPerDay = 0.0;  // players will lose this much power per day offline
 | 
						public static double powerOfflineLossPerDay = 0.0;  // players will lose this much power per day offline
 | 
				
			||||||
	public static double powerOfflineLossLimit = 0.0;  // players will no longer lose power from being offline once their power drops to this amount or less
 | 
						public static double powerOfflineLossLimit = 0.0;  // players will no longer lose power from being offline once their power drops to this amount or less
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -379,7 +379,13 @@ public class FPlayer extends PlayerEntity implements EconomyParticipator
 | 
				
			|||||||
		this.lastPowerUpdateTime = now;
 | 
							this.lastPowerUpdateTime = now;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		int millisPerMinute = 60*1000;		
 | 
							int millisPerMinute = 60*1000;		
 | 
				
			||||||
		this.alterPower(millisPassed * Conf.powerPerMinute / millisPerMinute);
 | 
							double powerPerMinute = Conf.powerPerMinute;
 | 
				
			||||||
 | 
							if(Conf.scaleNegativePower && this.power < 0)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								powerPerMinute += (Math.sqrt(Math.abs(this.power)) * Math.abs(this.power)) / Conf.scaleNegativeDivisor;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							this.alterPower(millisPassed * powerPerMinute / millisPerMinute);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	protected void losePowerFromBeingOffline()
 | 
						protected void losePowerFromBeingOffline()
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user