Compare commits
2 Commits
master
...
registersp
Author | SHA1 | Date | |
---|---|---|---|
|
c0f5534fee | ||
|
d7a6b25a4b |
@ -59,6 +59,11 @@ public:
|
||||
|
||||
bool (*CtypeDraw) (CTYPEDRAW_FUNC_ARGS);
|
||||
|
||||
int LifeSpec = 0;
|
||||
int CtypeSpec = 0;
|
||||
int TmpSpec = 0;
|
||||
int Tmp2Spec = 0;
|
||||
|
||||
VideoBuffer * (*IconGenerator)(int, int, int);
|
||||
|
||||
Particle DefaultProperties;
|
||||
|
@ -10,6 +10,15 @@
|
||||
#define O_MAX_TEMP 3500
|
||||
#define O_MIN_TEMP -273
|
||||
|
||||
#define RSPEC_STORAGE_TYPE_NUMBER 0x0001 //Register stores an untyped number
|
||||
#define RSPEC_STORAGE_TYPE_ELEMENT 0x0002 //Register stores a number that refers to an element type
|
||||
#define RSPEC_STORAGE_TYPE_ELEMENT_PACKED 0x0004 //Register stores an element type packaged into the lower bits with ancilliary data in higher bits.
|
||||
#define RSPEC_STORAGE_TYPE 0x00FF
|
||||
#define RSPEC_BEHAVIOUR_DEC 0x0100 //The register value will be decremented to zero on every frame
|
||||
#define RSPEC_BEHAVIOUR_ZERO_KILL 0x0200 //A particle with a zero value will be killed
|
||||
#define RSPEC_BEHAVIOUR_DEC_ZERO_KILL 0x0400 //A particle will be killed when the value of this register is decremented to zero from RSPEC_BEHAVIOUR_DEC
|
||||
#define RSPEC_BEHAVIOUR 0xFF00
|
||||
|
||||
#define TYPE_PART 0x00001 //1 Powders
|
||||
#define TYPE_LIQUID 0x00002 //2 Liquids
|
||||
#define TYPE_SOLID 0x00004 //4 Solids
|
||||
|
@ -4713,6 +4713,28 @@ int Simulation::GetParticleType(ByteString type)
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool Simulation::ApplyIntegerRegisterBehaviour(int i, int ®, int registerSpec) {
|
||||
//unsigned int elem_properties = elements[t].Properties;
|
||||
if (reg>0 && (registerSpec&RSPEC_BEHAVIOUR_DEC))
|
||||
{
|
||||
// automatically decrease life
|
||||
reg--;
|
||||
if (reg<=0 && (registerSpec&(RSPEC_BEHAVIOUR_DEC_ZERO_KILL|RSPEC_BEHAVIOUR_ZERO_KILL)))
|
||||
{
|
||||
// kill on change to no life
|
||||
kill_part(i);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else if (reg<=0 && (registerSpec&RSPEC_BEHAVIOUR_ZERO_KILL))
|
||||
{
|
||||
// kill if no life
|
||||
kill_part(i);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void Simulation::RecalcFreeParticles(bool do_life_dec)
|
||||
{
|
||||
int x, y, t;
|
||||
@ -4764,23 +4786,15 @@ void Simulation::RecalcFreeParticles(bool do_life_dec)
|
||||
continue;
|
||||
}
|
||||
|
||||
unsigned int elem_properties = elements[t].Properties;
|
||||
if (parts[i].life>0 && (elem_properties&PROP_LIFE_DEC) && !(inBounds && bmap[y/CELL][x/CELL] == WL_STASIS && emap[y/CELL][x/CELL]<8))
|
||||
{
|
||||
// automatically decrease life
|
||||
parts[i].life--;
|
||||
if (parts[i].life<=0 && (elem_properties&(PROP_LIFE_KILL_DEC|PROP_LIFE_KILL)))
|
||||
{
|
||||
// kill on change to no life
|
||||
kill_part(i);
|
||||
if(!(inBounds && bmap[y/CELL][x/CELL] == WL_STASIS && emap[y/CELL][x/CELL]<8)) {
|
||||
if(ApplyIntegerRegisterBehaviour(i, parts[i].life, elements[t].LifeSpec))
|
||||
continue;
|
||||
if(ApplyIntegerRegisterBehaviour(i, parts[i].ctype, elements[t].CtypeSpec))
|
||||
continue;
|
||||
if(ApplyIntegerRegisterBehaviour(i, parts[i].tmp, elements[t].TmpSpec))
|
||||
continue;
|
||||
if(ApplyIntegerRegisterBehaviour(i, parts[i].tmp2, elements[t].Tmp2Spec))
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else if (parts[i].life<=0 && (elem_properties&PROP_LIFE_KILL) && !(inBounds && bmap[y/CELL][x/CELL] == WL_STASIS && emap[y/CELL][x/CELL]<8))
|
||||
{
|
||||
// kill if no life
|
||||
kill_part(i);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -161,6 +161,7 @@ public:
|
||||
void create_arc(int sx, int sy, int dx, int dy, int midpoints, int variance, int type, int flags);
|
||||
void UpdateParticles(int start, int end);
|
||||
void SimulateGoL();
|
||||
bool ApplyIntegerRegisterBehaviour(int i, int ®, int registerSpec);
|
||||
void RecalcFreeParticles(bool do_life_dec);
|
||||
void CheckStacking();
|
||||
void BeforeSim();
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_BCLN()
|
||||
|
||||
Properties = TYPE_SOLID | PROP_LIFE_DEC | PROP_LIFE_KILL_DEC | PROP_NOCTYPEDRAW;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_DEC_ZERO_KILL;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_BIZR()
|
||||
|
||||
Properties = TYPE_LIQUID;
|
||||
|
||||
CtypeSpec = RSPEC_STORAGE_TYPE_WAVELENGTH;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_BIZRG()
|
||||
|
||||
Properties = TYPE_GAS;
|
||||
|
||||
CtypeSpec = RSPEC_STORAGE_TYPE_WAVELENGTH;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_BIZRS()
|
||||
|
||||
Properties = TYPE_SOLID;
|
||||
|
||||
CtypeSpec = RSPEC_STORAGE_TYPE_WAVELENGTH;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_BMTL()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC|PROP_HOT_GLOW;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = 1.0f;
|
||||
|
@ -33,6 +33,9 @@ void Element::Element_BRAY()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC|PROP_LIFE_KILL;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_ZERO_KILL;
|
||||
CtypeSpec = RSPEC_STORAGE_TYPE_WAVELENGTH;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_BREC()
|
||||
|
||||
Properties = TYPE_PART|PROP_CONDUCTS|PROP_LIFE_DEC|PROP_HOT_GLOW;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_BRMT()
|
||||
|
||||
Properties = TYPE_PART|PROP_CONDUCTS|PROP_LIFE_DEC|PROP_HOT_GLOW;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_BVBR()
|
||||
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_C5()
|
||||
|
||||
Properties = TYPE_SOLID | PROP_NEUTPENETRATE | PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,9 @@ void Element::Element_CBNW()
|
||||
|
||||
Properties = TYPE_LIQUID|PROP_CONDUCTS|PROP_LIFE_DEC|PROP_NEUTPENETRATE;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -36,6 +36,8 @@ void Element::Element_CFLM()
|
||||
|
||||
Properties = TYPE_GAS|PROP_LIFE_DEC|PROP_LIFE_KILL;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_ZERO_KILL;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_CRAY()
|
||||
Description = "Particle Ray Emitter. Creates a beam of particles set by its ctype, with a range set by tmp.";
|
||||
|
||||
Properties = TYPE_SOLID;
|
||||
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_DEST()
|
||||
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_DEC_ZERO_KILL;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -32,6 +32,8 @@ void Element::Element_DRAY()
|
||||
Description = "Duplicator ray. Replicates a line of particles in front of it.";
|
||||
|
||||
Properties = TYPE_SOLID;
|
||||
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_DTEC()
|
||||
|
||||
Properties = TYPE_SOLID;
|
||||
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -36,6 +36,8 @@ void Element::Element_ELEC()
|
||||
|
||||
Properties = TYPE_ENERGY|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_DEC_ZERO_KILL;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_EMBR()
|
||||
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC|PROP_LIFE_KILL|PROP_SPARKSETTLE;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_ZERO_KILL;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_EMP()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_ETRD()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_EXOT()
|
||||
Description = "Exotic matter. Explodes with excess exposure to electrons. Has many other odd reactions.";
|
||||
|
||||
Properties = TYPE_LIQUID|PROP_NEUTPASS;
|
||||
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
|
@ -36,6 +36,9 @@ void Element::Element_FILT()
|
||||
|
||||
Properties = TYPE_SOLID | PROP_NOAMBHEAT | PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
CtypeSpec = RSPEC_STORAGE_TYPE_WAVELENGTH;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -38,6 +38,8 @@ void Element::Element_FIRE()
|
||||
|
||||
Properties = TYPE_GAS|PROP_LIFE_DEC|PROP_LIFE_KILL;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_ZERO_KILL;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_FIRW()
|
||||
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_FOG()
|
||||
|
||||
Properties = TYPE_GAS|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_FRZW()
|
||||
|
||||
Properties = TYPE_LIQUID | PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_FWRK()
|
||||
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_GBMB()
|
||||
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_DEC_ZERO_KILL;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_GEL()
|
||||
|
||||
Properties = TYPE_LIQUID|PROP_LIFE_DEC|PROP_NEUTPENETRATE;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_GLOW()
|
||||
|
||||
Properties = TYPE_LIQUID | PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -36,6 +36,8 @@ void Element::Element_GOLD()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_HOT_GLOW|PROP_LIFE_DEC|PROP_NEUTPASS;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_GOO()
|
||||
|
||||
Properties = TYPE_SOLID | PROP_NEUTPENETRATE|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_DEC_ZERO_KILL;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_GRAV()
|
||||
|
||||
Properties = TYPE_PART | PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_GRVT()
|
||||
|
||||
Properties = TYPE_ENERGY|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_DEC_ZERO_KILL;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_ICEI()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC|PROP_NEUTPASS;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = 0.8f;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_IGNT()
|
||||
|
||||
Properties = TYPE_SOLID | PROP_NEUTPENETRATE | PROP_SPARKSETTLE | PROP_LIFE_KILL;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_ZERO_KILL;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -31,6 +31,8 @@ void Element::Element_INST()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -31,6 +31,8 @@ void Element::Element_INWR()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_IRON()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC|PROP_HOT_GLOW;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -37,6 +37,8 @@ void Element::Element_LAVA()
|
||||
|
||||
Properties = TYPE_LIQUID|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_LCRY()
|
||||
Description = "Liquid Crystal. Changes colour when charged. (PSCN Charges, NSCN Discharges)";
|
||||
|
||||
Properties = TYPE_SOLID;
|
||||
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_LDTC()
|
||||
|
||||
Properties = TYPE_SOLID | PROP_NOCTYPEDRAW;
|
||||
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_LIGH()
|
||||
Description = "Lightning. Change the brush size to set the size of the lightning.";
|
||||
|
||||
Properties = TYPE_SOLID;
|
||||
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_LITH()
|
||||
|
||||
Properties = TYPE_PART | PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -32,6 +32,8 @@ void Element::Element_LRBD()
|
||||
|
||||
Properties = TYPE_LIQUID|PROP_CONDUCTS|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_LSNS()
|
||||
|
||||
Properties = TYPE_SOLID;
|
||||
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_MERC()
|
||||
|
||||
Properties = TYPE_LIQUID|PROP_CONDUCTS|PROP_NEUTABSORB|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -31,6 +31,8 @@ void Element::Element_METL()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC|PROP_HOT_GLOW;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_NBLE()
|
||||
|
||||
Properties = TYPE_GAS|PROP_CONDUCTS|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -38,6 +38,8 @@ void Element::Element_NEUT()
|
||||
|
||||
Properties = TYPE_ENERGY|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_DEC_ZERO_KILL;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -31,6 +31,8 @@ void Element::Element_NSCN()
|
||||
Description = "N-Type Silicon, Will not transfer current to P-Type Silicon.";
|
||||
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_NTCT()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -37,6 +37,9 @@ void Element::Element_PHOT()
|
||||
|
||||
Properties = TYPE_ENERGY|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_DEC_ZERO_KILL;
|
||||
CtypeSpec = RSPEC_STORAGE_TYPE_WAVELENGTH;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -42,6 +42,8 @@ void Element::Element_PIPE()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = 10.0f;
|
||||
|
@ -36,6 +36,8 @@ void Element::Element_PLNT()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_NEUTPENETRATE|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -36,6 +36,8 @@ void Element::Element_PLSM()
|
||||
|
||||
Properties = TYPE_GAS|PROP_LIFE_DEC|PROP_LIFE_KILL;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_ZERO_KILL;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -36,6 +36,8 @@ void Element::Element_POLO()
|
||||
|
||||
Properties = TYPE_PART|PROP_NEUTPASS|PROP_RADIOACTIVE|PROP_LIFE_DEC|PROP_DEADLY;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_PPIP()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -32,6 +32,8 @@ void Element::Element_PSCN()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -40,6 +40,8 @@ void Element::Element_PSTN()
|
||||
|
||||
Properties = TYPE_SOLID;
|
||||
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_PTCT()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_PTNM()
|
||||
|
||||
Properties = TYPE_SOLID | PROP_CONDUCTS | PROP_LIFE_DEC | PROP_HOT_GLOW | PROP_SPARKSETTLE;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_QRTZ()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_HOT_GLOW|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -31,6 +31,8 @@ void Element::Element_RBDM()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_SHLD1()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = 7.0f;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_SHLD2()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = 15.0f;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_SHLD3()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = 25.0f;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_SHLD4()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = 40.0f;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_SING()
|
||||
|
||||
Properties = TYPE_PART|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_SLCN()
|
||||
|
||||
Properties = TYPE_PART | PROP_CONDUCTS | PROP_HOT_GLOW | PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_SLTW()
|
||||
|
||||
Properties = TYPE_LIQUID|PROP_CONDUCTS|PROP_LIFE_DEC|PROP_NEUTPENETRATE;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_SMKE()
|
||||
|
||||
Properties = TYPE_GAS|PROP_LIFE_DEC|PROP_LIFE_KILL_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_DEC_ZERO_KILL;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -36,6 +36,9 @@ void Element::Element_SOAP()
|
||||
|
||||
Properties = TYPE_LIQUID|PROP_NEUTPENETRATE|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -36,6 +36,8 @@ void Element::Element_SPRK()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_TESC()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC|PROP_HOT_GLOW;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -40,6 +40,9 @@ void Element::Element_TRON()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC|PROP_LIFE_KILL;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_ZERO_KILL;
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -33,6 +33,8 @@ void Element::Element_TSNS()
|
||||
|
||||
Properties = TYPE_SOLID;
|
||||
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_TTAN()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_HOT_GLOW|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,8 @@ void Element::Element_TUNG()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_CONDUCTS|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,9 @@ void Element::Element_VIBR()
|
||||
|
||||
Properties = TYPE_SOLID|PROP_LIFE_DEC;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_VIRS()
|
||||
Description = "Virus. Turns everything it touches into virus.";
|
||||
|
||||
Properties = TYPE_LIQUID|PROP_DEADLY;
|
||||
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_ELEMENT;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_VSNS()
|
||||
|
||||
Properties = TYPE_SOLID;
|
||||
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -35,6 +35,9 @@ void Element::Element_WARP()
|
||||
|
||||
Properties = TYPE_GAS|PROP_LIFE_DEC|PROP_LIFE_KILL;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC | RSPEC_BEHAVIOUR_ZERO_KILL;
|
||||
Tmp2Spec = RSPEC_STORAGE_TYPE_NUMBER;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
@ -34,6 +34,8 @@ void Element::Element_WATR()
|
||||
|
||||
Properties = TYPE_LIQUID|PROP_CONDUCTS|PROP_LIFE_DEC|PROP_NEUTPASS;
|
||||
|
||||
LifeSpec = RSPEC_STORAGE_TYPE_NUMBER | RSPEC_BEHAVIOUR_DEC;
|
||||
|
||||
LowPressure = IPL;
|
||||
LowPressureTransition = NT;
|
||||
HighPressure = IPH;
|
||||
|
Loading…
Reference in New Issue
Block a user