diff options
| author | jacksonmj <mj-pt@jacksonmj.co.uk> | 2011-02-24 19:24:37 (GMT) |
|---|---|---|
| committer | jacksonmj <mj-pt@jacksonmj.co.uk> | 2011-02-24 19:24:37 (GMT) |
| commit | a972644c4ffda6774ecea2798ff6d76f09d8f04e (patch) | |
| tree | f926c3531029fe2d48b972fcd4554d7c39e3773e /src/elements | |
| parent | 71a6654c036dc4ebb96c67dddc23594f4699cbb2 (diff) | |
| download | powder-a972644c4ffda6774ecea2798ff6d76f09d8f04e.zip powder-a972644c4ffda6774ecea2798ff6d76f09d8f04e.tar.gz | |
Fix ETRD not conducting correctly to adjacent particles
Diffstat (limited to 'src/elements')
| -rw-r--r-- | src/elements/sprk.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/elements/sprk.c b/src/elements/sprk.c index f107b9a..89480ad 100644 --- a/src/elements/sprk.c +++ b/src/elements/sprk.c @@ -120,7 +120,7 @@ int update_SPRK(UPDATE_FUNC_ARGS) { conduct_sprk = 0; if (ct==PT_NSCN && rt==PT_PSCN) conduct_sprk = 0; - if (ct==PT_ETRD && (parts[i].life!=5||!(rt==PT_METL||rt==PT_ETRD||rt==PT_BMTL||rt==PT_BRMT||rt==PT_LRBD||rt==PT_RBDM||rt==PT_PSCN||rt==PT_NSCN))) + if (ct==PT_ETRD && !(rt==PT_METL||rt==PT_ETRD||rt==PT_BMTL||rt==PT_BRMT||rt==PT_LRBD||rt==PT_RBDM||rt==PT_PSCN||rt==PT_NSCN)) conduct_sprk = 0; if (ct==PT_INST&&rt!=PT_NSCN) conduct_sprk = 0; if (ct==PT_SWCH && (rt==PT_PSCN||rt==PT_NSCN||rt==PT_WATR||rt==PT_SLTW||rt==PT_NTCT||rt==PT_PTCT||rt==PT_INWR)) @@ -137,15 +137,7 @@ int update_SPRK(UPDATE_FUNC_ARGS) { conduct_sprk = 0; if (conduct_sprk) { - if (ct==PT_ETRD) { - part_change_type(i,x,y,PT_ETRD); - parts[i].ctype = PT_NONE; - parts[i].life = 20; - part_change_type(r>>8,x+rx,y+ry,PT_SPRK); - parts[r>>8].life = 4; - parts[r>>8].ctype = rt; - } - else if (rt==PT_WATR||rt==PT_SLTW) { + if (rt==PT_WATR||rt==PT_SLTW) { if (parts[r>>8].life==0 && (parts[i].life<2 || ((r>>8)<i && parts[i].life<3))) { part_change_type(r>>8,x+rx,y+ry,PT_SPRK); @@ -167,6 +159,15 @@ int update_SPRK(UPDATE_FUNC_ARGS) { if (parts[r>>8].temp+10.0f<673.0f&&!legacy_enable&&(rt==PT_METL||rt==PT_BMTL||rt==PT_BRMT||rt==PT_PSCN||rt==PT_NSCN||rt==PT_ETRD||rt==PT_NBLE||rt==PT_IRON)) parts[r>>8].temp = parts[r>>8].temp+10.0f; } + else if (ct==PT_ETRD && parts[i].life==5) + { + part_change_type(i,x,y,ct); + parts[i].ctype = PT_NONE; + parts[i].life = 20; + parts[r>>8].life = 4; + parts[r>>8].ctype = rt; + part_change_type(r>>8,x+rx,y+ry,PT_SPRK); + } } } return 0; |
