summaryrefslogtreecommitdiff
path: root/src/simulation/elements/WARP.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/simulation/elements/WARP.cpp')
-rw-r--r--src/simulation/elements/WARP.cpp20
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() {}