Merge branch 'master' into master

This commit is contained in:
Ben Lankamp
2020-07-02 09:15:30 +02:00
committed by GitHub
5 changed files with 7864 additions and 4198 deletions
+29
View File
@@ -32,6 +32,7 @@
* Functions: *
* fixed::As_ASCII -- Returns a pointer (static) of this number as an ASCII string. *
* fixed::To_ASCII -- Convert a fixed point number into an ASCII string. *
* fixed::To_Float -- Convert a fixed point number into a float value *
* fixed::fixed -- Constructor for fixed integral from ASCII initializer. *
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@@ -40,6 +41,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <math.h>
/*
@@ -148,6 +150,33 @@ fixed::fixed(char const * ascii)
}
/***********************************************************************************************
* fixed::To_Float -- Convert a fixed point number into a float *
* *
* Use this routine to convert this fixed point number into a float. This can be lossy for *
* fine values. *
* *
* INPUT: none *
* *
* OUTPUT: Returns with the float value of this fixed point number *
* *
* WARNINGS: none *
* *
* HISTORY: *
* 06/27/2020 JJ : Created. *
*=============================================================================================*/
float fixed::To_Float() const
{
unsigned int whole = Data.Composite.Whole;
unsigned int frac = ((unsigned int)Data.Composite.Fraction * 1000U) / PRECISION;
float this_raw_value = (whole + (frac * .001));
return floor(this_raw_value * 100.0 + 0.5) / 100.0;
}
/***********************************************************************************************
* fixed::To_ASCII -- Convert a fixed point number into an ASCII string. *
* *
+5
View File
@@ -206,6 +206,11 @@ class fixed
int To_ASCII(char * buffer, int maxlen=-1) const;
char const * As_ASCII(void) const;
/*
** Helper function to convert fixed point number to float (JJ)
*/
float To_Float() const;
/*
** Helper constants that provide some convenient fixed point values.
*/
File diff suppressed because it is too large Load Diff
+117 -1
View File
@@ -1,4 +1,4 @@
// MapScript.h
// mapscript.h
//
#ifndef MAPSCRIPT_H
@@ -15,11 +15,22 @@ extern "C" {
// Object Cache Item
// Stores an id lookup table
struct MapScriptObject {
int UID; // The UID of the object (to prevent ID collisions)
int ID=-1; // The object's "Global ID"
int classIndex=-1; // The object's "Global ID"
RTTIType RTTI; // The type of object
};
// Stores defaults of object attributes whenever they are changed for the first time (for later restoration)
struct MapScriptDefaultObjectAttribute {
RTTIType RTTI; // The type of object
int ID=-1; // The index of the object in its heap
int attribute;
int value;
};
//
// MapScript Class
@@ -27,6 +38,7 @@ struct MapScriptObject {
class MapScript {
public:
int cUID = 0;
~MapScript() { Deinit(); };
@@ -34,15 +46,114 @@ public:
bool Init(const char* mapName);
void Deinit();
MapScriptObject* CreateCacheObject();
void CallFunction(const char* functionName);
void SetLuaPath(const char* input_path);
std::vector<MapScriptObject*> ObjectCache;
std::vector<MapScriptDefaultObjectAttribute*> DefaultObjectTypeAttributeCache;
private:
lua_State* L;
};
// Enums
typedef enum MapScriptObjectAttributeType : char {
// Techno types
ATTRIBUTE_TYPE=0,
ATTRIBUTE_STRENGTH,
ATTRIBUTE_MAX_STRENGTH,
ATTRIBUTE_COST,
ATTRIBUTE_SIGHT_RANGE,
ATTRIBUTE_TECH_LEVEL,
ATTRIBUTE_ARMOR,
ATTRIBUTE_PRIMARY_WEAPON,
ATTRIBUTE_SECONDARY_WEAPON,
ATTRIBUTE_SPEED,
ATTRIBUTE_MAX_SPEED,
ATTRIBUTE_MAX_AMMO,
ATTRIBUTE_ROTATION_SPEED,
ATTRIBUTE_CRUSHABLE,
ATTRIBUTE_STEALTHY,
ATTRIBUTE_SELECTABLE,
ATTRIBUTE_LEGAL_TARGET,
ATTRIBUTE_REPAIRABLE,
ATTRIBUTE_SELF_HEALING,
ATTRIBUTE_EXPLODES,
ATTRIBUTE_HAS_CREW,
ATTRIBUTE_MAX_PASSENGERS,
ATTRIBUTE_IS_REPAIRING,
// Building Specific
ATTRIBUTE_CAPACITY,
ATTRIBUTE_POWER,
ATTRIBUTE_SELLABLE,
// Unit Specific
ATTRIBUTE_CRATE_GOODIE,
ATTRIBUTE_CRUSHER,
ATTRIBUTE_HARVEST,
ATTRIBUTE_RADAR_EQUIPPED,
ATTRIBUTE_JAMMER,
ATTRIBUTE_GAPPER,
// Infantry Specific
ATTRIBUTE_FEMALE,
ATTRIBUTE_CAPTURE,
ATTRIBUTE_FRAIDY_CAT,
ATTRIBUTE_CIVILIAN,
ATTRIBUTE_BOMBER,
ATTRIBUTE_DOG
} MapScriptObjectAttributeType;
// Enums
typedef enum MapScriptHouseAttributeType : char {
// Techno types
HOUSE_ATTRIBUTE_IQ = 0,
HOUSE_ATTRIBUTE_TECH_LEVEL,
HOUSE_ATTRIBUTE_IS_HUMAN,
HOUSE_ATTRIBUTE_FIREPOWER_BIAS,
HOUSE_ATTRIBUTE_GROUNDSPEED_BIAS,
HOUSE_ATTRIBUTE_ARMOR_BIAS,
HOUSE_ATTRIBUTE_ROF_BIAS,
HOUSE_ATTRIBUTE_COST_BIAS,
HOUSE_ATTRIBUTE_REPAIR_DELAY,
HOUSE_ATTRIBUTE_BUILD_DELAY,
HOUSE_ATTRIBUTE_STARTED,
HOUSE_ATTRIBUTE_ALERTED,
HOUSE_ATTRIBUTE_BASE_BUILDING,
HOUSE_ATTRIBUTE_DISCOVERED,
HOUSE_ATTRIBUTE_CAPACITY,
HOUSE_ATTRIBUTE_TIBERIUM,
HOUSE_ATTRIBUTE_CREDITS,
HOUSE_ATTRIBUTE_ALERT_TIMER,
HOUSE_ATTRIBUTE_REPAIR_TIMER,
HOUSE_ATTRIBUTE_POINTS,
HOUSE_ATTRIBUTE_DESTROYED_BUILDINGS,
HOUSE_ATTRIBUTE_DESTROYED_VEHICLES,
HOUSE_ATTRIBUTE_DESTROYED_INFANTRY,
HOUSE_ATTRIBUTE_DESTROYED_AIRCRAFT,
HOUSE_ATTRIBUTE_DESTROYED_VESSELS,
HOUSE_ATTRIBUTE_CAPTURED_BUILDINGS,
HOUSE_ATTRIBUTE_CRATES,
HOUSE_ATTRIBUTE_BUILDING_FACTORIES,
HOUSE_ATTRIBUTE_UNIT_FACTORIES,
HOUSE_ATTRIBUTE_INFANTRY_FACTORIES,
HOUSE_ATTRIBUTE_AIRCRAFT_FACTORIES,
HOUSE_ATTRIBUTE_VESSEL_FACTORIES,
HOUSE_ATTRIBUTE_POWER,
HOUSE_ATTRIBUTE_DRAIN,
HOUSE_ATTRIBUTE_LAST_ATTACKER
} MapScriptHouseAttributeType;
// Non-Class-Functions
bool Script_SetObjectTrigger(int input_object_id, TriggerClass* input_trigger);
ObjectClass* Script_GetCacheObject(int input_object_id);
@@ -53,4 +164,9 @@ int Script_AircraftIndexFromID(int input_object_id);
int Script_InfantryIndexFromID(int input_object_id);
int Script_VesselIndexFromID(int input_object_id);
static int Script_SetObjectTypeAttribute(lua_State* L, TechnoTypeClass* this_type_class, MapScriptObjectAttributeType attribute_type);
static int Script_GetObjectTypeAttribute(lua_State* L, TechnoTypeClass* this_type_class, MapScriptObjectAttributeType attribute_type);
void Script_CacheDefaultObjectTypeAttribute(RTTIType input_rtti, int input_id, MapScriptObjectAttributeType input_attribute, int input_value);
#endif
+330 -133
View File
@@ -4,6 +4,33 @@
-- * *
-- *=======================================================*
-- *********************************************************
-- * *
-- * Houses (players) *
-- * *
-- *********************************************************
Houses={
SPAIN=0, -- YELLOW/GOLD
GREECE=1, -- BLUE-GREY
USSR=2, -- RED
ENGLAND=3, -- GREEN
UKRAINE=4, -- ORANGE
GERMANY=5, -- KHAKI/LIGHT BROWN
FRANCE=6, -- AQUA
TURKEY=7, -- RED-OCHRE
GOODGUY=8, -- BLUE-GREY
BADGUY=9, -- RED
NEUTRAL=10, -- YELLOW/GOLD
SPECIAL=11, -- YELLOW/GOLD
MULTI1=12, -- YELLOW/GOLD
MULTI2=13, -- BLUE-GREY
MULTI3=14, -- RED
MULTI4=15, -- GREEN
MULTI5=16, -- ORANGE
MULTI6=17, -- KHAKI/LIGHT BROWN
MULTI7=18, -- AQUA
MULTI8=19 -- RED-OCHRE
}
-- *********************************************************
-- * *
@@ -11,51 +38,53 @@
-- * *
-- *********************************************************
BUILDING_ATEK=0 -- Allied Technology Centre
BUILDING_IRON=1 -- Iron Curtain
BUILDING_WEAP=2 -- Weapons Factory
BUILDING_PDOX=3 -- Chronosphere
BUILDING_PBOX=4 -- Pillbox
BUILDING_HBOX=5 -- Camouflaged Pillbox
BUILDING_DOME=6 -- Radar Dome
BUILDING_GAP =7 -- Gap Generator
BUILDING_GUN =8 -- Gun Turret
BUILDING_AGUN=9 -- Anti-Aircraft Gun
BUILDING_FTUR=10 -- Flame Turret
BUILDING_FACT=11 -- Construction Yard
BUILDING_PROC=12 -- Ore Refinery
BUILDING_SILO=13 -- Ore Silo
BUILDING_HPAD=14 -- Helicopter Pad
BUILDING_SAM =15 -- SAM Site
BUILDING_AFLD=16 -- Airfield
BUILDING_POWR=17 -- Power Plant
BUILDING_APWR=18 -- Advanced Power Plant
BUILDING_STEK=19 -- Soviet Technology Centre
BUILDING_HOSP=20 -- Hospital
BUILDING_BARR=21 -- Barracks (Allied)
BUILDING_TENT=22 -- Barracks (Soviet)
BUILDING_KENN=23 -- Dog Kennel
BUILDING_FIX =24 -- Service Depot
BUILDING_BIO =25 -- Bio-Research Laboratory
BUILDING_MISS=26 -- Technology Centre/Prison
BUILDING_SYRD=27 -- Ship Yard
BUILDING_SPEN=28 -- Sub Pen
BUILDING_MSLO=29 -- Missile Silo
BUILDING_FCOM=30 -- Forward Command Post
BUILDING_TSLA=31 -- Tesla Coil
BUILDING_WEAF=32 -- Fake Weapons Factory
BUILDING_FACF=33 -- Fake Construction Yard
BUILDING_SYRF=34 -- Fake Ship Yard
BUILDING_SPEF=35 -- Fake Sub Pen
BUILDING_DOMF=36 -- Fake Radar Dome
BUILDING_MINV=43 -- Anti-vehicle mine
BUILDING_MINP=44 -- Anti-personnel mine
BuildingTypes={
ATEK=0, -- Allied Technology Centre
IRON=1, -- Iron Curtain
WEAP=2, -- Weapons Factory
PDOX=3, -- Chronosphere
PBOX=4, -- Pillbox
HBOX=5, -- Camouflaged Pillbox
DOME=6, -- Radar Dome
GAP =7, -- Gap Generator
GUN =8, -- Gun Turret
AGUN=9, -- Anti-Aircraft Gun
FTUR=10, -- Flame Turret
FACT=11, -- Construction Yard
PROC=12, -- Ore Refinery
SILO=13, -- Ore Silo
HPAD=14, -- Helicopter Pad
SAM =15, -- SAM Site
AFLD=16, -- Airfield
POWR=17, -- Power Plant
APWR=18, -- Advanced Power Plant
STEK=19, -- Soviet Technology Centre
HOSP=20, -- Hospital
BARR=21, -- Barracks (Allied)
TENT=22, -- Barracks (Soviet)
KENN=23, -- Dog Kennel
FIX =24, -- Service Depot
BIO =25, -- Bio-Research Laboratory
MISS=26, -- Technology Centre/Prison
SYRD=27, -- Ship Yard
SPEN=28, -- Sub Pen
MSLO=29, -- Missile Silo
FCOM=30, -- Forward Command Post
TSLA=31, -- Tesla Coil
WEAF=32, -- Fake Weapons Factory
FACF=33, -- Fake Construction Yard
SYRF=34, -- Fake Ship Yard
SPEF=35, -- Fake Sub Pen
DOMF=36, -- Fake Radar Dome
MINV=43, -- Anti-vehicle mine
MINP=44, -- Anti-personnel mine
-- Counterstrike
BUILDING_QUEE=84 -- Queen ant structure
BUILDING_LAR1=85 -- Ant - single ant larva
BUILDING_LAR2=86 -- Ant - two ant larvae
QUEE=84, -- Queen ant structure
LAR1=85, -- Ant - single ant larva
LAR2=86 -- Ant - two ant larvae
}
-- *********************************************************
-- * *
@@ -63,30 +92,32 @@
-- * *
-- *********************************************************
INFANTRY_E1=0 -- Rifle Infantry
INFANTRY_E2=1 -- Grenadier
INFANTRY_E3=2 -- Rocket Soldier
INFANTRY_E4=3 -- Flamethrower
INFANTRY_E6=4 -- Engineer
INFANTRY_E7=5 -- Tanya
INFANTRY_SPY=6 -- Spy
INFANTRY_THF=7 -- Thief
INFANTRY_MEDI=8 -- Field Medic
INFANTRY_GNRL=9 -- General
INFANTRY_DOG=10 -- Attack Dog
INFANTRY_C1=11 -- Joe
INFANTRY_C2=12 -- Barry
INFANTRY_C3=13 -- Shelly
INFANTRY_C4=14 -- Maria
INFANTRY_C5=15 -- Karen
INFANTRY_C6=16 -- Steve
INFANTRY_C7=17 -- Phil
INFANTRY_C8=18 -- Dwight
INFANTRY_C9=19 -- Erik
INFANTRY_C10=20 -- Scientist
INFANTRY_EINSTEIN=21 -- Prof. Einstein
INFANTRY_DELPHI=22 -- Special 1
INFANTRY_CHAN=23 -- Special 2
InfantryTypes={
E1=0, -- Rifle Infantry
E2=1, -- Grenadier
E3=2, -- Rocket Soldier
E4=3, -- Flamethrower
E6=4, -- Engineer
E7=5, -- Tanya
SPY=6, -- Spy
THF=7, -- Thief
MEDI=8, -- Field Medic
GNRL=9, -- General
DOG=10, -- Attack Dog
C1=11, -- Joe
C2=12, -- Barry
C3=13, -- Shelly
C4=14, -- Maria
C5=15, -- Karen
C6=16, -- Steve
C7=17, -- Phil
C8=18, -- Dwight
C9=19, -- Erik
C10=20, -- Scientist
EINSTEIN=21, -- Prof. Einstein
DELPHI=22, -- Special 1
CHAN=23 -- Special 2
}
-- *********************************************************
-- * *
@@ -94,25 +125,27 @@
-- * *
-- *********************************************************
VEHICLE_4TNK=0 -- Mammoth Tank
VEHICLE_3TNK=1 -- Heavy Tank
VEHICLE_2TNK=2 -- Medium Tank
VEHICLE_1TNK=3 -- Light Tank
VEHICLE_APC=4 -- Armoured Personnel Carrier
VEHICLE_MNLY=5 -- Mine Layer
VEHICLE_JEEP=6 -- Ranger
VEHICLE_HARV=7 -- Ore Truck
VEHICLE_ARTY=8 -- Artillery
VEHICLE_MRJ=9 -- Mobile Radar Jammer
VEHICLE_MGG=10 -- Mobile Gap Generator
VEHICLE_MCV=11 -- Mobile Construction Vehicle
VEHICLE_2VRL=12 -- V2 Rocket Launcher
VEHICLE_TRUK=13 -- Convoy Truck
VehicleTypes={
_4TNK=0, -- Mammoth Tank
_3TNK=1, -- Heavy Tank
_2TNK=2, -- Medium Tank
_1TNK=3, -- Light Tank
APC=4, -- Armoured Personnel Carrier
MNLY=5, -- Mine Layer
JEEP=6, -- Ranger
HARV=7, -- Ore Truck
ARTY=8, -- Artillery
MRJ=9, -- Mobile Radar Jammer
MGG=10, -- Mobile Gap Generator
MCV=11, -- Mobile Construction Vehicle
_2VRL=12, -- V2 Rocket Launcher
TRUK=13, -- Convoy Truck
-- Counterstrike only:
VEHICLE_ANT1=14 -- First ant type
VEHICLE_ANT2=15 -- Second ant type
VEHICLE_ANT3=16 -- Third ant type
ANT1=14, -- First ant type
ANT2=15, -- Second ant type
ANT3=16 -- Third ant type
}
-- *********************************************************
-- * *
@@ -120,77 +153,241 @@
-- * *
-- *********************************************************
AIRCRAFT_TRAN=0 -- Chinook Helicopter
AIRCRAFT_BADR=1 -- Badger Bomber
AIRCRAFT_U2=2 -- Spy Plane
AIRCRAFT_MIG=3 -- MIG Attack Plane
AIRCRAFT_YAK=4 -- Yak Attack Plane
AIRCRAFT_HELI=5 -- Longbow Helicopter
AIRCRAFT_HIND=6 -- Hind Helicopter
AircraftTypes={
TRAN=0, -- Chinook Helicopter
BADR=1, -- Badger Bomber
U2=2, -- Spy Plane
MIG=3, -- MIG Attack Plane
YAK=4, -- Yak Attack Plane
HELI=5, -- Longbow Helicopter
HIND=6 -- Hind Helicopter
}
-- *********************************************************
-- * *
-- * Houses (players) *
-- * Vessels *
-- * *
-- *********************************************************
HOUSE_SPAIN= 0 -- YELLOW/GOLD
HOUSE_GREECE=1 -- BLUE-GREY
HOUSE_USSR=2 -- RED
HOUSE_ENGLAND=3 -- GREEN
HOUSE_UKRAINE=4 -- ORANGE
HOUSE_GERMANY=5 -- KHAKI/LIGHT BROWN
HOUSE_FRANCE=6 -- AQUA
HOUSE_TURKEY=7 -- RED-OCHRE
HOUSE_GOODGUY=8 -- BLUE-GREY
HOUSE_BADGUY=9 -- RED
HOUSE_NEUTRAL=10 -- YELLOW/GOLD
HOUSE_SPECIAL=11 -- YELLOW/GOLD
HOUSE_MULTI1=12 -- YELLOW/GOLD
HOUSE_MULTI2=13 -- BLUE-GREY
HOUSE_MULTI3=14 -- RED
HOUSE_MULTI4=15 -- GREEN
HOUSE_MULTI5=16 -- ORANGE
HOUSE_MULTI6=17 -- KHAKI/LIGHT BROWN
HOUSE_MULTI7=18 -- AQUA
HOUSE_MULTI8=19 -- RED-OCHRE
VesselTypes={
SS=0, -- Submarine
DD=1, -- Destroyer
CA=2, -- Cruiser
LST=3, -- Land Sea Tank (transport)
PT=4 -- Gun Boat
}
-- *********************************************************
-- * *
-- * Armor Types *
-- * *
-- *********************************************************
ArmorTypes={
NONE=0,
WOOD=1,
ALUMINUM=2,
STEEL=3,
CONCRETE=4
}
-- *********************************************************
-- * *
-- * Weapon Types *
-- * *
-- *********************************************************
WeaponTypes={
NONE=-1,
COLT45=0,
ACK_ACK=1,
VULCAN=2,
MAVERICK=3,
CAMERA=4,
FIREBALL=5,
RIFLE=6,
CHAIN_GUN=7,
PISTOL=8,
M16=9,
DRAGON=10,
HELLFIRE=11,
GRENADE=12,
_75MM=13,
_90MM=14,
_105MM=15,
_120MM=16,
TURRET_GUN=17,
MAMMOTH_TUSK=18,
_155MM=19,
M60MG=20,
NAPALM=21,
TESLA_ZAP=22,
NIKE=23,
_8INCH=24,
STINGER=25,
TORPEDO=26,
_2INCH=27,
DEPTH_CHARGE=28,
PARA_BOMB=29,
DOGJAW=30,
HEAL=31,
SCUD=32,
FLAMER=33,
REDEYE=34
}
-- *********************************************************
-- * *
-- * Special weapons *
-- * *
-- *********************************************************
SPECIAL_WEAPON_SONAR=0
SPECIAL_WEAPON_NUKE=1
SPECIAL_WEAPON_CHRONO=2
SPECIAL_WEAPON_PARABOMB=3
SPECIAL_WEAPON_PARATROOPS=4
SPECIAL_WEAPON_SPY_PLANE=5
SPECIAL_WEAPON_IRON_CURTAIN=6
SPECIAL_WEAPON_GPS=7
SpecialWeapons={
Sonar=0,
Nuke=1,
Chrono=2,
Parabomb=3,
Paratroops=4,
SpyPlane=5,
IronCurtain=6,
GPS=7
}
-- *********************************************************
-- * *
-- * Target types (for use with DesignatePreferredTarget) *
-- * *
-- *********************************************************
TARGET_TYPE_ANYTHING=1
TARGET_TYPE_BUILDINGS=2
TARGET_TYPE_HARVESTERS=3
TARGET_TYPE_INFANTRY=4
TARGET_TYPE_VEHICLES=5
TARGET_TYPE_SHIPS=6
TARGET_TYPE_FACTORIES=7
TARGET_TYPE_BASE_DEFENCES=8
TARGET_TYPE_BASE_THREATS=9
TARGET_TYPE_POWER=10
TARGET_TYPE_FAKE_BUILDINGS=11
TargetTypes={
Anything=1,
Buildings=2,
Harvesters=3,
Infantry=4,
Vehicles=5,
Ships=6,
Factories=7,
BaseDefences=8,
BaseThreats=9,
Power=10,
FakeBuildings=11
}
-- *********************************************************
-- * *
-- * Trigger persistance *
-- * *
-- *********************************************************
TRIGGER_VOLATILE=0
TRIGGER_SEMI_PERSISTENT=1
TRIGGER_PERSISTENT=2
PersistenceTypes={
Volatile=0,
SemiPersistent=1,
Persistent=2
}
-- *********************************************************
-- * *
-- * Obejct Attributes *
-- * *
-- *********************************************************
ObjectAttributes = {
Type=0,
Strength=1, -- Object attribute
MaxStrength=2, -- Definition attribute
Cost=3, -- Definition attribute
SightRange=4, -- Definition attribute
TechLevel=5, -- Definition attribute
Armor=6,
PrimaryWeapon=7,
SecondaryWeapon=8,
Speed=9,
MaxSpeed=10,
MaxAmmo=11,
RotationSpeed=12,
IsCrushable=13,
IsStealthy=14,
IsSelectable=15,
IsLegalTarget=16,
IsRepairable=17,
IsSelfHealing=18,
Explodes=19,
HasCrew=20,
MaxPassengers=21,
IsRepairing=22,
-- Building Specific
Capacity=23,
Power=24,
Sellable=25,
-- Unit Specific
IsCrateGoodie=26,
IsCrusher=27,
IsHarvest=28,
IsRadarEquipped=29,
IsJammer=30,
IsGapper=31,
-- Infantry Specific
IsFemale=32,
Capture=33,
IsFraidyCat=34,
IsCivilian=35,
IsBomber=36,
IsDog=37
}
-- *********************************************************
-- * *
-- * House Attributes *
-- * *
-- *********************************************************
HouseAttributes = {
IQ = 0,
TechLevel =1,
IsHuman=2,
FirepowerBias=3,
GroundspeedBias=4,
ArmorBias=5,
ROFBias=6,
CostBias=7,
RepairDelay=8,
BuildDelay=9,
Started=10,
Alerted=11,
BaseBuilding=12,
Discovered=13,
Capacity=14,
Tiberium=15,
Credits=16,
AlertTimer=17,
RepairTimer=18,
Points=19,
DestroyedBuildings=20,
DestroyedVehicles=21,
DestroyedInfantry=22,
DestroyedAircraft=23,
DestroyedVessels=24,
CapturedBuildings=25,
Crates=26,
BuildingFactories=27,
VehicleFactories=28,
InfantryFactories=29,
AircraftFactories=30,
VesselFactories=31,
Power=32,
Drain=33,
LastAttacker=34
}
-- *********************************************************
-- * *
-- * Fear Type Attribute Values *
-- * *
-- *********************************************************
FearTypes={
None=0, -- No fear at all (default state).
Anxious=10, -- Something makes them scared.
Scared=100, -- Scared enough to take cover.
Panic=200, -- Run away! Run away!
Maximum=255 -- Scared to death.
}