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: * * Functions: *
* fixed::As_ASCII -- Returns a pointer (static) of this number as an ASCII string. * * 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_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. * * fixed::fixed -- Constructor for fixed integral from ASCII initializer. *
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@@ -40,6 +41,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <ctype.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. * * 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; int To_ASCII(char * buffer, int maxlen=-1) const;
char const * As_ASCII(void) 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. ** Helper constants that provide some convenient fixed point values.
*/ */
+3672 -353
View File
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 #ifndef MAPSCRIPT_H
@@ -15,11 +15,22 @@ extern "C" {
// Object Cache Item // Object Cache Item
// Stores an id lookup table // Stores an id lookup table
struct MapScriptObject { struct MapScriptObject {
int UID; // The UID of the object (to prevent ID collisions)
int ID=-1; // The object's "Global ID" int ID=-1; // The object's "Global ID"
int classIndex=-1; // The object's "Global ID" int classIndex=-1; // The object's "Global ID"
RTTIType RTTI; // The type of object 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 // MapScript Class
@@ -27,6 +38,7 @@ struct MapScriptObject {
class MapScript { class MapScript {
public: public:
int cUID = 0;
~MapScript() { Deinit(); }; ~MapScript() { Deinit(); };
@@ -34,15 +46,114 @@ public:
bool Init(const char* mapName); bool Init(const char* mapName);
void Deinit(); void Deinit();
MapScriptObject* CreateCacheObject();
void CallFunction(const char* functionName); void CallFunction(const char* functionName);
void SetLuaPath(const char* input_path); void SetLuaPath(const char* input_path);
std::vector<MapScriptObject*> ObjectCache; std::vector<MapScriptObject*> ObjectCache;
std::vector<MapScriptDefaultObjectAttribute*> DefaultObjectTypeAttributeCache;
private: private:
lua_State* L; 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 // Non-Class-Functions
bool Script_SetObjectTrigger(int input_object_id, TriggerClass* input_trigger); bool Script_SetObjectTrigger(int input_object_id, TriggerClass* input_trigger);
ObjectClass* Script_GetCacheObject(int input_object_id); 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_InfantryIndexFromID(int input_object_id);
int Script_VesselIndexFromID(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 #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 BuildingTypes={
BUILDING_IRON=1 -- Iron Curtain ATEK=0, -- Allied Technology Centre
BUILDING_WEAP=2 -- Weapons Factory IRON=1, -- Iron Curtain
BUILDING_PDOX=3 -- Chronosphere WEAP=2, -- Weapons Factory
BUILDING_PBOX=4 -- Pillbox PDOX=3, -- Chronosphere
BUILDING_HBOX=5 -- Camouflaged Pillbox PBOX=4, -- Pillbox
BUILDING_DOME=6 -- Radar Dome HBOX=5, -- Camouflaged Pillbox
BUILDING_GAP =7 -- Gap Generator DOME=6, -- Radar Dome
BUILDING_GUN =8 -- Gun Turret GAP =7, -- Gap Generator
BUILDING_AGUN=9 -- Anti-Aircraft Gun GUN =8, -- Gun Turret
BUILDING_FTUR=10 -- Flame Turret AGUN=9, -- Anti-Aircraft Gun
BUILDING_FACT=11 -- Construction Yard FTUR=10, -- Flame Turret
BUILDING_PROC=12 -- Ore Refinery FACT=11, -- Construction Yard
BUILDING_SILO=13 -- Ore Silo PROC=12, -- Ore Refinery
BUILDING_HPAD=14 -- Helicopter Pad SILO=13, -- Ore Silo
BUILDING_SAM =15 -- SAM Site HPAD=14, -- Helicopter Pad
BUILDING_AFLD=16 -- Airfield SAM =15, -- SAM Site
BUILDING_POWR=17 -- Power Plant AFLD=16, -- Airfield
BUILDING_APWR=18 -- Advanced Power Plant POWR=17, -- Power Plant
BUILDING_STEK=19 -- Soviet Technology Centre APWR=18, -- Advanced Power Plant
BUILDING_HOSP=20 -- Hospital STEK=19, -- Soviet Technology Centre
BUILDING_BARR=21 -- Barracks (Allied) HOSP=20, -- Hospital
BUILDING_TENT=22 -- Barracks (Soviet) BARR=21, -- Barracks (Allied)
BUILDING_KENN=23 -- Dog Kennel TENT=22, -- Barracks (Soviet)
BUILDING_FIX =24 -- Service Depot KENN=23, -- Dog Kennel
BUILDING_BIO =25 -- Bio-Research Laboratory FIX =24, -- Service Depot
BUILDING_MISS=26 -- Technology Centre/Prison BIO =25, -- Bio-Research Laboratory
BUILDING_SYRD=27 -- Ship Yard MISS=26, -- Technology Centre/Prison
BUILDING_SPEN=28 -- Sub Pen SYRD=27, -- Ship Yard
BUILDING_MSLO=29 -- Missile Silo SPEN=28, -- Sub Pen
BUILDING_FCOM=30 -- Forward Command Post MSLO=29, -- Missile Silo
BUILDING_TSLA=31 -- Tesla Coil FCOM=30, -- Forward Command Post
BUILDING_WEAF=32 -- Fake Weapons Factory TSLA=31, -- Tesla Coil
BUILDING_FACF=33 -- Fake Construction Yard WEAF=32, -- Fake Weapons Factory
BUILDING_SYRF=34 -- Fake Ship Yard FACF=33, -- Fake Construction Yard
BUILDING_SPEF=35 -- Fake Sub Pen SYRF=34, -- Fake Ship Yard
BUILDING_DOMF=36 -- Fake Radar Dome SPEF=35, -- Fake Sub Pen
BUILDING_MINV=43 -- Anti-vehicle mine DOMF=36, -- Fake Radar Dome
BUILDING_MINP=44 -- Anti-personnel mine MINV=43, -- Anti-vehicle mine
MINP=44, -- Anti-personnel mine
-- Counterstrike -- Counterstrike
BUILDING_QUEE=84 -- Queen ant structure QUEE=84, -- Queen ant structure
BUILDING_LAR1=85 -- Ant - single ant larva LAR1=85, -- Ant - single ant larva
BUILDING_LAR2=86 -- Ant - two ant larvae LAR2=86 -- Ant - two ant larvae
}
-- ********************************************************* -- *********************************************************
-- * * -- * *
@@ -63,30 +92,32 @@
-- * * -- * *
-- ********************************************************* -- *********************************************************
INFANTRY_E1=0 -- Rifle Infantry InfantryTypes={
INFANTRY_E2=1 -- Grenadier E1=0, -- Rifle Infantry
INFANTRY_E3=2 -- Rocket Soldier E2=1, -- Grenadier
INFANTRY_E4=3 -- Flamethrower E3=2, -- Rocket Soldier
INFANTRY_E6=4 -- Engineer E4=3, -- Flamethrower
INFANTRY_E7=5 -- Tanya E6=4, -- Engineer
INFANTRY_SPY=6 -- Spy E7=5, -- Tanya
INFANTRY_THF=7 -- Thief SPY=6, -- Spy
INFANTRY_MEDI=8 -- Field Medic THF=7, -- Thief
INFANTRY_GNRL=9 -- General MEDI=8, -- Field Medic
INFANTRY_DOG=10 -- Attack Dog GNRL=9, -- General
INFANTRY_C1=11 -- Joe DOG=10, -- Attack Dog
INFANTRY_C2=12 -- Barry C1=11, -- Joe
INFANTRY_C3=13 -- Shelly C2=12, -- Barry
INFANTRY_C4=14 -- Maria C3=13, -- Shelly
INFANTRY_C5=15 -- Karen C4=14, -- Maria
INFANTRY_C6=16 -- Steve C5=15, -- Karen
INFANTRY_C7=17 -- Phil C6=16, -- Steve
INFANTRY_C8=18 -- Dwight C7=17, -- Phil
INFANTRY_C9=19 -- Erik C8=18, -- Dwight
INFANTRY_C10=20 -- Scientist C9=19, -- Erik
INFANTRY_EINSTEIN=21 -- Prof. Einstein C10=20, -- Scientist
INFANTRY_DELPHI=22 -- Special 1 EINSTEIN=21, -- Prof. Einstein
INFANTRY_CHAN=23 -- Special 2 DELPHI=22, -- Special 1
CHAN=23 -- Special 2
}
-- ********************************************************* -- *********************************************************
-- * * -- * *
@@ -94,25 +125,27 @@
-- * * -- * *
-- ********************************************************* -- *********************************************************
VEHICLE_4TNK=0 -- Mammoth Tank VehicleTypes={
VEHICLE_3TNK=1 -- Heavy Tank _4TNK=0, -- Mammoth Tank
VEHICLE_2TNK=2 -- Medium Tank _3TNK=1, -- Heavy Tank
VEHICLE_1TNK=3 -- Light Tank _2TNK=2, -- Medium Tank
VEHICLE_APC=4 -- Armoured Personnel Carrier _1TNK=3, -- Light Tank
VEHICLE_MNLY=5 -- Mine Layer APC=4, -- Armoured Personnel Carrier
VEHICLE_JEEP=6 -- Ranger MNLY=5, -- Mine Layer
VEHICLE_HARV=7 -- Ore Truck JEEP=6, -- Ranger
VEHICLE_ARTY=8 -- Artillery HARV=7, -- Ore Truck
VEHICLE_MRJ=9 -- Mobile Radar Jammer ARTY=8, -- Artillery
VEHICLE_MGG=10 -- Mobile Gap Generator MRJ=9, -- Mobile Radar Jammer
VEHICLE_MCV=11 -- Mobile Construction Vehicle MGG=10, -- Mobile Gap Generator
VEHICLE_2VRL=12 -- V2 Rocket Launcher MCV=11, -- Mobile Construction Vehicle
VEHICLE_TRUK=13 -- Convoy Truck _2VRL=12, -- V2 Rocket Launcher
TRUK=13, -- Convoy Truck
-- Counterstrike only: -- Counterstrike only:
VEHICLE_ANT1=14 -- First ant type ANT1=14, -- First ant type
VEHICLE_ANT2=15 -- Second ant type ANT2=15, -- Second ant type
VEHICLE_ANT3=16 -- Third ant type ANT3=16 -- Third ant type
}
-- ********************************************************* -- *********************************************************
-- * * -- * *
@@ -120,77 +153,241 @@
-- * * -- * *
-- ********************************************************* -- *********************************************************
AIRCRAFT_TRAN=0 -- Chinook Helicopter AircraftTypes={
AIRCRAFT_BADR=1 -- Badger Bomber TRAN=0, -- Chinook Helicopter
AIRCRAFT_U2=2 -- Spy Plane BADR=1, -- Badger Bomber
AIRCRAFT_MIG=3 -- MIG Attack Plane U2=2, -- Spy Plane
AIRCRAFT_YAK=4 -- Yak Attack Plane MIG=3, -- MIG Attack Plane
AIRCRAFT_HELI=5 -- Longbow Helicopter YAK=4, -- Yak Attack Plane
AIRCRAFT_HIND=6 -- Hind Helicopter HELI=5, -- Longbow Helicopter
HIND=6 -- Hind Helicopter
}
-- ********************************************************* -- *********************************************************
-- * * -- * *
-- * Houses (players) * -- * Vessels *
-- * * -- * *
-- ********************************************************* -- *********************************************************
HOUSE_SPAIN= 0 -- YELLOW/GOLD VesselTypes={
HOUSE_GREECE=1 -- BLUE-GREY SS=0, -- Submarine
HOUSE_USSR=2 -- RED DD=1, -- Destroyer
HOUSE_ENGLAND=3 -- GREEN CA=2, -- Cruiser
HOUSE_UKRAINE=4 -- ORANGE LST=3, -- Land Sea Tank (transport)
HOUSE_GERMANY=5 -- KHAKI/LIGHT BROWN PT=4 -- Gun Boat
HOUSE_FRANCE=6 -- AQUA }
HOUSE_TURKEY=7 -- RED-OCHRE
HOUSE_GOODGUY=8 -- BLUE-GREY -- *********************************************************
HOUSE_BADGUY=9 -- RED -- * *
HOUSE_NEUTRAL=10 -- YELLOW/GOLD -- * Armor Types *
HOUSE_SPECIAL=11 -- YELLOW/GOLD -- * *
HOUSE_MULTI1=12 -- YELLOW/GOLD -- *********************************************************
HOUSE_MULTI2=13 -- BLUE-GREY ArmorTypes={
HOUSE_MULTI3=14 -- RED NONE=0,
HOUSE_MULTI4=15 -- GREEN WOOD=1,
HOUSE_MULTI5=16 -- ORANGE ALUMINUM=2,
HOUSE_MULTI6=17 -- KHAKI/LIGHT BROWN STEEL=3,
HOUSE_MULTI7=18 -- AQUA CONCRETE=4
HOUSE_MULTI8=19 -- RED-OCHRE }
-- *********************************************************
-- * *
-- * 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 weapons *
-- * * -- * *
-- ********************************************************* -- *********************************************************
SPECIAL_WEAPON_SONAR=0 SpecialWeapons={
SPECIAL_WEAPON_NUKE=1 Sonar=0,
SPECIAL_WEAPON_CHRONO=2 Nuke=1,
SPECIAL_WEAPON_PARABOMB=3 Chrono=2,
SPECIAL_WEAPON_PARATROOPS=4 Parabomb=3,
SPECIAL_WEAPON_SPY_PLANE=5 Paratroops=4,
SPECIAL_WEAPON_IRON_CURTAIN=6 SpyPlane=5,
SPECIAL_WEAPON_GPS=7 IronCurtain=6,
GPS=7
}
-- ********************************************************* -- *********************************************************
-- * * -- * *
-- * Target types (for use with DesignatePreferredTarget) * -- * Target types (for use with DesignatePreferredTarget) *
-- * * -- * *
-- ********************************************************* -- *********************************************************
TARGET_TYPE_ANYTHING=1 TargetTypes={
TARGET_TYPE_BUILDINGS=2 Anything=1,
TARGET_TYPE_HARVESTERS=3 Buildings=2,
TARGET_TYPE_INFANTRY=4 Harvesters=3,
TARGET_TYPE_VEHICLES=5 Infantry=4,
TARGET_TYPE_SHIPS=6 Vehicles=5,
TARGET_TYPE_FACTORIES=7 Ships=6,
TARGET_TYPE_BASE_DEFENCES=8 Factories=7,
TARGET_TYPE_BASE_THREATS=9 BaseDefences=8,
TARGET_TYPE_POWER=10 BaseThreats=9,
TARGET_TYPE_FAKE_BUILDINGS=11 Power=10,
FakeBuildings=11
}
-- ********************************************************* -- *********************************************************
-- * * -- * *
-- * Trigger persistance * -- * Trigger persistance *
-- * * -- * *
-- ********************************************************* -- *********************************************************
TRIGGER_VOLATILE=0 PersistenceTypes={
TRIGGER_SEMI_PERSISTENT=1 Volatile=0,
TRIGGER_PERSISTENT=2 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.
}