diff options
Diffstat (limited to 'src/simulation/elements/DEST.cpp')
| -rw-r--r-- | src/simulation/elements/DEST.cpp | 86 |
1 files changed, 44 insertions, 42 deletions
diff --git a/src/simulation/elements/DEST.cpp b/src/simulation/elements/DEST.cpp index 73bc5cd..6dcca59 100644 --- a/src/simulation/elements/DEST.cpp +++ b/src/simulation/elements/DEST.cpp @@ -2,48 +2,48 @@ //#TPT-Directive ElementClass Element_DEST PT_DEST 89 Element_DEST::Element_DEST() { - Identifier = "DEFAULT_PT_DEST"; - Name = "DEST"; - Colour = PIXPACK(0xFF3311); - MenuVisible = 1; - MenuSection = SC_EXPLOSIVE; - Enabled = 1; - - Advection = -0.05f; - AirDrag = 0.00f * CFDS; - AirLoss = 0.95f; - Loss = 0.95f; - Collision = -0.1f; - Gravity = 0.4f; - Diffusion = 0.00f; - HotAir = 0.000f * CFDS; - Falldown = 1; - - Flammable = 0; - Explosive = 0; - Meltable = 0; - Hardness = 0; - - Weight = 101; - - Temperature = R_TEMP+0.0f +273.15f; - HeatConduct = 150; - Description = "More destructive Bomb."; - - State = ST_SOLID; - Properties = TYPE_PART|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC; - - LowPressure = IPL; - LowPressureTransition = NT; - HighPressure = IPH; - HighPressureTransition = NT; - LowTemperature = ITL; - LowTemperatureTransition = NT; - HighTemperature = ITH; - HighTemperatureTransition = NT; - - Update = &Element_DEST::update; - Graphics = &Element_DEST::graphics; + Identifier = "DEFAULT_PT_DEST"; + Name = "DEST"; + Colour = PIXPACK(0xFF3311); + MenuVisible = 1; + MenuSection = SC_EXPLOSIVE; + Enabled = 1; + + Advection = -0.05f; + AirDrag = 0.00f * CFDS; + AirLoss = 0.95f; + Loss = 0.95f; + Collision = -0.1f; + Gravity = 0.4f; + Diffusion = 0.00f; + HotAir = 0.000f * CFDS; + Falldown = 1; + + Flammable = 0; + Explosive = 0; + Meltable = 0; + Hardness = 0; + + Weight = 101; + + Temperature = R_TEMP+0.0f +273.15f; + HeatConduct = 150; + Description = "More destructive Bomb."; + + State = ST_SOLID; + Properties = TYPE_PART|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC; + + LowPressure = IPL; + LowPressureTransition = NT; + HighPressure = IPH; + HighPressureTransition = NT; + LowTemperature = ITL; + LowTemperatureTransition = NT; + HighTemperature = ITH; + HighTemperatureTransition = NT; + + Update = &Element_DEST::update; + Graphics = &Element_DEST::graphics; } //#TPT-Directive ElementHeader Element_DEST static int update(UPDATE_FUNC_ARGS) @@ -52,6 +52,8 @@ int Element_DEST::update(UPDATE_FUNC_ARGS) int r,rx,ry,topv; rx=rand()%5-2; ry=rand()%5-2; + if (!BOUNDS_CHECK) + return 1; r = pmap[y+ry][x+rx]; if (!r || (r&0xFF)==PT_DEST || (r&0xFF)==PT_DMND || (r&0xFF)==PT_BCLN || (r&0xFF)==PT_CLNE || (r&0xFF)==PT_PCLN || (r&0xFF)==PT_PBCN) |
