summaryrefslogtreecommitdiff
path: root/src/elements
diff options
context:
space:
mode:
authorjacksonmj <mj-pt@jacksonmj.co.uk>2012-02-29 21:43:28 (GMT)
committer jacksonmj <mj-pt@jacksonmj.co.uk>2012-02-29 21:54:35 (GMT)
commitd21c61aa52682b496bcc7cbaa764ae91b1d46cc2 (patch)
tree0196067f8d0875f144300b273d5a3f3adb79e6e5 /src/elements
parent2b4d0442b5a81faa9cd1f0fb31fe07544989716b (diff)
downloadpowder-d21c61aa52682b496bcc7cbaa764ae91b1d46cc2.zip
powder-d21c61aa52682b496bcc7cbaa764ae91b1d46cc2.tar.gz
Prevent ARAY passing through some non-conductive materials, and let normal ARAY pass through sparked INWR
Diffstat (limited to 'src/elements')
-rw-r--r--src/elements/aray.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/elements/aray.c b/src/elements/aray.c
index c1a1bf4..32f1124 100644
--- a/src/elements/aray.c
+++ b/src/elements/aray.c
@@ -44,12 +44,11 @@ int update_ARAY(UPDATE_FUNC_ARGS) {
} else if ((r&0xFF)==PT_FILT) {//get color if passed through FILT
colored = parts[r>>8].ctype;
//this if prevents BRAY from stopping on certain materials
- } else if ((r&0xFF)!=PT_STOR && (r&0xFF)!=PT_INWR && (r&0xFF)!=PT_ARAY && (r&0xFF)!=PT_WIFI && !((r&0xFF)==PT_SWCH && parts[r>>8].life>=10)) {
+ } else if ((r&0xFF)!=PT_STOR && (r&0xFF)!=PT_INWR && ((r&0xFF)!=PT_SPRK || parts[r>>8].ctype!=PT_INWR) && (r&0xFF)!=PT_ARAY && (r&0xFF)!=PT_WIFI && !((r&0xFF)==PT_SWCH && parts[r>>8].life>=10)) {
if (nyy!=0 || nxx!=0) {
create_part(-1, x+nxi+nxx, y+nyi+nyy, PT_SPRK);
}
- //if (!(nostop && (ptypes[r&0xFF].properties&PROP_CONDUCTS))) {
- if (!(nostop && parts[r>>8].ctype >= 0 && parts[r>>8].ctype < PT_NUM && (ptypes[parts[r>>8].ctype].properties&PROP_CONDUCTS))) {
+ if (!(nostop && parts[r>>8].type==PT_SPRK && parts[r>>8].ctype >= 0 && parts[r>>8].ctype < PT_NUM && (ptypes[parts[r>>8].ctype].properties&PROP_CONDUCTS))) {
docontinue = 0;
} else {
docontinue = 1;