summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2011-11-21 00:48:39 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-11-21 00:48:39 (GMT)
commit876c861c425ad424ffc5af4bf39b2a3441b50f9a (patch)
tree2140759c599a763e9887bd3a0ee119fbeb37ef33 /src/main.c
parent8c6e7caaff883f9c7df111df65737547bd280c7a (diff)
downloadpowder-876c861c425ad424ffc5af4bf39b2a3441b50f9a.zip
powder-876c861c425ad424ffc5af4bf39b2a3441b50f9a.tar.gz
Fix LCRY/ELEC infinite loop, BIZR turns photons into electrons, SING explodes with electrons, electrons react with deut.
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c33
1 files changed, 21 insertions, 12 deletions
diff --git a/src/main.c b/src/main.c
index f44c40a..eee04cc 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1035,21 +1035,30 @@ int parse_save(void *save, int size, int replace, int x0, int y0, unsigned char
}
}
}
- if(ver<67 && (ty==PT_LCRY)){
- //New LCRY uses TMP not life
- if(parts[i-1].life>=10)
+ if(ty==PT_LCRY){
+ if(ver<67)
{
- parts[i-1].life = 10;
- parts[i-1].tmp = 3;
- }
- else if(parts[i-1].life<=0)
- {
- parts[i-1].life = 0;
- parts[i-1].tmp = 0;
+ //New LCRY uses TMP not life
+ if(parts[i-1].life>=10)
+ {
+ parts[i-1].life = 10;
+ parts[i-1].tmp2 = 10;
+ parts[i-1].tmp = 3;
+ }
+ else if(parts[i-1].life<=0)
+ {
+ parts[i-1].life = 0;
+ parts[i-1].tmp2 = 0;
+ parts[i-1].tmp = 0;
+ }
+ else if(parts[i-1].life < 10 && parts[i-1].life > 0)
+ {
+ parts[i-1].tmp = 1;
+ }
}
- else if(parts[i-1].life < 10 && parts[i-1].life > 0)
+ else
{
- parts[i-1].tmp = 1;
+ parts[i-1].tmp2 = parts[i-1].life;
}
}
if (!ptypes[parts[i-1].type].enabled)