⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 entities.bas

📁 超级C&C有没有搞错,VB还能编出这种即时策略游戏来!没错,这就是我们的超级C&C!虽然游戏经常无故退出,但是原码仍有很多可圈可点的地方.祝你早日编出中国的超级RA,超级KKND,超级星际,超级家园
💻 BAS
📖 第 1 页 / 共 5 页
字号:
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 + -