Table of Contents

Entity-Parameter

Vollständige Auflistung der konfigurierbaren Parameter für Spielobjekte die einerseits in unserem Dateiformat gespeichert werden soll und andererseits in ein komponentenbasiertes Entity-Design abgebildet.

Entity

Map-Editor
Movement
Abilities
Physics
Interface
Sound
Building
Tank
Robot
Other parameters

Cannon

Renderable

Renderable Node

Mesh

Particle Effect

State

Renderable Node Override

Mesh Override
Particle Effect Override

Beispiel

Entity testEntity

{
  renderable = "test object renderable" (string)
  entityName = "test object" (string)
  maxHealth = 30.0 (float)
  regenSpeed = 4.0 (float)
  armorType = "test object armor" (string)
  buildTime = 90.5 (float)
  destructible = true (bool)
  vulnerable = true (bool)
  wreckageFadeTime = 15.5 (float)
  targetSelectionRange = 600 (float)
  targetMovementBuffer = 200 (float)
  fixedYaw = false (bool)
  editorPlaceable = true (bool)
  editorCategory = "Test Objects" (string)
  moveSpeed = 270 (float)
  turnSpeed = 180 (float)
  abilities = ("radar", "repair") (list of string)
  collisionRadius = 5.5 (float)
  wreckageCollisionRadius = 0.0 (float)
  interfaceRenderable = "test object interface renderable" (string)
  canProduce = ("grunt", "psycho", "rocket") (list of string)
  numTurrets = 2 (int)
  turretPos = ((2.0, 4.0, 5.0), (4.0, 4.0, 5.0)) (list of vector3)
  allowedTurrets = ("turret rocket", "turret gatling") (list of string)
  spawnPos = (1.0, 0.0, 2.0) (vector3)
  exitPos = (3.0, 0.0, 2.0) (vector3)
  gateOpeningTime = 2.5 (float)
  hasDriver = true (bool)
  driverVisible = true (bool)
  hasHatch = true (bool)
  allowedDrivers = ("grunt", "sniper", "laser") (list of string)
  passengersVisible = true (bool)
  numPassengers = 3 (int)
  passengerPos = ((1.0, 2.0, 3.0), (2.0, 1.0, 1.0), (2.4, 3.4, 1.3)) (list of vector3)
  allowedPassengers = ("grunt", "sniper", "laser") (list of string)
  passengersShoot = true (bool)
  Cannon cannon1 
  {
    isIntegrated = false (bool)
    anchorPoint = (1.0, 2.0, 1.0) (vector3)
    anchorAxis = (0.0, 1.0, 0.0) (vector3)
    exitPoint = (2.0, 2.0, 1.0) (vector3)
    horzTurnSpeed = 80 (float)
    horzMaxAngle = 150 (float)
    vertTurnSpeed = 50 (float)
    vertMaxAngle = 40 (float)
    projectileRenderable = "test projectile" (string)
    projectileSpeed = 1200 (float)
    hitEffect = "test hit effect" (string)
    barrelEffect = "test barrel effect" (string)
    firingAngle = 45 (float)
    steeringProjectile = true (bool)
    damage = (15+1d3, 10+1d2, 5) (list of damage w. dice)
    damageRadius = (3, 10, 15) (list of float)
    shootDelay = 2.1 (float)
    shotDuration = 0.85 (float)
    missileExitTime = 0.5 (float)
    allowedTargets = ("robot", "tank", "building") (list of string)
  }
  Cannon cannon2
  {
    isIntegrated = true
    exitPoint = (3.0, 2.0, 1.0)
    projectileSpeed = 0
    hitEffect = "test hit effect 2"
    barrelEffect = "test barrel effect 2"
    firingAngle = 0
    damage = (4)
    damageRadius = (0)
    shootDelay = 2.1
    shotDuration = 0.55
    missileExitTime = 0.2
    allowedTargets = ("robot")
  }
}
Renderable test_renderable
{
  NodeTree tree
  {
    Node root
    {
      position = (0.0, 0.0, 0.0) (vector3)
      scale = (1.0, 1.0, 1.0) (vector3)
      orientation = (1.0, 0.0, 0.0, 0.0) (vector3)
      role = "none" (string)
      Mesh mesh
      {
        meshName = "test.mesh" (string)
        materialName = "object_material" (string)
        colourMapName = "test_colour.dds" (string)
        normalSpecMapName = "test_normal.dds" (string)
        tintMapName = "test_tint.dds" (string)
        envMapName = "test_env.dds" (string)
        boneMapping = (("bone1", "hatch")) (list of string-pairs)
        animMapping = (("move_anim1", "move"), ("move_anim2", "move"), ("idle_anim1", "idle")) (list of string-pairs)
        paramMapping = (("playerColour", "tintColour"), ("chainMovement", "chainMove")) (list of string-pairs) 
      }
      Node driver
      {
        position = (0.0, 0.0, 0.0) 
        scale = (1.0, 1.0, 1.0) 
        orientation = (1.0, 0.0, 0.0, 0.0)
        role = "driverAnchor"
      }
    }
  }
  State normal
  {
  }
  State damaged
  {
    NodeOverwrite root
    {
      position = (0.0, 0.0, 0.0) (vector3)
      scale = (1.0, 1.0, 1.0) (vector3)
      orientation = (1.0, 0.0, 0.0, 0.0) (vector3)
      role = "none" (string)
      MeshOverwrite
      {
        materialName = "object_damaged_material" (string)
        colourMapName = "test_damaged_colour.dds" (string)
        normalSpecMapName = "test_damaged_normal.dds" (string)
        tintMapName = "test_damaged_tint.dds" (string)
        envMapName = "test_damaged_env.dds" (string)
        boneMapping = (("bone1", "hatch")) (list of string-pairs)
        animMapping = (("move_anim1", "move"), ("move_anim2", "move"), ("idle_anim1", "idle")) (list of string-pairs)
        paramMapping = (("playerColour", "tintColour"), ("chainMovement", "chainMove")) (list of string-pairs) 
      }
    }
  }
}