summaryrefslogtreecommitdiff
path: root/src/elements/deut.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/elements/deut.cpp')
-rw-r--r--src/elements/deut.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/elements/deut.cpp b/src/elements/deut.cpp
index cee38de..e5efe53 100644
--- a/src/elements/deut.cpp
+++ b/src/elements/deut.cpp
@@ -2,9 +2,13 @@
int update_DEUT(UPDATE_FUNC_ARGS) {
int r, rx, ry, trade, np;
+ float gravtot = fabs(sim->gravy[(y/CELL)*(XRES/CELL)+(x/CELL)])+fabs(sim->gravx[(y/CELL)*(XRES/CELL)+(x/CELL)]);
int maxlife = ((10000/(parts[i].temp + 1))-1);
if ((10000%((int)parts[i].temp+1))>rand()%((int)parts[i].temp+1))
maxlife ++;
+ // Compress when Newtonian gravity is applied
+ // multiplier=1 when gravtot=0, multiplier -> 5 as gravtot -> inf
+ maxlife = maxlife*(5.0f - 8.0f/(gravtot+2.0f));
if (parts[i].life < maxlife)
{
for (rx=-1; rx<2; rx++)