Advertisement
xth

aoe2 unit lua table example idea (comments incomplete)

xth
May 24th, 2019
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 28.67 KB | None | 0 0
  1. -- copied from A.G.E.
  2. -- by hand
  3. -- xthomas is not very smart
  4. -- so I put this in a lua file to get an idea of what it would take to copy aoe2's units
  5. -- holy crap is there a lot
  6. UNIT_TABLE_EXAMPLE = {
  7.     TYPE = 70,
  8.     CLASS = 6,
  9.     INTERNAL_NAME = "LEGION",
  10.     ID = 1,
  11.     COPY_ID = 1,
  12.     BASE_ID = 1,
  13.     STATISTICS = {
  14.         HIT_POINTS              = 0, -- -1 INSTANTLY DYING UNIT
  15.         MAX_HIT_POINTS          = 0,
  16.         SPEED                   = 0,
  17.         ROTATION_SPEED          = 0, -- MAKES IT SLOWER
  18.         LINE_OF_SIGHT           = 0, -- MAXIMUM (EFFECTIVE) VALUE IS 20
  19.         SEARCH_RADIUS           = 0,
  20.         MAX_RANGE               = 0,
  21.         MIN_RANGE               = 0,
  22.         SHOWN_RANGE             = 0,
  23.         ATTACKS = {
  24.             {AMOUNT = 10,
  25.                TYPE =  4}, -- ARMOR CLASS THAT THIS UNIT CAN DAMAGE
  26.             {AMOUNT =  0,
  27.                TYPE = 15},
  28.             {AMOUNT =  0,
  29.                TYPE = 11},
  30.             {AMOUNT =  0,
  31.                TYPE = 21}
  32.         },
  33.         SHOWN_ATTACK            = 0,
  34.         FRAME_DELAY             = 0, -- GRAPHICAL DELAY IN FRAMES BEFORE PROJECTILE IS SHOT
  35.         ACCURACY_PERCENT        = 0,
  36.         ATTACK_DISPERSION       = 0, -- ARC MULTIPLIER OF THE SECTOR WHERE PROJECTILES MAY HIT.
  37.                                      -- HIGHER VALUES WILL MAKE MISSED HITS DISPERSE MORE.
  38.         RELOAD_TIME             = 0,
  39.         SHOWN_RELOAD_TIME       = 0,
  40.         BLAST_WIDTH             = 0, -- IF OBJECT HAS 0 BLAST WIDTH
  41.                                      -- AND DOES NOT HIT THE UNIT IT HAD TARGETED
  42.                                      -- ALWAYS DOES HALF DAMAGE.
  43.         BLAST_ATTACK_LEVEL      = 0, -- BLASTS DAMAGE UNITS THAT HAVE HIGHER OR SAME BLAST ARMOR LEVEL
  44.                                      -- 0  DAMAGES RESOURCES ALSO
  45.                                      -- 1  DAMAGES TREES ALSO
  46.                                      -- 2  DAMAGES NEARBY UNITS
  47.                                      -- 3  DAMAGES ONLY TARGETED UNIT
  48.         ARMORS = {
  49.             {AMOUNT =  2,
  50.                TYPE =  4}, -- ATTACK CLASS FROM WHICH THIS UNIT CAN TAKE DAMAGE
  51.             {AMOUNT =  0,
  52.                TYPE =  8},
  53.             {AMOUNT =  2,
  54.                TYPE =  3}
  55.         },
  56.         BLAST_DEFENSE_LEVEL     = 0, -- RECIEVE DAMAGE FROM UNITS THAT HAVE LOWER OR SAME BLAST ATTACK LEVEL
  57.         BASE_ARMOR              = 1000, -- THIS ARMOR IS USED FOR ATTACK TYPES THAT HAVE NO CORRESPONDING ARMOR TYPE
  58.                                         -- CAN BE NEGATIVE ONLY IN THE CONQUERORS AND LATER GAMES
  59.         TERRAIN_DEFENSE_BONUS   = -1, -- TERRAIN TABLE ID
  60.                                       -- RECEIVE DAMAGE BASED ON WHICH TERRAIN THIS UNIT STANDS ON.
  61.                                       -- EFFECT ATTRIBUTE 18 CHANGES THIS
  62.                                       -- THE DAMAGE RECEIVED BY THIS UNIT IS MULTIPLIED
  63.                                       -- BY THE ACCESSIBLE VALUES ON THE SPECIFIED TERRAIN TABLE.
  64.         SHOWN_MELEE_ARMOR       = 0,
  65.         SHOWN_PIERCE_ARMOR      = 0,
  66.  
  67.         RESOURCE_CAPACITY       = 25,
  68.         RESOURCE_DECAY          = 25, -- CAN ALTER DECAY TIME FOR CORPSES
  69.                                       -- SET TO -1 FOR NEVER DECAYING
  70.         WORK_RATE               = 1,
  71.  
  72.         GARRISON_CAPACITY       = 0,
  73.         GARRISON_TYPE           = 0, -- YOU CAN GARRISON ANY TYPE
  74.                                      -- IF YOU ADD THE GARRISON ACTION TARGETING THIS CLASS/UNIT
  75.                                      -- BUT YOU MAY NEED TO HOLD THE ALT KEY WHILE CHOOSING TO GARRISON
  76.                                 -- (IT SEEMS TO BE STORED AS AN 8 BIT BITMASK)
  77.                                 --IS THIS LITTLE ENDIAN OR BIG ENDIAN? WELL, NETWORK PROTOCOLS USE BIG ENDIAN..
  78.                                 --  1 VILLAGER/WORKER
  79.                                 --  2 INFANTRY
  80.                                 --  4 CAVALRY/MOUNTED
  81.                                 --  8 MONK/JEDI
  82.                                 --  16 SW: LIVESTOCK
  83.                                 --  32 (AGE does not  list)
  84.                                 --  64 (makes undeletable units?)
  85.                                 --  128 (AGE does not list)
  86.         GARRISON_HEAL_RATE      = 0, -- HEALING SPEED FACTOR OF UNITS GARRISONED IN BUILDING
  87.         PROJECTILES = {
  88.             PROJECTILE_UNIT     = 0,
  89.             SECONDAY_PROJECTILE_UNIT = 0, -- USES ITS OWN ATTACK VALUES!
  90.             TOTAL_PROJECTILES   = 1, -- TOTAL MISSILES INCLUDING BOTH NORMAL AND DUPLICATED PROJECTILES
  91.             MAX_TOTAL_PROJECTILES = 5 -- TOTAL MISSILES WHEN GARRISON CAPACITY IS FULL
  92.         },
  93.         GRAPHIC_DISPLACEMENT_XYZ = {0, -- LEFT/RIGHT DISTANCE
  94.                                     0, -- SPAWNING DISTANCE FROM THE UNIT
  95.                                     0}, -- HEIGHT
  96.         PROJECTILE_SPAWNING_AREA = {
  97.             1, -- SPAWNING AREA'S WIDTH
  98.             1, -- SPAWNING AREA'S LENGTH
  99.             1  -- SPAWNING POINT'S RANDOMNESS INSIDE THE SPAWNING AREA
  100.                -- 0  FROM A SINGLE SPOT
  101.                -- 1  TOTALLY RANDOMLY INSIDE THE SPAWNING AREA
  102.                -- 1+ LESS RANDOMLY
  103.         },
  104.         PROJECTILE_STUFF = {
  105.             PROJECTILE_TYPE = 0, -- 0  STRAIGHT
  106.                                  -- 1  HOMING?, PROJECTILE FALLS VERTICALLY TO THE BOTTOM OF THE MAP
  107.             SMART_MODE = 0, -- EFFECT ATTRIBUTE 19 CHANGES THIS
  108.                             -- 0  SHOOT WHERE THE TARGET IS NOW
  109.                             -- 1  SHOOT WHERE THE TARGET IS GOING TO BE
  110.             HIT_MODE = 0, -- 0  CONTINUE AFTER HITTING AN OBSTACLE
  111.                       -- 1  DISAPPEAR ONCE AN OBSTACLE IS HIT
  112.                       -- 2  HIT ALL. DAMAGES TARGET AND RESTING POSITION?
  113.             VANISH_MODE = 0, -- ONLY AFFECTS GRAPHICS OF THE PROJECTILE
  114.                          -- 0  STOPS GRAPHICS AT TARGET
  115.                          -- 1  GRAPHICS PASS THROUGH THE TARGET INSTEAD OF STOPPING
  116.             AREA_EFFECTS = 0, -- 0  NORMAL
  117.                               -- 1  RANDOM (BULLETS)
  118.                               -- 2  RANDOM EXPLOSIONS
  119.             PROJECTILE_ARC = 0.05
  120.         },
  121.         ATTRIBUTES = {
  122.             AVAILABLE = 0, -- 0  REQUIRES A TECHNOLOGY TO BE AVAILABLE
  123.                            -- 1  AVAILABLE WITHOUT A TECHNOLOGY
  124.             CAN_BE_BUILT_ON = 0, -- 0  DEFAULT
  125.                                  -- 1  GRAPHIC STAYS AT HIGHEST ELEVATION UNTIL DESTINATION IS REACHED
  126.                                  -- 2+ GRAPHIC IS NOT AFFECTED BY ELEVATION
  127.             RECYCLABLE = 0, -- UNDETECTABLE
  128.                             -- NOT SCANNED BUT SET TO 1 FOR CLASS 11
  129.                             -- CAN CHANGE DURING GAMEPLAY
  130.                             -- tommy: what does undetectable mean?
  131.             ADJACENT_MODE = 0, -- 0  DEFAULT
  132.                                -- 1  ADJACENT BUILDINGS CAN CHANGE GRAPHICS OF THIS UNIT
  133.                                -- THIS CHANGES THE GRAPHIC ANGLE
  134.             DISABLED = 0, -- NOT SCANNED BUT SET TO 0
  135.                           -- CAN CHANGE DURING GAMEPLAY
  136.                           -- MOSTLY FOR DIFFERENT GAME MODES AND DISABLES DEFINED IN SCENARIOS
  137.                           -- 0  DEFAULT
  138.                           -- 1  PREVENTS ENABLING/DISABLING WITH A TECH
  139.             HIDE_IN_EDITOR = 0, -- POSSIBLE VALUES: 0,1 AND AS BOOLEAN
  140.             CAN_BE_GATHERED = 0, -- TRACK AS RESOURCE
  141.                                  -- ALLOWS AUTOMATIC GATHERING AND HANDLES FOG VISIBILITY
  142.             ["BUILT:_VANISHES"] = 0, -- USEFUL FOR STACK UNIT PLACEMENT
  143.                                      -- 0  DEFAULT
  144.                                      -- 1  MAKES THE BUILDING DISAPPEAR WHEN BUILT
  145.             UNDEAD_MODE = 0, -- AFTER 1ST DYING GRAPHIC
  146.                              -- 0  TRANSFORM INTO DEAD UNIT
  147.                              -- 1  SHOW UNDEAD GRAPHIC
  148.             FLY_MODE = 0, -- CONTROLS GRAPHIC ALTITUDE WHEN TELEPORTING
  149.                           -- 0  STAY ON GROUND
  150.                           -- 1  GRAPHICS APPEAR HIGHER THAN THE SHADOW
  151.             HERO_MODE = 0
  152.         }
  153.         SORT_NUMBER             = 0, -- UNITS WITH LOW SORT NUMBERS ARE DRAWN LAST
  154.                                      -- 0  CAN BE PLACED ON TOP OF OTHER UNITS IN SCENARIO EDITOR
  155.                                      -- 5  CANNOT BE PLACED ON TOP OF OTHER UNITS IN SCENARIO EDITOR
  156.         HILL_MODE               = 0, -- 0  NO RESTRICTION
  157.                                      -- 1  CANNOT PLACE ON HILLS
  158.                                      -- 2  CAN ONLY PLACE ON FLAT LAND
  159.                                      -- 3  ALLOWS ONE ELEVATION DIFFERENCE
  160.         FOG_VISIBILITY          = 0, -- 0  NOT VISIBLE
  161.                                      -- 1  ALWAYS VISIBLE
  162.                                      -- 2  VISIBLE IF ALIVE
  163.                                      -- 3  INVERTED VISIBILITY
  164.                                      -- 4  CHECK DOPPELGANGER
  165.         INTERACTION_MODE        = 0, -- SELECT LEVEL
  166.                                      -- 0  NONE. NO INTERACTION.
  167.                                      -- 1  OBJECT. CAN PICK.
  168.                                      -- 2  RESOURCE. CAN SELECT, UNABLE TO ATTACK OR MOVE
  169.                                      -- 3  BUILDING. CAN SELECT AND ATTACK, UNABLE TO MOVE.
  170.                                      -- 4  UNIT. CAN SELECT, ATTACK AND MOVE.
  171.         COMBAT_LEVEL            = 0, -- MAINLY USED IN TRIGGER CONDITIONS
  172.                                      -- 0  NONE
  173.                                      -- 1  BASE
  174.                                      -- 2  BUILDING
  175.                                      -- 3  CIVILIAN
  176.                                      -- 4  SOLDIER
  177.                                      -- 5  PRIEST
  178.         MINIMAP_MODE            = 0, -- DRAW LEVEL
  179.                                      -- 0  NONE. NO DOT ON MINIMAP.
  180.                                      -- 1  UNIT. SQUARE DOT TURNING WHITE WHEN SELECTED.
  181.                                      -- 2  BUILDING. DIAMOND DOT TURNING WHITE WHEN SELECTED.
  182.                                      -- 3  TERRAIN. DIAMOND DOT KEEPING COLOR.
  183.                                      -- 4  TERRAIN. LARGER SPOT, NOT FOLLOWING THE UNIT, NO BLINKING WHEN ATTACKED, EVERYONE CAN SEE IT.
  184.         MINIMAP_COLOR           = 0, -- MINIMAP MODES 3 AND 4 ALLOW THIS TO WORK
  185.         DOPPELGANGER            = 0, -- CREATE DOPPELGANGER ON DEATH.
  186.                                      -- 0  NONE
  187.                                      -- 1  AFTER DEATH
  188.                                      -- 2  WHEN DYING
  189.         GATHER_GROUP            = 0, -- VISIBLE RESOURCE GROUP
  190.                                      -- NEEDS TO BE GATHERABLE
  191.                                      -- 0  TREE
  192.                                      -- 1  BERRY
  193.                                      -- 2  FISH
  194.                                      -- 3  STONE/ORE
  195.                                      -- 4  GOLD/NOVA
  196.         TASK_SWAP_GROUP         = 0, -- WHEN TASKING THE UNIT, IT WILL TRANSFORM INTO ANOTHER UNIT,
  197.                                      -- IF THE ACTION IS NOT FOUND IN THIS UNIT, BUT EXISTS ON ANOTHER UNIT,
  198.                                      -- THAT USES THE SAME TASK SWAP GROUP  
  199.                                      -- CHANGES ACCORDING TO TASK
  200.                                      -- 1  MALE VILLAGER
  201.                                      -- 2  FEMALE VILLAGER
  202.                                      -- 3+ FREE SLOTS
  203.         SPECIAL_ABILITY         = 0, -- 0  NONE
  204.                                      -- THESE ONLY WORK WHEN FACING THE HIT ANGLE.
  205.                                      -- 1  BLOCK
  206.                                      --   ACTIVATES SPECIAL GRAPHIC WHEN RECEIVING DAMAGE AND--   NOT PURSUING THE ATTACKER.
  207.                                      --   WHILE IDLE, BLOCKING DECREASES DAMAGE TAKEN BY 1/3.
  208.                                      -- 2  COUNTER CHARGE
  209.                                      --   ACTIVATES SPECIAL GRAPHIC WHEN IDLE AND ENEMY IS NEAR.
  210.                                      --   WHILE IDLE, ATTACKS BACK ONCE ON FIRST RECEIVED HIT.
  211.                                      --   ENEMY MUST BE UNIT TYPE 70 AND HAVE LESS THAN 0.2 MAX RANGE.
  212.                                      -- 3  CHARGE
  213.                                      --   ACTIVATES SPECIAL GRAPHIC WHEN CLOSER THAN TWO TILES TO THE TARGET.
  214.                                      --   DEALS 2X DAMAGE ON 1ST HIT.
  215.                                      -- PLANNED BUT NEVER IMPLEMENTED SHIP SPECIAL ATTACKS:
  216.                                      -- READ THE DESIGN DOCUMENT OF AGE OF EMPIRES II.
  217.                                      -- THESE WERE SUPPOSED TO BE MUTUALLY EXCLUSIVE TECHNOLOGIES.
  218.                                      -- 4  RAM
  219.                                      --   CHARGE AGAINST ANOTHER SHIP, LOSING SOME HIT POINTS YOURSELF.
  220.                                      -- 5  GREEK FIRE
  221.                                      --   FRY UNITS ON SHIPS PASSING THROUGH YOUR SEA OF FIRE.
  222.                                      -- 6  BOARD
  223.                                      --   ATTACH TO ANOTHER SHIP, RESULTING IN TAKEOVER OR SINKING.
  224.         UNIT_TRAIT              = 0, -- THIS IS A BYTE OF EIGHT BOOLEANS
  225.                                      -- YOU CAN COMBINE THESE ATTRIBUTES
  226.                                      -- GARRISON UNIT
  227.                                      -- SHIP UNIT
  228.                                      -- SW: STEALTH UNIT
  229.                                      -- SW: DETECTOR UNIT
  230.                                      -- SW: MECHANICAL UNIT
  231.                                      -- SW: BIOLOGICAL UNIT
  232.                                      -- SW: SELF SHIELDING UNIT (in aoe2 64 makes units undeletable in aoe2, i think)
  233.                                      -- SW: INVISIBLE UNIT
  234.         CIVILIZATION            = 0,
  235.         TRAIT_PIECE             = 0, -- THIS IS ACTUALLY LEFTOVER FROM ATTRIBUTE+CIV VARIABLE
  236.                                      -- PROBABLY USELESS
  237.         DEAD_UNIT               = 0,
  238.         PLACEMENT_TERRAIN_1     = 0,
  239.         PLACEMENT_TERRAIN_2     = 0,
  240.         PLACEMENT_SIDE_TERRAIN_1 = 0, -- REQUIRED TERRAIN ON SOME SIDE
  241.         PLACEMENT_SIDE_TERRAIN_2 = 0,
  242.         TERRAIN_TABLE           = 0, -- MUST USE VALID INDEX HERE (NOT -1)
  243.         FOUNDATION_TERRAIN      = 0, -- TERRAIN PRODUCED UNDER A BUILDING WHEN COMPLETED
  244.         INITIATES_TECHNOLOGY    = 0, -- CAUSES THAT TECHNOLOGY TO BE RESEARCHED WHEN THAT BUILDING IS CREATED
  245.         DEFAULT_TASK            = -1, -- UNIT TASK ID EXECUTED WHEN IDLE
  246.                                       -- TO GET THE UNIT AUTO-CONVERTED TO ENEMY,
  247.                                       -- USE UNIT COMMAND 107, WHICH SHEEP AND MONUMENT HAVE
  248.         DROP_SITE_1             = -1, -- GIVING TO A VILLAGER DROP SITE TO CART-LIKE UNIT
  249.         DROP_SITE_2             = -1, -- CAN ALLOW YOU TO HAVE MOBILE RESOURCE-GATHERERS
  250.                                       -- SIMILAR TO THOSE IN AGE OF MYTHOLOGY
  251.         COLLISION_SIZE_X        = 0,
  252.         COLLISION_SIZE_Y        = 0,
  253.         COLLISION_SIZE_Z        = 0, -- SETTING "CAN BE BUILT ON" TO 1 AND THIS TO 0 CAUSES
  254.                                      -- FARMS TO BE WALKABLE IN AoE/RoR.
  255.         CLEARANCE_SIZE_X        = 0,
  256.         CLEARANCE_SIZE_Y        = 0,
  257.         SELECTION_OUTLINE_SIZE_X = 0,
  258.         SELECTION_OUTLINE_SIZE_Y = 0,
  259.         SELECTION_OUTLINE_SIZE_Z = 0, -- DETERMINE HP BAR LOCATION
  260.                                       -- VERTICAL HALF TILE (ELEVATION HEIGHT?) DISTANCE FROM THE TOP CORNER?
  261.         OCCLUSION_MODE          = 0, -- COMBINABLE BIT FIELD
  262.                                      -- 0  NO OUTLINE
  263.                                      -- 1  OUTLINE DISPLAYED THROUGH OCCLUSION
  264.                                      -- 2  OCCLUDED OTHERS
  265.                                      -- 4  OUTLINE DISPLAYED WHILE CONSTRUCTING
  266.         OBSTRUCTION_TYPE        = 0, -- 0, 1  SQUARE OUTLINE, AND PASSABLE
  267.                                      -- 2  SOLID SQUARE OUTLINE, AND HAS COLLISION BOX
  268.                                      -- 3  SQUARE OUTLINE, AND HAS COLLISION BOX
  269.                                      -- 4  IS PASSABLE, BUT HAS NO OUTLINE
  270.                                      -- 5  ROUND OUTLINE, AND HAS COLLISION BOX
  271.                                      -- 10  LIKE 2, DESIGNED FOR MOUNTAINS
  272.         BLOCKAGE_CLASS          = 0, -- 0  FORCES DEFAULT OBSTRUCTION TYPE
  273.                                      -- 1  RESOURCE
  274.                                      -- 2  UNIT
  275.                                      -- 3  BUILDING
  276.                                      -- 4  WALL
  277.                                      -- 5  GATE, ALLOWS TRESPASSING
  278.                                      -- 6  CLIFF, BLOCKS WALLING
  279.         SELECTION_EFFECT        = 0, -- 0  HAS HIT POINT BAR
  280.                                      -- 1  HAS HIT POINT BAR AND OUTLINE
  281.                                      -- 2  NO HIT POINT BAR OR OUTLINE
  282.                                      -- 3  NO HIT POINT BAR, BUT HAS OUTLINE
  283.         EDITOR_SELECT_COLOR     = 52,
  284.         TRAILING_UNIT           = -1,
  285.         TRAIL_MODE              = 0, -- 0  NOT USED
  286.                                      -- 1  APPEARS WHILE MOVING AND AT THE START OF THE GAME
  287.                                      -- 2  APPEARS WHILE MOVING, BASED ON DENSITY
  288.         TRAIL_DENSITY           = 0, -- ONLY WITH TRAIL MODE 2
  289.         ROTATION_FACTORS = {
  290.         --[[ ROTATION FACTORS * (0^ max^ max^ 0^ max^)
  291.             note I used ^ but I actually mean the little circle for degrees]]
  292.             TURN_RADIUS = 0,
  293.             TURN_RADIUS_SPEED = 'max',
  294.             MAX_YPS_MOVING = 'max', -- 360 DEGREES WHEN MULTIPLYING WITH 4TH BOX RADIAN VALUE
  295.             YAW_ROUND_TIME = 0, -- USED TO GET 3RD AND 5TH BOX TO 360 DEGREES
  296.             MAX_YPS_STATIONARY = 'max', -- 360 DEGREES WHEN MULTIPLYING WITH 4TH BOX RADIAN VALUE
  297.             INTERFACE_KIND = 0, -- UNIT LEVEL
  298.                                 -- CLASS AND THIS SETS THE INTERFACE FOR THIS UNIT
  299.                                 -- 0  NONE
  300.                                 -- 1  RESOURCE
  301.                                 -- 2  BUILDING (BUILD PAGE 1)
  302.                                 -- 3  CIVILIAN
  303.                                 -- 4  SOLDIER
  304.                                 -- 5  TRADE UNIT
  305.                                 -- 6  PRIEST
  306.                                 -- 7  TRANSPORT SHIP
  307.                                 -- 8  RELIC / PRIEST WITH RELIC
  308.                                 -- 9  FISHING BOAT
  309.                                 -- 10  (A=2&8) MILITARY BUILDING (BUILD PAGE 8)
  310.                                 -- 11  SHIELD BUILDING (BUILD PAGE 3)
  311.             TRAIN_TIME = 0,
  312.             TRAIN_LOCATION = -1,
  313.             TRAIN_BUTTON = 0 -- FIRST BUTTON (ALSO SECOND IN TC) 1-15
  314.                              -- SECOND (DOCK) PAGE 21-35
  315.                              -- THIRD PAGE SAME AS FIRST (STAR WARS)
  316.                              -- FIRST PAGE IN AoE/RoR 1-10
  317.                              -- SECOND PAGE IN AoE/RoR 11-20
  318.         },
  319.  
  320.         RESOURCE_STORAGES = {
  321.             {TYPE = -1,
  322.              AMOUNT = 0,
  323.              STORE_MODE = 0}, -- ATTRIBUTE FLAG
  324.                               -- 0  KEEP. DECAYABLE RESOURCE
  325.                               -- 1  GIVE. STORED AFTER DEATH ALSO.
  326.                               -- 2  GIVE AND TAKE. RESETS ON DYING, ENABLES INSTANTLY.
  327.                               -- 4  BUILDING. RESETS ON DYING, ENABLES ON COMPLETION
  328.                               -- UP: 8  STORED ON COMPLETION AND STAYS AFTER DEATH
  329.             {TYPE = -1,
  330.              AMOUNT = 0,
  331.              STORE_MODE = 0},
  332.             {TYPE = -1,
  333.              AMOUNT = 0,
  334.              STORE_MODE = 0}
  335.         },
  336.         COSTS = {
  337.             {TYPE = -1,
  338.              AMOUNT = 0,
  339.              DEDUCT = 0, -- IF SET TO 0 AND THERE IS AN AMOUNT, THE AMOUNT IS REQUIRED BUT NOT PAID
  340.              PAID = FALSE},
  341.             {TYPE = -1,
  342.              AMOUNT = 0,
  343.              DEDUCT = 0,
  344.              PAID = FALSE},
  345.             {TYPE = -1,
  346.              AMOUNT = 0,
  347.              DEDUCT = 0,
  348.              PAID = FALSE},
  349.         }
  350.         STACK_UNIT = -1, -- SECOND BUILDING TO BE PLACED DIRECTLY ON TOP OF THIS BUILDING
  351.                          -- ADDITIONAL BUILDING GETS ADDED EVERY TIME YOU LOAD THE SCENARIO
  352.         HEAD_UNIT = -1, -- THE BUILDING THAT AN ANNEX BUILDING IS ATTACHED TO
  353.         TRANSFORM_UNIT = -1, -- DETERMINES WHAT THE UNIT CHANGES INTO WHEN GIVEN THE ORDER TO UNPACK
  354.         PILE_UNIT = -1, -- APPEARS WHEN THE BUILDING DIES
  355.                         -- DOES NOT APPEAR WITH DELETE COMMAND
  356.         ANNEX_UNITS = {-1,-1,-1,-1},
  357.         ANNEX_UNITS_MISPLACEMENT =
  358.             {0, 0, 0, 0,
  359.              0, 0, 0, 0},
  360.         LOOTING_TABLE = {
  361.             0, -- STONE LOOT SWITCH
  362.             0, -- WOOD LOOT SWITCH
  363.             0, -- ORE LOOT SWITCH
  364.             0, -- GOLD LOOT SWITCH
  365.             0, -- FOOD LOOT SWITCH
  366.             0 -- GOODS LOOT SWITCH
  367.         },
  368.         SOUNDS = { --[[THAT ONLY YOU HEAR]]
  369.             SELECTION_SOUND = -1,
  370.             DYING_SOUND = -1,
  371.             TRAIN_SOUND = -1,
  372.             DAMAGE_SOUND = -1,
  373.             ATTACK_SOUND = -1,
  374.             MOVE_SOUND = -1,
  375.             CONSTRUCTION_SOUND = -1,
  376.             TRANSFORM_SOUND = -1, -- UNUSED
  377.                                   -- DEVELOPERS FORGOT TO IMPLEMENT THIS?
  378.         },
  379.         OBSOLETE_VARIABLES = {
  380.             PORTRAIT = -1, -- WAS PROBABLY USED SIMILARILY TO UNIT ICON
  381.             ATTRIBUTE_MODE = 0, -- 1 ON MORE OR LESS LIVING THINGS
  382.             ATTACK_REACTION = 0, -- 0  NONE
  383.                                  -- 1  RUN
  384.                                  -- 2  RUN WORK
  385.                                  -- 3  FIGHT
  386.                                  -- 4  FIGHT WORK
  387.                                  -- 5  FIGHT RUN
  388.                                  -- 6  FIGHT RUN WORK
  389.             CONVERT_TERRAIN = 0, -- SOME ALPHA FEATURE THAT LET UNITS CHANGE TERRAIN UNDER THEM.
  390.                                  -- SPECIFICALLY FROM PASSABLE TO IMPASSABLE.
  391.             SIZE_CLASS = 0,
  392.             MOVE_ALGORITHM = 0,
  393.             RUN_PATTERN = 0, -- 0  ESCAPE STRAIGHT
  394.                              -- 1  ESCAPE RANDOMLY
  395.             BREAK_OFF_COMBAT = 0,
  396.             OVERLAY = 0, -- ES FORGOT TO REMOVE THIS BEFORE AoE WAS RELEASED.
  397.                          -- THIS POINTS TO REMOVED DATA BLOCK
  398.                          -- THAT WAS LIKE TERRAIN BORDERS.
  399.                          -- YOU COULD BUILD ROADS BACK IN 1996.
  400.             BACKSTAB_BONUS = 0,
  401.             FLANK_BONUS = 0,
  402.             CREATABLE_TYPE = 0, -- 0  NONE
  403.                                 -- 1  VILLAGER
  404.                                 -- 2  INFANTRY
  405.                                 -- 3  CAVALRY
  406.                                 -- 4  RELIC
  407.                                 -- 5  ARCHER
  408.                                 -- 6  MONK
  409.             CAN_BURN = 0,
  410.             GARR_REPAIR_RATE = 0,
  411.         },
  412.         TASKS  =
  413.         { --[[SHARED BY ALL CIVILIZATIONS SINCE AGE OF EMPIRES II]]
  414.             -- YOU CAN HAVE MULTIPLE TASKS...
  415.             [1] =
  416.             {
  417.                 ACTION_TYPE = 3,
  418.                 TASK_TYPE = 1,
  419.                 ID = 1,
  420.                 IS_DEFAULT = 0, -- BASICALLY USELESS
  421.                                 -- USED TO SETUP TASK WHEN DISCOVERED
  422.                                 -- BUT YOU CAN DIRECTLY SET IT IN UNIT DATA ABOVE
  423.                 CLASS = 20,
  424.                 UNIT = -1,
  425.                 TERRAIN = -1,
  426.                 RESOURCE_IN = -1, -- RESOURCE GAINED BY GATHERING
  427.                 PRODUCTIVITY_RESOURCE = -1, -- RESOURCE THAT MULTIPLIES THE AMOUNT YOU GATHER
  428.                 RESOURCE_OUT = -1, -- RESOURCE DEPOSITED ON DROP SITE
  429.                 UNUSED_RESOURCE = -1,
  430.                 WORK_VALUE_1 = 1, -- WORK RATE MODIFIER, MINIMUM CONVERSION TIME
  431.                 WORK_VALUE_2 = 0, -- MAXIMUM CONVERSION TIME
  432.                 WORK_RANGE = 0.1,
  433.                 MOVING_GRAPHIC = -1, -- USED WHEN WALKING WITH A TOOL, BUT CARRYING NO RESOURCES
  434.                 PROCEEDING_GRAPHIC = -1, -- USED WHEN PROCEEDING TO GATHER A RESOURCE OR ATTACK
  435.                 WORKING_GRAPHIC = -1, -- USED WHEN ACTUALLY GATHERING A RESOURCE OR ATTACKING/CONVERTING
  436.                 CARRYING_GRAPHIC = -1, -- USED WHEN CARRYING A RESOURCE
  437.                 RESOURCE_GATHERING_SOUND = -1, -- EXAMPLE: PLAYS WHEN LUMBERJACK STARTS CHOPPING WOOD
  438.                 RESOURCE_DEPOSIT_SOUND = -1, -- EXAMPLE: PLAYS WHEN LUMBERJACK DROPS HIS WOOD INTO TC
  439.                 AUTO_SOUND = 1, -- IF 1, THEN AUTO-SEARCH FOR TARGETS
  440.                 ENABLE_TARGETING = 0, -- AoE ALPHAS: TARGET CHOOSING BASED ON COMBAT LEVEL
  441.                                       -- 0  NO TARGETING
  442.                                       -- 1  ALLOWS UNITS TO SELECT THEIR TARGETS
  443.                 TARGET_DIPLOMACY = 0, -- OWNER TYPE
  444.                                       -- DETERMINES WHAT YOU CAN SELECT AS TARGETS
  445.                                       -- 0, 7+ ALL OBJECTS
  446.                                       -- 1  YOUR OBJECTS ONLY
  447.                                       -- 2  NEUTRAL AND ENEMY OBJECTS ONLY
  448.                                       -- 3  GAIA ONLY
  449.                                       -- 4  GAIA, YOUR ALLY AND ALLY OBJECTS ONLY
  450.                                       -- 5  GAIA, NEUTRAL AND ENEMY OBJECTS ONLY
  451.                                       -- 6  ALL BUT YOUR OBJECTS
  452.                 CARRY_CHECK = 0, -- HOLDING ATTRIBUTE
  453.                                  -- 0  RIGHT-CLICK TARGET IS DEFINED BY THE TARGET DIPLOMACY
  454.                                  -- 1  PRECEDING THE ABOVE, CHECKS IF TARGET HAS MORE THAN 0 RESOURCE.
  455.                 BUILDING_PICK = 0,  -- 1  CHOOSE THIS TASK IF TARGETING A CONSTRUCTION
  456.                 GATHER_TYPE = 0, -- WORK FLAG 1
  457.                                  -- AoE 1: USED WHEN FARM IS DEAD BUT STILL EXISTS
  458.                                  -- 0  PLUNDER FROM RESOURCE
  459.                                  -- 1  PLUNDER FROM PLAYERS
  460.                                  -- 2  RAIDER THING
  461.                 SEARCH_WAIT_TIME = 0, -- UNUSED
  462.                 UNUSED_FLAG = 0,
  463.                 WORK_FLAG_2 = 0, -- UNUSED
  464.             },
  465.         },
  466.         EXISTS = 1,
  467.     }, -- this bracket ends the statistics table. woot
  468.     LANGUAGE = {
  469.         LANGUAGE_FILE_NAME      = 0, -- USUAL UNIT FILE PATTERN FOR THE CONQUERORS
  470.                                      -- NAME: 5000-5999
  471.                                      -- CREATION: NAME + 1000
  472.                                      -- HOTKEY: NAME + 11000
  473.                                      -- HELP: NAME + 100000, IN FILE NAME + 21000
  474.                                      -- HOTKEY TEXT: NAME + 150000, IN FILE NAME + 10000
  475.                                      -- TECH TREE: NAME + 9000
  476.         LANGUAGE_FILE_CREATION  = 0,
  477.         HOTKEY                  = 0, -- 10000 + LANGUAGE FILE CREATION (USUALLY)
  478.         LANGUAGE_FILE_HELP      = 0, -- 100000 + LANGUAGE FILE NAME
  479.                                     -- THIS IS LINED TO THE HELP TEXT BELOW
  480.         HELP_CONVERTER          = 0, -- LANGUAGE HELP TEXT IN FILE
  481.                                      -- HIT ENTER TO GET THE CORRECTION INTO DAT FILE
  482.         LANG_FILE_HOTKEY_TEXT = 0, -- 150000 + LANGUAGE FILE NAME
  483.                                    -- THIS SEEMS TO BE USED ONLY IN AoE (NOT RoR)
  484.                                    -- THIS LANGUAGE LINE AHS OTHER PURPOSES IN SWGB AND CC
  485.         HOTKEY_TEXT_CONVERTER = 0, -- LANGUAGE HOTKEY TEXT IN FILE
  486.                                    -- HIT ENTER TO GET THE CORRECTION INTO DAT FILE
  487.         ["INPUT_TEXT_AREA?"] = "Create <b> Elite Jaguar Warrior<b> (<cost>)
  488. Aztec unique unit. Stronger than Jaguar Warrior. Attack bonus vs. other infantry. <i> Upgrades: attack, armor (Blacksmith); line of sight, speed (Barracks); creation speed (Castle); more resistant to Monks (Monastery).<i>
  489. <hp> <attack> <armor> <piercearmor> <range>"
  490.     },
  491.     GRAPHICS = {
  492.         GRAPHICS_STANDING_1     = 0,
  493.         GRAPHICS_STANDING_2     = 0,
  494.         GRAPHICS_DYING_1        = 0,
  495.         GRAPHICS_DYING_2        = 0,
  496.         GRAPHICS_WALKING        = 0,
  497.         GRAPHICS_RUNNING        = 0,
  498.         GRAPHICS_ATTACKING      = 0,
  499.         GRAPHICS_SNOW           = 0,
  500.         GRAPHICS_HOUSED         = 0,
  501.         GRAPHICS_ICON           = 0,
  502.         GRAPHICS_ANGLE          = 0,
  503.         GRAPHICS_SPECIAL        = 0,
  504.  
  505.         GRAPHICS_DAMAGE_BUILDING_ONLY = DAMAGE_ARRAY{
  506.             {DAMAGE_PERCENT=25, APPLY_MODE=0, GRAPHIC_ID=0},
  507.             {DAMAGE_PERCENT=25, APPLY_MODE=0, GRAPHIC_ID=0},
  508.             {DAMAGE_PERCENT=25, APPLY_MODE=0, GRAPHIC_ID=0}
  509.         },
  510.     }
  511. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement