diff options
Diffstat (limited to 'src/simulation/elements/WARP.cpp')
| -rw-r--r-- | src/simulation/elements/WARP.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/simulation/elements/WARP.cpp b/src/simulation/elements/WARP.cpp index 596c1d9..bc19aa0 100644 --- a/src/simulation/elements/WARP.cpp +++ b/src/simulation/elements/WARP.cpp @@ -50,6 +50,13 @@ Element_WARP::Element_WARP() int Element_WARP::update(UPDATE_FUNC_ARGS) { int trade, r, rx, ry; + if (parts[i].tmp2>2000) + { + parts[i].temp = 10000; + sim->pv[y/CELL][x/CELL] += (parts[i].tmp2/5000) * CFDS; + if (2>rand()%100) + sim->create_part(-3, x, y, PT_ELEC); + } for ( trade = 0; trade<5; trade ++) { rx = rand()%3-1; @@ -59,12 +66,14 @@ int Element_WARP::update(UPDATE_FUNC_ARGS) r = pmap[y+ry][x+rx]; if (!r) continue; - if ((r&0xFF)!=PT_WARP&&(r&0xFF)!=PT_STKM&&(r&0xFF)!=PT_STKM2&&(r&0xFF)!=PT_DMND&&(r&0xFF)!=PT_CLNE&&(r&0xFF)!=PT_BCLN&&(r&0xFF)!=PT_PCLN&&(10>=rand()%200)) + if ((r&0xFF)!=PT_WARP&&(r&0xFF)!=PT_STKM&&(r&0xFF)!=PT_STKM2&&(r&0xFF)!=PT_DMND&&(r&0xFF)!=PT_CLNE&&(r&0xFF)!=PT_BCLN&&(r&0xFF)!=PT_PCLN) { parts[i].x = parts[r>>8].x; parts[i].y = parts[r>>8].y; parts[r>>8].x = x; parts[r>>8].y = y; + parts[r>>8].vx = (rand()%4)-1.5; + parts[r>>8].vy = (rand()%4)-2; parts[i].life += 4; pmap[y][x] = r; pmap[y+ry][x+rx] = (i<<8)|parts[i].type; @@ -75,5 +84,12 @@ int Element_WARP::update(UPDATE_FUNC_ARGS) return 0; } +//#TPT-Directive ElementHeader Element_WARP static int graphics(GRAPHICS_FUNC_ARGS) +int Element_WARP::graphics(GRAPHICS_FUNC_ARGS) +{ + *cola = 0; + *pixel_mode &= ~PMODE; + return 0; +} -Element_WARP::~Element_WARP() {}
\ No newline at end of file +Element_WARP::~Element_WARP() {} |
