Armordefs.lua: Difference between revisions

From Spring
Jump to navigationJump to search
Flozi (talk | contribs)
m →Source: reformat
Flozi (talk | contribs)
m 1cat
Line 57: Line 57:
uses default damage class, except for one unit that is "armored."
uses default damage class, except for one unit that is "armored."


[[Category:Game development]]
[[Category:gamedata]]
[[Category:gamedata]]

Revision as of 10:00, 21 March 2013

Location

armordefs.lua is a file in the Gamedata/ directory of a Spring Game.

Purpose

This file sorts units into different armor classes. Weapons can deal different amount of damage to different armor classes.

Source

The engine source code which parses the data from this file is viewable here:

Details

By default a damage class named "default" exists and every unit is in it. So if all your weapons only deal "default" damage then this file is not needed.

Example

local armorDefs = {
tanks = {
	"supertank",
	"megatank",
},

infantry = {
	"dude",
},

for categoryName, categoryTable in pairs(armorDefs) do
  local t = {}
  for _, unitName in pairs(categoryTable) do
    t[unitName] = 1
  end
  armorDefs[categoryName] = t
end

return armorDefs

Note:
The cryptic looking loop at the end is required to convert the table to a different format. Just copy & paste it.

weapon example

Goes with above example, a weapon that deals 60 damage to infantry but only 5 damage to tanks:

...
damage = {
infantry = 60,
tanks = 5,
},
...

links to more examples

zero-K
contains scripting to take into account various things like EMP damage.

Tutorial Game
uses default damage class, except for one unit that is "armored."