📄 entities.bas
字号:
Attribute VB_Name = "Entities"
Private Type PointList
PathPoints(200) As Point2D
PathPointsActive As Integer
End Type
Private Type PathNode
Points As PointList
Stuck As Boolean
End Type
Private Type PathObj
Points As PointList
End Type
Global Const DISTANCEBEFOREOUTOFWAY = 30
Global Const DELAYWEAPON = -1
Global Const NOOBJECT = 0
Global Const OBJCONST_ObjectStopDistance = 6
Global Const OBJCONST_MissileStopDistance = 8
Global Const OBJCONST_TimeTillAdjustDirection = 3
Global Const NOMAPIMPRINT = 0
Global Const IMPRINTSIZE = 10
Global Const HALFIMPRINTSIZE = IMPRINTSIZE / 2
Private Type MapTemplate
ImprintName As String
ImprintArray(IMPRINTSIZE, IMPRINTSIZE) As Boolean
End Type
Global Const MAXIMPRINTS = 80
Public MapImprints(MAXIMPRINTS) As MapTemplate
'Ability List
Global Const MAXABILITIES = 55
Global Const ABILITY_MOVES = 1
Global Const ABILITY_FLIES = 2
Global Const ABILITY_CANLANDONGROUND = 3 'For helicopters and such. Everything can land on a landing pad.
Global Const ABILITY_SHOOTS = 4
Global Const ABILITY_HARVESTS = 5
Global Const ABILITY_CARRIESPEOPLE = 6
Global Const ABILITY_PANICS = 7
Global Const ABILITY_REPAIRABLE = 8
Global Const ABILITY_SELFHEALING = 9
Global Const ABILITY_CRAWLS = 10
Global Const ABILITY_RETREATS = 11
Global Const ABILITY_GETSPOWERUPS = 12
Global Const ABILITY_RELIESONELECTRICITY = 13
Global Const ABILITY_REACHESTARGETINSTANTLY = 14
Global Const ABILITY_UNLIMITEDAMMO = 15
Global Const ABILITY_FIRESDOUBLE = 16
Global Const ABILITY_LEAVESSPARKLETRAIL = 17
Global Const ABILITY_BLEEDSWHENHIT = 18
Global Const ABILITY_THROWSMETALWHENHIT = 19
Global Const ABILITY_THROWSBLOODATDEATH = 20
Global Const ABILITY_THROWSMETALATDEATH = 21
Global Const ABILITY_PROCESSESMATERIALS = 22
Global Const ABILITY_REPAIRSVEHICLES = 23
Global Const ABILITY_REPAIRSPEOPLE = 24
Global Const ABILITY_AIRCRAFTPAD = 25 'for landing aircraft
Global Const ABILITY_NAVALDOCK = 26 'for boats
Global Const ABILITY_RESSURECTS = 27
Global Const ABILITY_LEAVESWRECKAGE = 28
Global Const ABILITY_SELECTABLE = 29
Global Const ABILITY_FOLLOWSTARGET = 30
Global Const ABILITY_RELIESONSTRENGTH = 31
Global Const ABILITY_CANBECOMEINVISIBLE = 32
Global Const ABILITY_ENTERSBUILDINGS = 33
Global Const ABILITY_ISPHYSICAL = 34
Global Const ABILITY_GETTABLE = 35
Global Const ABILITY_HITTABLE = 36
Global Const ABILITY_INFECTABLE = 37
Global Const ABILITY_AFFECTEDBYDISEASE = 38
Global Const ABILITY_COMBUSTUBLE = 39
Global Const ABILITY_EXPLODESWITHFIRE = 40
Global Const ABILITY_DEPLOYS = 41
Global Const ABILITY_BUILDS = 42
Global Const ABILITY_BUILDABLE = 43
Global Const ABILITY_CANBEDAMAGED = 44
Global Const ABILITY_BODYISBISECTED = 45
Global Const ABILITY_THROWSSPARKLESATCOLLIDE = 46
Global Const ABILITY_FRAMES_SHOOTING = 47
Global Const ABILITY_SPLASHESWATER = 48
Global Const ABILITY_HASDNA = 49
Global Const ABILITY_EMOTIONS = 50
Global Const ABILITY_LEADER = 51
Global Const ABILITY_SHOOTSLIGHTNINGONBUILD = 52
Global Const ABILITY_REQUIRESTRACTION = 53
Global Const ABILITY_USESINERTIA = 54
Global Const ABILITY_HASSHADOW = 55
'Attribute List
Global Const MAXMODELATTRIBUTES = 52
Global Const ATTRIBUTE_SPRITE = 1
Global Const ATTRIBUTE_SIZE = 2
Global Const ATTRIBUTE_LENGTHX = 3
Global Const ATTRIBUTE_LENGTHY = 4
Global Const ATTRIBUTE_LENGTHZ = 5 'Higher up, more Z
Global Const ATTRIBUTE_MAXSPEED = 6
Global Const ATTRIBUTE_BULLETARMOR = 7
Global Const ATTRIBUTE_SHELLARMOR = 8
Global Const ATTRIBUTE_BOMBARMOR = 9
Global Const ATTRIBUTE_FIREARMOR = 10
Global Const ATTRIBUTE_ELECTROMAGNETICARMOR = 11
Global Const ATTRIBUTE_RADIATIONARMOR = 12
Global Const ATTRIBUTE_MAXAMMO = 13 'only effective if UnlimitedAmmo is False
Global Const ATTRIBUTE_EXPLOSIONTYPE = 14
Global Const ATTRIBUTE_EXPLOSIONINTENSITY = 15
Global Const ATTRIBUTE_EXPLOSIONRADIUS = 16 'Determines also how many sparks will fly
Global Const ATTRIBUTE_EXPLOSIONSPRITE = 17 'In the game, the Sprite Groups will be variations of the same Explosion type :)
Global Const ATTRIBUTE_POWERREQUIRED = 18
Global Const ATTRIBUTE_OBJECTBUILDTYPE = 19
Global Const ATTRIBUTE_COST = 20
Global Const ATTRIBUTE_HEALTH = 21
Global Const ATTRIBUTE_WEIGHT = 22
Global Const ATTRIBUTE_ACCURACY = 23
Global Const ATTRIBUTE_STRENGTH = 24
Global Const ATTRIBUTE_SHOOTRADIUS = 25
Global Const ATTRIBUTE_MINIMUMSHOOTRADIUS = 26
Global Const ATTRIBUTE_DIRECTIONAMOUNT = 27
Global Const ATTRIBUTE_SIGHTRADIUS = 28
Global Const ATTRIBUTE_SOUNDGROUP = 29
Global Const ATTRIBUTE_SIDE = 30
Global Const ATTRIBUTE_GETTABLEPOWERUPTYPE = 31
Global Const ATTRIBUTE_MAPIMPRINT = 32
Global Const ATTRIBUTE_SPRITEPOSITIONX = 33
Global Const ATTRIBUTE_SPRITEPOSITIONY = 34
Global Const ATTRIBUTE_COMBUSTIONTEMPERATURE = 35
Global Const ATTRIBUTE_DEPLOYOBJECT = 36
Global Const ATTRIBUTE_TECHLEVEL = 37
Global Const ATTRIBUTE_BUILDPICTURE = 38
Global Const ATTRIBUTE_TOPSPRITE = 39
Global Const ATTRIBUTE_TOPDIRECTIONAMOUNT = 40
Global Const ATTRIBUTE_TOPSPRITEPOSITIONX = 41
Global Const ATTRIBUTE_TOPSPRITEPOSITIONY = 42
Global Const ATTRIBUTE_BUILDATFRAME = 43
Global Const ATTRIBUTE_REQUIREDBEFOREBUILD = 44
Global Const ATTRIBUTE_IMPORTANCE = 45
Global Const ATTRIBUTE_ENGINEPOWER = 46
Global Const ATTRIBUTE_TURNSPEED = 47
Global Const ATTRIBUTE_SHADOWPIC = 48
Global Const ATTRIBUTE_WEAPONX = 49
Global Const ATTRIBUTE_WEAPONY = 50
Global Const ATTRIBUTE_DEFAULTWEAPONOBJECT = 51
Global Const ATTRIBUTE_WEAPONCHARGETIME = 52
'The Behavior types
Global Const MAXBEHAVIORMODES = 7
Global Const BEHAVIORMODE_NONE = -1
Global Const BEHAVIORMODE_INANIMATE = 0
Global Const BEHAVIORMODE_BUILDING = 1
Global Const BEHAVIORMODE_SOLDIER = 2
Global Const BEHAVIORMODE_SHIP = 3
Global Const BEHAVIORMODE_TANK = 4
Global Const BEHAVIORMODE_AIRCRAFT = 5
Global Const BEHAVIORMODE_SPACECRAFT = 6
Global Const BEHAVIORMODE_WEAPON = 7
'Explosion Behavior
Global Const EXPLODETYPE_BULLET = 1
Global Const EXPLODETYPE_SHELL = 2
Global Const EXPLODETYPE_BOMB = 3
Global Const EXPLODETYPE_FIRE = 4
Global Const EXPLODETYPE_ELECTROMAGNETIC = 5
Global Const EXPLODETYPE_RADIATION = 6
Global Const MAXCONSTS = 4
Global Const CONST_DIRECTIONDIV = 1
Global Const CONST_DIRECTIONDIVDIV = 2
Global Const CONST_TOPDIRECTIONDIV = 3
Global Const CONST_TOPDIRECTIONDIVDIV = 4
Type Objzmods
Consts(MAXCONSTS) As Single
BehaviorType As Integer
ObjClassName As String
ObjName As String
Abilities(MAXABILITIES) As Boolean
Attributes(MAXMODELATTRIBUTES) As Integer
MapImprintNumber As Integer
SoundGroup As SoundObj
End Type
Global Const MaxObjModels = 100 'for the following line
Global ObjModels(MaxObjModels) As Objzmods
Global MaxObjModTypes As Integer 'For the program
Global Const NOTARGET = -1 'For the PROPERTY_TARGET
Global Const TARGETGROUND = -2 'For the PROPERTY_TARGET
'Object Attributes
Global Const MAXOBJECTPROPERTIES = 17
Global Const PROPERTY_PEOPLECONTAINED = 1
Global Const PROPERTY_GEMSCONTAINED = 2
Global Const PROPERTY_HEALTH = 3
Global Const PROPERTY_TIMEUNTILADJUSTDIRECTION = 4
Global Const PROPERTY_OBJECTTOPATROL = 5
Global Const PROPERTY_HOMEOBJECT = 6
Global Const PROPERTY_WEAPONCHARGE = 7
Global Const PROPERTY_CRAWLING = 8 'true false
Global Const PROPERTY_BUILDOBJECTTYPE = 9
Global Const PROPERTY_BUILDPROGRESS = 10
Global Const PROPERTY_FUEL = 11
Global Const PROPERTY_LASTCOMMAND = 12
Global Const PROPERTY_CLASSTOBUILD = 13
Global Const PROPERTY_TIMEREMAININGONSITSTILL = 14
Global Const PROPERTY_POSITIONTEMPX = 15
Global Const PROPERTY_POSITIONTEMPY = 16
Global Const PROPERTY_WEAPONOBJECTTYPE = 17
'Goals
Global Const GOAL_NOTHING = 1
Global Const GOAL_MOVESOMEWHERE = 2
Global Const GOAL_STANDGROUND = 3
Global Const GOAL_ATTACK = 4
Global Const GOAL_GUARD = 5
Global Const GOAL_PATROL = 6
Global Const GOAL_HARVESTGEMS = 7
Global Const GOAL_INVADE = 8
Global Const GOAL_RETURNTOHOME = 9
Global Const GOAL_SCOUT = 10
Global Const GOAL_CAMP = 11
Global Const GOAL_BUILD = 12
Global Const GOAL_GETOUTOFTHEWAY = 13
Global Const GOAL_GETFARTHERAWAYFROMTARGET = 14
Global Const GOAL_SITSTILL = 15
Global Const GOAL_FOLLOWPATH = 16
Global Const MAXSTATES = 9
'States
Global Const STATE_MOVING = 2
Global Const STATE_FIRING = 3
Global Const STATE_CAMPING = 4
Global Const STATE_REPAIRING = 5
Global Const STATE_BUILDING = 6
Global Const STATE_TAKINGOFF = 7
Global Const STATE_LANDING = 8
Global Const STATE_MOVINGANDFIRING = 9
Global Const MAXGENETICS = 3
Global Const GENETIC_SPEED = 1
Global Const GENETIC_RESILIENCE = 2
Global Const GENETIC_INTELLIGENCE = 3
Global Const GeneticRange = 10
Global Const HalfGeneticRange = GeneticRange / 2
Public Type DNAType
Genetics(MAXGENETICS) As Integer
End Type
Global Const MAXEMOTIONS = 4
Global Const EMOTION_HAPPY = 1
Global Const EMOTION_SAD = 2
Global Const EMOTION_SCARED = 3
Global Const EMOTION_HATE = 4
Private Type EmotionType
EmotionsOn As Boolean
Emotions(MAXEMOTIONS) As Integer
End Type
Private Type BrainType
Emotions As EmotionType
End Type
Type UnitObjective
Goal As Integer
Target As Integer
TargetPosition As Point3D
MainDestination As Point3D
CurrentDestination As Point3D
Path As PathObj
CurrentPathPoint As Integer
Speed As Integer
End Type
Global Const MAXTAGS = 3
Global Const TAG_BLOCKED = 1
Type ObjThing
Objective As UnitObjective
Active As Boolean
Brain As BrainType
DNA As DNAType
ModelIndex As Integer
Side As Integer
States(MAXSTATES) As Boolean
Position As Point3D
MapPosition As Point3D
Vector As Vect3D
CurrentSpeed As Integer
DisplayDirection As Integer
Properties(MAXOBJECTPROPERTIES) As Integer
Sprite As SpriteDefType
Frozen As Boolean
TopSprite As SpriteDefType
TopDirection As Integer
TopDisplayDirection As Integer
InertiaDirection As Vect3D
InertiaSpeed As Integer
InertiaSpeedUp As Single
ObjectTags(MAXTAGS) As Boolean
End Type
Global Const MAXOBJECTS = 999
Global Objects(MAXOBJECTS) As ObjThing
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -