summaryrefslogtreecommitdiff
path: root/src/elements
diff options
context:
space:
mode:
authorCracker64 <cracker642@gmail.com>2011-03-10 20:43:27 (GMT)
committer Cracker64 <cracker642@gmail.com>2011-03-10 20:43:27 (GMT)
commit3b048f8a0634973e45703373d22bd9360a6c170c (patch)
treea4fac03f3d2ca057b1a1604ece16bf84215c2826 /src/elements
parentca1cd0da065a1774dbeeba161139f580ab7f711a (diff)
downloadpowder-3b048f8a0634973e45703373d22bd9360a6c170c.zip
powder-3b048f8a0634973e45703373d22bd9360a6c170c.tar.gz
merge merge merge
Diffstat (limited to 'src/elements')
-rw-r--r--src/elements/glow.c4
-rw-r--r--src/elements/sprk.c21
2 files changed, 15 insertions, 10 deletions
diff --git a/src/elements/glow.c b/src/elements/glow.c
index 621e5b1..d692233 100644
--- a/src/elements/glow.c
+++ b/src/elements/glow.c
@@ -16,6 +16,10 @@ int update_GLOW(UPDATE_FUNC_ARGS) {
parts[r>>8].life = 10;
}
}
+ parts[i].ctype = pv[y/CELL][x/CELL]*16;
+
+ parts[i].tmp = abs((int)((vx[y/CELL][x/CELL]+vy[y/CELL][x/CELL])*16.0f)) + abs((int)((parts[i].vx+parts[i].vy)*64.0f));
+ //printf("%f %f\n", parts[i].vx, parts[i].vy);
if (parts[i].type==PT_NONE) {
kill_part(i);
return 1;
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;