make ContainBlast a property instead of DefCore entry

issue1247
Maikel de Vries 2015-01-14 20:30:55 +01:00
parent aa6b1384a7
commit 4ea0cb0ca6
42 changed files with 27 additions and 30 deletions

View File

@ -165,11 +165,6 @@
<col>Integer</col> <col>Integer</col>
<col>Floatation in liquids: 0 no floatation, otherwise floatation height above the object center.</col> <col>Floatation in liquids: 0 no floatation, otherwise floatation height above the object center.</col>
</row> </row>
<row>
<literal_col>ContainBlast</literal_col>
<col>Integer</col>
<col>0 or 1. Determines whether explosions in the object's contents affect other objects outside.</col>
</row>
<row> <row>
<literal_col>ColorByOwner</literal_col> <literal_col>ColorByOwner</literal_col>
<col>Integer</col> <col>Integer</col>

View File

@ -144,6 +144,11 @@ Stand = {
<literal_col>Placement</literal_col> <literal_col>Placement</literal_col>
<col>Integer</col> <col>Integer</col>
<col>Placement: 0 land surface, 1 in liquid, 2 in mid-air, 3 underground, 4 land surface and underground.</col> <col>Placement: 0 land surface, 1 in liquid, 2 in mid-air, 3 underground, 4 land surface and underground.</col>
</row>
<row>
<literal_col>ContainBlast</literal_col>
<col>bool</col>
<col>True or false. Determines whether explosions in the object's contents affect other objects outside.</col>
</row> </row>
<row> <row>
<literal_col>BlastIncinerate</literal_col> <literal_col>BlastIncinerate</literal_col>

View File

@ -32,7 +32,7 @@ global func DoBlueExplosion(int x, int y, int level, object inobj, int cause_plr
var container = inobj; var container = inobj;
while (container) while (container)
{ {
if (container->GetID()->GetDefContainBlast()) if (container.ContainBlast)
break; break;
else else
container = container->Contained(); container = container->Contained();
@ -54,7 +54,7 @@ global func DoBlueExplosion(int x, int y, int level, object inobj, int cause_plr
if (inobj != container) if (inobj != container)
BlastObjectsBlue(x + GetX(), y + GetY(), level, container, cause_plr, layer); BlastObjectsBlue(x + GetX(), y + GetY(), level, container, cause_plr, layer);
// Landschaft zerstören. Nach BlastObjects, damit neu freigesprengte Materialien nicht betroffen sind // Landschaft zerst<EFBFBD>ren. Nach BlastObjects, damit neu freigesprengte Materialien nicht betroffen sind
if (!container) if (!container)
BlastFree(x, y, level, cause_plr); BlastFree(x, y, level, cause_plr);

View File

@ -12,5 +12,4 @@ VertexFriction=50,50,100,100
Mass=4500 Mass=4500
Components=Metal=2;Wood=4; Components=Metal=2;Wood=4;
Exclusive=1 Exclusive=1
Construction=1 Construction=1
ContainBlast=1

View File

@ -167,4 +167,5 @@ func Definition(def) {
local Name = "$Name$"; local Name = "$Name$";
local Description = "$Description$"; local Description = "$Description$";
local Touchable = 2; local Touchable = 2;
local ContainBlast = true;
local BlastIncinerate = 100; local BlastIncinerate = 100;

View File

@ -13,5 +13,4 @@ Mass=1000
Components=Wood=1 Components=Wood=1
Exclusive=1 Exclusive=1
Construction=1 Construction=1
ContainBlast=1
IncompleteActivity=1 IncompleteActivity=1

View File

@ -111,6 +111,7 @@ func Definition(def) {
local Name = "$Name$"; local Name = "$Name$";
local Description = "$Description$"; local Description = "$Description$";
local ContainBlast = true;
local BlastIncinerate = 100; local BlastIncinerate = 100;
local HitPoints = 30; local HitPoints = 30;
local Plane = 120; local Plane = 120;

View File

@ -15,4 +15,3 @@ Construction=1
Value=6 Value=6
Mass=12 Mass=12
Float=1 Float=1
ContainBlast=1

View File

@ -72,4 +72,5 @@ func Hit()
local Name = "$Name$"; local Name = "$Name$";
local Collectible = false; local Collectible = false;
local ContainBlast = true;
local Touchable = 2; local Touchable = 2;

View File

@ -13,5 +13,4 @@ Mass=4500
Components=Wood=3;Metal=2;Loam=2 Components=Wood=3;Metal=2;Loam=2
Exclusive=1 Exclusive=1
Construction=1 Construction=1
ContainBlast=1
IncompleteActivity=1 IncompleteActivity=1

View File

@ -76,5 +76,6 @@ local ActMap = {
local Name = "$Name$"; local Name = "$Name$";
local Description ="$Description$"; local Description ="$Description$";
local ContainBlast = true;
local BlastIncinerate = 100; local BlastIncinerate = 100;
local HitPoints = 70; local HitPoints = 70;

View File

@ -13,5 +13,4 @@ Mass=4500
Components=Wood=3;Metal=2 Components=Wood=3;Metal=2
Exclusive=1 Exclusive=1
Construction=1 Construction=1
ContainBlast=1
IncompleteActivity=1 IncompleteActivity=1

View File

@ -80,5 +80,6 @@ local ActMap = {
local Name = "$Name$"; local Name = "$Name$";
local Description ="$Description$"; local Description ="$Description$";
local ContainBlast = true;
local BlastIncinerate = 100; local BlastIncinerate = 100;
local HitPoints = 70; local HitPoints = 70;

View File

@ -13,4 +13,3 @@ VertexFriction=50,50,100,100
Components=Wood=2; Components=Wood=2;
Construction=1 Construction=1
Mass=10 Mass=10
ContainBlast=1

View File

@ -80,4 +80,5 @@ protected func Definition(def)
} }
local Name = "$Name$"; local Name = "$Name$";
local ContainBlast = true;
local HitPoints = 50; local HitPoints = 50;

View File

@ -13,5 +13,4 @@ Mass=1500
Components=Wood=3;Metal=1 Components=Wood=3;Metal=1
Exclusive=1 Exclusive=1
Construction=1 Construction=1
ContainBlast=1
IncompleteActivity=1 IncompleteActivity=1

View File

@ -13,5 +13,4 @@ Mass=4500
Components=Rock=4;Wood=2; Components=Rock=4;Wood=2;
Exclusive=1 Exclusive=1
Construction=1 Construction=1
ContainBlast=1
IncompleteActivity=1 IncompleteActivity=1

View File

@ -136,5 +136,6 @@ func Definition(def) {
} }
local Name = "$Name$"; local Name = "$Name$";
local Description = "$Description$"; local Description = "$Description$";
local ContainBlast = true;
local BlastIncinerate = 100; local BlastIncinerate = 100;
local HitPoints = 100; local HitPoints = 100;

View File

@ -13,5 +13,4 @@ Mass=4500
Components=Wood=4;Metal=3 Components=Wood=4;Metal=3
Exclusive=1 Exclusive=1
Construction=1 Construction=1
ContainBlast=1
IncompleteActivity=1 IncompleteActivity=1

View File

@ -71,5 +71,6 @@ local ActMap = {
local Name = "$Name$"; local Name = "$Name$";
local Description ="$Description$"; local Description ="$Description$";
local ContainBlast = true;
local BlastIncinerate = 100; local BlastIncinerate = 100;
local HitPoints = 70; local HitPoints = 70;

View File

@ -13,5 +13,4 @@ Mass=4500
Components=Wood=3;Rock=2;Metal=1 Components=Wood=3;Rock=2;Metal=1
Exclusive=1 Exclusive=1
Construction=1 Construction=1
ContainBlast=1
IncompleteActivity=1 IncompleteActivity=1

View File

@ -81,5 +81,6 @@ local ActMap = {
local Name = "$Name$"; local Name = "$Name$";
local Description ="$Description$"; local Description ="$Description$";
local ContainBlast = true;
local BlastIncinerate = 100; local BlastIncinerate = 100;
local HitPoints = 70; local HitPoints = 70;

View File

@ -13,5 +13,4 @@ Mass=1000
Components=Wood=3;Metal=1;Rock=1 Components=Wood=3;Metal=1;Rock=1
Exclusive=1 Exclusive=1
Construction=1 Construction=1
ContainBlast=1
IncompleteActivity=1 IncompleteActivity=1

View File

@ -99,5 +99,6 @@ local ActMap = {
local Name = "$Name$"; local Name = "$Name$";
local Description ="$Description$"; local Description ="$Description$";
local ContainBlast = true;
local BlastIncinerate = 100; local BlastIncinerate = 100;
local HitPoints = 70; local HitPoints = 70;

View File

@ -13,5 +13,4 @@ Mass=1500
Components=Rock=4;Wood=1; Components=Rock=4;Wood=1;
Exclusive=1 Exclusive=1
Construction=1 Construction=1
ContainBlast=1
IncompleteActivity=1 IncompleteActivity=1

View File

@ -208,5 +208,6 @@ func Definition(def) {
local Name = "$Name$"; local Name = "$Name$";
local Description = "$Description$"; local Description = "$Description$";
local SpinStep = 30; local SpinStep = 30;
local ContainBlast = true;
local BlastIncinerate = 100; local BlastIncinerate = 100;
local HitPoints = 70; local HitPoints = 70;

View File

@ -13,5 +13,4 @@ Mass=4500
Components=Wood=4;Metal=3 Components=Wood=4;Metal=3
Exclusive=1 Exclusive=1
Construction=1 Construction=1
ContainBlast=1
IncompleteActivity=1 IncompleteActivity=1

View File

@ -101,5 +101,6 @@ local ActMap = {
local Name = "$Name$"; local Name = "$Name$";
local Description ="$Description$"; local Description ="$Description$";
local ContainBlast = true;
local BlastIncinerate = 100; local BlastIncinerate = 100;
local HitPoints = 70; local HitPoints = 70;

View File

@ -14,5 +14,4 @@ Components=Rock=6;Metal=3
Collection=-33,7,12,12 Collection=-33,7,12,12
Exclusive=1 Exclusive=1
Construction=1 Construction=1
ContainBlast=1
IncompleteActivity=1 IncompleteActivity=1

View File

@ -156,6 +156,7 @@ local ActMap = {
func Definition(def) { func Definition(def) {
SetProperty("MeshTransformation", Trans_Mul(Trans_Rotate(25,0,1,0), Trans_Scale(625)), def); SetProperty("MeshTransformation", Trans_Mul(Trans_Rotate(25,0,1,0), Trans_Scale(625)), def);
} }
local ContainBlast = true;
local BlastIncinerate = 130; local BlastIncinerate = 130;
local HitPoints = 100; local HitPoints = 100;
local Name = "$Name$"; local Name = "$Name$";

View File

@ -13,5 +13,4 @@ Mass=4500
Components=Wood=3;Metal=2 Components=Wood=3;Metal=2
Exclusive=1 Exclusive=1
Construction=1 Construction=1
ContainBlast=1
IncompleteActivity=1 IncompleteActivity=1

View File

@ -101,5 +101,6 @@ func Definition(def) {
} }
local Name = "$Name$"; local Name = "$Name$";
local Description ="$Description$"; local Description ="$Description$";
local ContainBlast = true;
local BlastIncinerate = 100; local BlastIncinerate = 100;
local HitPoints = 70; local HitPoints = 70;

View File

@ -13,5 +13,4 @@ Mass=2500
Components=Rock=6;Wood=2; Components=Rock=6;Wood=2;
Exclusive=1 Exclusive=1
Construction=1 Construction=1
ContainBlast=1
IncompleteActivity=1 IncompleteActivity=1

View File

@ -160,6 +160,7 @@ local ActMap = {
func Definition(def) { func Definition(def) {
SetProperty("PictureTransformation", Trans_Mul(Trans_Translate(2000,0,7000),Trans_Rotate(-20,1,0,0),Trans_Rotate(30,0,1,0)), def); SetProperty("PictureTransformation", Trans_Mul(Trans_Translate(2000,0,7000),Trans_Rotate(-20,1,0,0),Trans_Rotate(30,0,1,0)), def);
} }
local ContainBlast = true;
local BlastIncinerate = 100; local BlastIncinerate = 100;
local HitPoints = 70; local HitPoints = 70;
local Name = "$Name$"; local Name = "$Name$";

View File

@ -15,5 +15,4 @@ Entrance=-12,0,13,20
Exclusive=1 Exclusive=1
Construction=1 Construction=1
Rotate=1 Rotate=1
ContainBlast=1
RotatedEntrance=1 RotatedEntrance=1

View File

@ -67,6 +67,7 @@ func Definition(def) {
SetProperty("PictureTransformation", Trans_Mul(Trans_Translate(2000,0,7000),Trans_Rotate(-20,1,0,0),Trans_Rotate(30,0,1,0)), def); SetProperty("PictureTransformation", Trans_Mul(Trans_Translate(2000,0,7000),Trans_Rotate(-20,1,0,0),Trans_Rotate(30,0,1,0)), def);
SetProperty("MeshTransformation", Trans_Rotate(-8,0,1,0)); SetProperty("MeshTransformation", Trans_Rotate(-8,0,1,0));
} }
local ContainBlast = true;
local BlastIncinerate = 100; local BlastIncinerate = 100;
local HitPoints = 70; local HitPoints = 70;
local Name = "$Name$"; local Name = "$Name$";

View File

@ -153,7 +153,7 @@ global func DoExplosion(int x, int y, int level, object inobj, int cause_plr, ob
var container = inobj; var container = inobj;
while (container) while (container)
{ {
if (container->GetID()->GetDefContainBlast()) if (container.ContainBlast)
break; break;
else else
container = container->Contained(); container = container->Contained();

View File

@ -36,7 +36,6 @@ global func GetDefGrab() { return GetDefCoreVal("Grab", "DefCore"); }
global func GetDefGrabPutGet() { return GetDefCoreVal("GrabPutGet", "DefCore"); } global func GetDefGrabPutGet() { return GetDefCoreVal("GrabPutGet", "DefCore"); }
global func GetDefRotate() { return GetDefCoreVal("Rotate", "DefCore"); } global func GetDefRotate() { return GetDefCoreVal("Rotate", "DefCore"); }
global func GetDefFloat() { return GetDefCoreVal("Float", "DefCore"); } global func GetDefFloat() { return GetDefCoreVal("Float", "DefCore"); }
global func GetDefContainBlast(){ return GetDefCoreVal("ContainBlast", "DefCore"); }
global func GetDefHorizontalFix() { return GetDefCoreVal("HorizontalFix", "DefCore"); } global func GetDefHorizontalFix() { return GetDefCoreVal("HorizontalFix", "DefCore"); }
global func GetDefBorderBound() { return GetDefCoreVal("BorderBound", "DefCore"); } global func GetDefBorderBound() { return GetDefCoreVal("BorderBound", "DefCore"); }
global func GetDefLiftTop() { return GetDefCoreVal("LiftTop", "DefCore"); } global func GetDefLiftTop() { return GetDefCoreVal("LiftTop", "DefCore"); }

View File

@ -116,7 +116,6 @@ void C4Def::DefaultDefCore()
BorderBound=0; BorderBound=0;
LiftTop=0; LiftTop=0;
GrabPutGet=0; GrabPutGet=0;
ContainBlast=0;
UprightAttach=0; UprightAttach=0;
ContactFunctionCalls=0; ContactFunctionCalls=0;
Line=0; Line=0;
@ -254,7 +253,6 @@ void C4Def::CompileFunc(StdCompiler *pComp)
pComp->Value(mkNamingAdapt(Rotateable, "Rotate", 0 )); pComp->Value(mkNamingAdapt(Rotateable, "Rotate", 0 ));
pComp->Value(mkNamingAdapt(RotatedEntrance, "RotatedEntrance", 0 )); pComp->Value(mkNamingAdapt(RotatedEntrance, "RotatedEntrance", 0 ));
pComp->Value(mkNamingAdapt(Float, "Float", 0 )); pComp->Value(mkNamingAdapt(Float, "Float", 0 ));
pComp->Value(mkNamingAdapt(ContainBlast, "ContainBlast", 0 ));
pComp->Value(mkNamingAdapt(ColorByOwner, "ColorByOwner", 0 )); pComp->Value(mkNamingAdapt(ColorByOwner, "ColorByOwner", 0 ));
pComp->Value(mkNamingAdapt(NoHorizontalMove, "HorizontalFix", 0 )); pComp->Value(mkNamingAdapt(NoHorizontalMove, "HorizontalFix", 0 ));
pComp->Value(mkNamingAdapt(BorderBound, "BorderBound", 0 )); pComp->Value(mkNamingAdapt(BorderBound, "BorderBound", 0 ));

View File

@ -127,7 +127,6 @@ public:
int32_t BorderBound; int32_t BorderBound;
int32_t LiftTop; int32_t LiftTop;
int32_t GrabPutGet; int32_t GrabPutGet;
int32_t ContainBlast;
int32_t UprightAttach; int32_t UprightAttach;
int32_t ContactFunctionCalls; int32_t ContactFunctionCalls;
int32_t Line; int32_t Line;

View File

@ -145,6 +145,7 @@ C4StringTable::C4StringTable()
P[P_SolidMaskPlane] = "SolidMaskPlane"; P[P_SolidMaskPlane] = "SolidMaskPlane";
P[P_Tooltip] = "Tooltip"; P[P_Tooltip] = "Tooltip";
P[P_Placement] = "Placement"; P[P_Placement] = "Placement";
P[P_ContainBlast] = "ContainBlast";
P[P_BlastIncinerate] = "BlastIncinerate"; P[P_BlastIncinerate] = "BlastIncinerate";
P[P_ContactIncinerate] = "ContactIncinerate"; P[P_ContactIncinerate] = "ContactIncinerate";
P[P_Global] = "Global"; P[P_Global] = "Global";

View File

@ -351,6 +351,7 @@ enum C4PropertyName
P_SolidMaskPlane, P_SolidMaskPlane,
P_Tooltip, P_Tooltip,
P_Placement, P_Placement,
P_ContainBlast,
P_BlastIncinerate, P_BlastIncinerate,
P_ContactIncinerate, P_ContactIncinerate,
P_Global, P_Global,