|
|
(34 intermediate revisions by 7 users not shown) |
Line 1: |
Line 1: |
− | This is only a proposal and not official information by the VCMI team. See thread http://forum.vcmi.eu/viewtopic.php?t=533.
| + | {{Template:MovedToWebpage|https://vcmi.eu/modders/Entities_Format/Creature_Format/}} |
− | | |
− | todo:
| |
− | * remove deprecated attributes once implemented in town config
| |
− | * better name for amm, something more self-documenting
| |
− | * decide on long vs short format
| |
− | * exact syntax for abilities (longer term?)
| |
− | * creature experience
| |
− | | |
− | long version (83 lines):
| |
− | <pre>
| |
− | { | |
− | "" : // name (for configs), should be camel case version of interface name. Examples: Pikeman, RoyalGriffin
| |
− | {
| |
− | // mandatory
| |
− | "names" : ["", ""], // interface names: singular, plural
| |
− | "level" : 0,
| |
− | "faction" : "", // config name of faction. Examples: Castle, Rampart
| |
− | "cost" : 0, // gold. If other, use optional longer syntax
| |
− | "fightValue" : 0,
| |
− | "aiValue" : 0,
| |
− | "growth" : 0,
| |
− | "hitPoints" : 0,
| |
− | "speed" : 0,
| |
− | "attack" : 0,
| |
− | "defence" : 0,
| |
− | "damage" : [0, 0], // damage min, max. If same use single integer
| |
− | "amm" : [0, 0], // adventure map amount. If same use single integer
| |
− | "graphics" :
| |
− | {
| |
− | "animation" : "" // name of def file
| |
− | },
| |
− | | |
− | // optional
| |
− | "upgrades" : "", // config name of creature that this creature can be upgraded to
| |
− | "cost" :
| |
− | {
| |
− | "Wood" : 0,
| |
− | "Mercury" : 0,
| |
− | "Ore" : 0,
| |
− | "Sulfur" : 0,
| |
− | "Crystal" : 0,
| |
− | "Gems" : 0,
| |
− | "Gold" : 0
| |
− | },
| |
− | "shots" : 0,
| |
− | "spellPoints" : 0,
| |
− | "abilities" :
| |
− | {
| |
− | },
| |
− | "graphics" :
| |
− | {
| |
− | "timeBetweenFidgets" : 1.00,
| |
− | "troopCountLocationOffset" : 0,
| |
− | "attackClimaxFrame" : 0,
| |
− | "animationTime" :
| |
− | {
| |
− | "walk" : 1.00,
| |
− | "attack" : 1.00,
| |
− | "flight" : 1.00
| |
− | },
| |
− | "backgrounds" :
| |
− | {
| |
− | "120" : "", // if empty, uses faction background
| |
− | "130" : "" // if empty, uses faction background
| |
− | },
| |
− | "missile" :
| |
− | {
| |
− | "animation" : "", // name of def file for missile
| |
− | "spin" : false,
| |
− | "offset" :
| |
− | {
| |
− | "upperX" : 0,
| |
− | "upperY" : 0,
| |
− | "middleX" : 0,
| |
− | "middleY" : 0,
| |
− | "lowerX" : 0,
| |
− | "lowerY" : 0
| |
− | },
| |
− | "missileFrameAngles" : []
| |
− | }
| |
− | },
| |
− | "sounds" : // names of sound files
| |
− | {
| |
− | "attack": "",
| |
− | "defend": "",
| |
− | "killed": "",
| |
− | "move": "",
| |
− | "shoot" : "",
| |
− | "wince": "",
| |
− | "ext1" : "",
| |
− | "ext2" : "",
| |
− | "moveStart" : "",
| |
− | "moveEnd" : ""
| |
− | },
| |
− | | |
− | // deprecated, move to town config
| |
− | "hordeGrowth" : 0, // growth bonus from horde building
| |
− | "turretShooter" : false // if used in turret
| |
− | },
| |
− | // more creatures
| |
− | } | |
− | </pre>
| |
− | pikeman long (39 lines):
| |
− | <pre>
| |
− | {
| |
− | "Pikeman" :
| |
− | {
| |
− | "names" : ["Pikeman", "Pikemen"],
| |
− | "level" : 1,
| |
− | "faction" : "Castle",
| |
− | "upgrades" : "Halberdier",
| |
− | "cost" : 60,
| |
− | "fightValue" : 100,
| |
− | "aiValue" : 80,
| |
− | "growth" : 14,
| |
− | "hitPoints" : 10,
| |
− | "speed" : 4,
| |
− | "attack" : 4,
| |
− | "defence" : 5,
| |
− | "damage" : [1, 3],
| |
− | "amm" : [20, 50],
| |
− | "abilities" :
| |
− | {
| |
− | "CHARGE_IMMUNITY" : {}
| |
− | },
| |
− | "graphics" :
| |
− | {
| |
− | "animation" : "CPKMAN.DEF",
| |
− | "animationTime" :
| |
− | {
| |
− | "walk" : 1.15
| |
− | }
| |
− | },
| |
− | "sound" :
| |
− | {
| |
− | "attack": "PIKEATTK.wav",
| |
− | "defend": "PIKEDFND.wav",
| |
− | "killed": "PIKEKILL.wav",
| |
− | "move": "PIKEMOVE.wav",
| |
− | "wince": "PIKEWNCE.wav"
| |
− | }
| |
− | }
| |
− | }
| |
− | </pre>
| |
− | | |
− | short version (65 lines):
| |
− | <pre>
| |
− | {
| |
− | "" :
| |
− | {
| |
− | // mandatory
| |
− | "names" : ["", ""],
| |
− | "level" : 0,
| |
− | "faction" : "",
| |
− | "cost" : 0,
| |
− | "fightValue" : 0,
| |
− | "aiValue" : 0,
| |
− | "growth" : 0,
| |
− | "hitPoints" : 0,
| |
− | "speed" : 0,
| |
− | "attack" : 0,
| |
− | "defence" : 0,
| |
− | "damage" : [0, 0],
| |
− | "amm" : [0, 0],
| |
− | "animation" : "",
| |
− | | |
− | // optional
| |
− | "upgrades" : "",
| |
− | "cost" :
| |
− | {
| |
− | "Wood" : 0,
| |
− | "Mercury" : 0,
| |
− | "Ore" : 0,
| |
− | "Sulfur" : 0,
| |
− | "Crystal" : 0,
| |
− | "Gems" : 0,
| |
− | "Gold" : 0
| |
− | },
| |
− | "shots" : 0,
| |
− | "spellPoints" : 0,
| |
− | "abilities" :
| |
− | {
| |
− | },
| |
− | "timeBetweenFidgets" : 1.00,
| |
− | "troopCountLocationOffset" : 0,
| |
− | "attackClimaxFrame" : 0,
| |
− | "animationTimeWalk" : 1.00,
| |
− | "animationTimeAttack" : 1.00,
| |
− | "animationTimeFlight" : 1.00,
| |
− | "background120" : "",
| |
− | "background130" : "",
| |
− | "missileAnimation" : "",
| |
− | "missileSpin" : false,
| |
− | "missileOffsetUpperX" : 0,
| |
− | "missileOffsetUpperY" : 0,
| |
− | "missileOffsetMiddleX" : 0,
| |
− | "missileOffsetMiddleY" : 0,
| |
− | "missileOffsetLowerX" : 0,
| |
− | "missileOffsetLowerY" : 0,
| |
− | "missileFrameAngles" : [],
| |
− | "soundAttack": "",
| |
− | "soundDefend": "",
| |
− | "soundKilled": "",
| |
− | "soundMove": "",
| |
− | "soundShoot" : "",
| |
− | "soundWince": "",
| |
− | "soundExt1" : "",
| |
− | "soundExt2" : "",
| |
− | "soundMoveStart" : "",
| |
− | "soundMoveEnd" : "",
| |
− | | |
− | // deprecated
| |
− | "hordeGrowth" : 0,
| |
− | "turretShooter" : false
| |
− | }
| |
− | }
| |
− | </pre>
| |
− | pikeman short (30 lines):
| |
− | <pre>
| |
− | {
| |
− | "Pikeman" :
| |
− | {
| |
− | "names" : ["Pikeman", "Pikemen"],
| |
− | "level" : 1,
| |
− | "faction" : "Castle",
| |
− | "upgrades" : "Halberdier",
| |
− | "cost" : 60,
| |
− | "fightValue" : 100,
| |
− | "aiValue" : 80,
| |
− | "growth" : 14,
| |
− | "hitPoints" : 10,
| |
− | "speed" : 4,
| |
− | "attack" : 4,
| |
− | "defence" : 5,
| |
− | "damage" : [1, 3],
| |
− | "amm" : [20, 50],
| |
− | "abilities" :
| |
− | {
| |
− | "CHARGE_IMMUNITY" : {}
| |
− | },
| |
− | "animation" : "CPKMAN.DEF",
| |
− | "animationTimeWalk" : 1.15,
| |
− | "soundAttack": "PIKEATTK.wav",
| |
− | "soundDefend": "PIKEDFND.wav",
| |
− | "soundKilled": "PIKEKILL.wav",
| |
− | "soundMove": "PIKEMOVE.wav",
| |
− | "soundWince": "PIKEWNCE.wav"
| |
− | }
| |
− | }
| |
− | </pre>
| |