From 34da698df1b7058a8034b6800d65948d32911740 Mon Sep 17 00:00:00 2001 From: jacksonmj Date: Thu, 2 Aug 2012 18:07:47 +0100 Subject: [PATCH] Consistent proportions of WATR and SALT in SLTW 1 SALT + 3 WATR = 4 SLTW --- src/elements/legacy.c | 4 ++-- src/elements/sltw.c | 2 +- src/elements/watr.c | 8 +++++++- src/powder.c | 4 ++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/elements/legacy.c b/src/elements/legacy.c index 4cf51ad2c..1db6966f7 100644 --- a/src/elements/legacy.c +++ b/src/elements/legacy.c @@ -68,8 +68,8 @@ int update_legacy_all(UPDATE_FUNC_ARGS) { continue; if (((r&0xFF)==PT_FIRE || (r&0xFF)==PT_LAVA) && 1>(rand()%10)) { - part_change_type(i,x,y,PT_SALT); - part_change_type(r>>8,x+rx,y+ry,PT_WTRV); + if (rand()%4==0) part_change_type(i,x,y,PT_SALT); + else part_change_type(i,x,y,PT_WTRV); } } } diff --git a/src/elements/sltw.c b/src/elements/sltw.c index 4ceeb0bf4..4e562f796 100644 --- a/src/elements/sltw.c +++ b/src/elements/sltw.c @@ -25,7 +25,7 @@ int update_SLTW(UPDATE_FUNC_ARGS) { if (!r) continue; if ((r&0xFF)==PT_SALT && 1>(rand()%10000)) - kill_part(r>>8); + part_change_type(r>>8,x+rx,y+ry,PT_SLTW); if ((r&0xFF)==PT_PLNT&&5>(rand()%1000)) kill_part(r>>8); if (((r&0xFF)==PT_RBDM||(r&0xFF)==PT_LRBD) && !legacy_enable && parts[i].temp>(273.15f+12.0f) && 1>(rand()%500)) diff --git a/src/elements/watr.c b/src/elements/watr.c index 2dbe0fbb8..ecf96aaa5 100644 --- a/src/elements/watr.c +++ b/src/elements/watr.c @@ -27,7 +27,9 @@ int update_WATR(UPDATE_FUNC_ARGS) { if ((r&0xFF)==PT_SALT && 1>(rand()%250)) { part_change_type(i,x,y,PT_SLTW); - part_change_type(r>>8,x+rx,y+ry,PT_SLTW); + // on average, convert 3 WATR to SLTW before SALT turns into SLTW + if (rand()%3==0) + part_change_type(r>>8,x+rx,y+ry,PT_SLTW); } if (((r&0xFF)==PT_RBDM||(r&0xFF)==PT_LRBD) && (legacy_enable||parts[i].temp>(273.15f+12.0f)) && 1>(rand()%500)) { @@ -42,6 +44,10 @@ int update_WATR(UPDATE_FUNC_ARGS) { return 1; } } + if ((r&0xFF)==PT_SLTW && 1>(rand()%10000)) + { + part_change_type(i,x,y,PT_SLTW); + } /*if ((r&0xFF)==PT_CNCT && 1>(rand()%500)) Concrete+Water to paste, not very popular { part_change_type(i,x,y,PT_PSTE); diff --git a/src/powder.c b/src/powder.c index 8170ab26f..b3587cc1a 100644 --- a/src/powder.c +++ b/src/powder.c @@ -2197,7 +2197,7 @@ void update_particles_i(pixel *vid, int start, int inc) { pt = (c_heat - platent[t])/c_Cm; - if (1>rand()%6) t = PT_SALT; + if (rand()%4==0) t = PT_SALT; else t = PT_WTRV; } else @@ -2206,7 +2206,7 @@ void update_particles_i(pixel *vid, int start, int inc) s = 0; } #else - if (1>rand()%6) t = PT_SALT; + if (rand()%4==0) t = PT_SALT; else t = PT_WTRV; #endif }