Unit Design - unit property sheet

Here you may find answers to your questions.

Unit Design - unit property sheet

Postby Stratego (dev) » Sun Sep 20, 2015 6:52 am

Here i try to describe how can u send me unit properties on final voted units, or on a special unit u request for your campaign.

There 2 text required for one unit
1. the property sheet (JSON), includes
- visual definition (icon /animation/constructions stages of the unit)
- stats (all properties of unit)
- sound definitions
- "arrow" sprites (arrow, javelin, rock, cannonball, laserbeam ...)
- weapon effects (like firearcher, or spells)
-
2. validating property sheet (JSON validating)
3. the unit texting

Property sheets
here are some samples to show you how the settings work
- fire archer (with some Uncle Sam weaponeffects)
Code: Select all
{
   "unitTypeName":"UNIT_FIRE_ARCHER",
   "unitType":98,
   "uiDefinition":{
      "visuals":[
     
     
         {
            "imgName":"32_unit_fire_archer.png",
            "type":"DEFAULT",
            "shiftIndicatorsDown":0,
            "typeExtra":0.0,
            "imgColumns":8,
            "imageDefParts":[
               {
                  "cropToRect":{"top": 0,"left":0,"bottom":32,"right":256},
                  "layer":"UNITS",
                  "shiftCol":0,
                  "shiftRow":0,
                  "clickable":true
               }
            ]
         }

         
         ]
   },
   
   "unitStatSheet":{
         "unit":{

            "isTechnology":false,
            "costTurn":3,
            "grantorShopItems":[244],
            "hpMax":11,
            "power":5,
            "rangeAttack":5,
            "armorPierce":0,
            "armorNormal":0,
            "sight":7,

            "unitSizeCol":1,
            "unitSizeRow":1,
            "isUnderConstruction":false,
            "isFactory":false,
            "isFactoryThatNotAffectsFactoryLimits":false,
            "isOccupiableBuilding":false,
            "isWalkableThrough":true,

            "powerAccuracyPenalty":0.0,
            "powerRange":0,
            "powerRangePenaltyPercent":0,
            "attackTypeBurningRock":false,
            "attackTypeArrow":true,

            "rangeWalk":3,           
            "trnWalkTerrain":[
               {"terrainType":"TERRAINS_FORESTWALKABLE", "modifier":1},
               {"terrainType":"TERRAINS_SAILABLE", "modifier":0.6}
            ],
           

            "convertRange":0,
            "convertResistance":0.0,
            "convertPossibility":0.0,
            "rangeHeal":0,
            "healRate":0,
            "rangeMend":0,
            "mendRate":0,
            "canBuild":false,
            "bonusMendingWhenConstructing":0.0,
            "bonusMending":0.0,
            "bonusHealing":1.0,

            "carryCapacity":0,
            "canBeCarried":true,
            "isCarriedUnitSurvivesIfIDie":false,
            "isCarrierCanCarryUnderConstruction":false,
            "isCarrierHidesCarriedUnits":true,
            "isCarrierLetCarriedUnitsToShoot":false,
            "isCarrierRemovesTerrainDrawbacks":false,

            "maxActionCount":1,
            "canOccupyBuilding":true,
            "canKillForest":false,
            "canFlyAsteroid":false,
            "isStealthUnit":false,
            "canSeeStealthUnits":false,

           
            "trnWeaponEffects":[
               {
                  "weaponSlot":"WEAPON_EFFECT_SLOT_WP_1",
                  "effDefault":"EFFECT_FIRE_ARROWS",
                  "effOptions":null
               },
               {
                  "weaponSlot":"WEAPON_EFFECT_SLOT_SPELLCAST",
                  "effDefault":"EFFECT_US_SNIPER_ROCKET",
                  "effOptions":["EFFECT_US_SNIPER_ROCKET", "EFFECT_US_FIRE_ROCKET", "EFFECT_US_STINK_BOMB"]
               }
               
            ],


        "trnCategories":["U_ARCHERS"],
        "trnModifiers":{"unitTypes":["EFFECT_POISONED_ARROWS", "TECH_ARCHERY", "TECH_ARCHERY_LV2", "TECH_ARMOR_ARCHER_LV1", "TECH_ARMOR_ARCHER_LV2"]},
        "trnCanNotCarryMe":{},
        "trnBuilders":{"unitTypes":["UNIT_TC","UNIT_BUILDING_ARCHERY"]},
        "trnBonusList":[
      {
         "modifier":0.5,         
         "unitList":{
            "categories":["U_CHEAP_MELEE","U_BURNABLE", "U_BUILDING_SIZED_UNITS"],
            "unitTypes":["UNIT_ORNITHOPTER"]
         }         
      },
      {
         "modifier":6,         
         "unitList":{"categories":["U_MEGA_BUILDINGS"]}         
      },
      {
         "modifier":2,         
         "unitList":{"categories":["U_SHIPS"]}         
      }
        ],
        "trnBestAgainstMeWater":{"categories":["U_SHIP_ATTACK"]},
        "trnBestAgainstMeGround":{"categories":["U_ANTI_ARCHER"]}
           

         }
   },
   "soundDefinition":{
      "soundPacks":[
         {"soundEvent":"UNIT_SELECTED","packName":"SOUND_PACK_UNIT_SELECT_LAND_UNIT"},
         {"soundEvent":"UNIT_AFFIRM_MOVE","packName":"SOUND_PACK_UNIT_AFFIRM_LAND_UNIT"},
         {"soundEvent":"UNIT_ATTACK","packName":"SOUND_PACK_UNIT_ATTACK_ARROW"},
         {"soundEvent":"UNIT_DAMAGE","packName":"SOUND_PACK_UNIT_DAMAGED_HUMAN"}         
         ]
   },
   "arrowSpriteDefinition":{
      "arrowSprites":[
         {"arrowType":"ATTACK_ARROW","spriteName":"SPRITE_ARROW_FIRE"}
         ]
   }
   
   
   
}



- heavy horsearcher
Code: Select all
{
   "unitTypeName":"UNIT_HEAVY_HORSE_ARCHER",
   "unitType":133,
   "uiDefinition":{
      "visuals":[
     
     
         {
            "imgName":"32_unit_heavy_horse_archer.png",
            "type":"DEFAULT",
            "shiftIndicatorsDown":0,
            "typeExtra":0.0,
            "imgColumns":1,
            "imageDefParts":[
               {
                  "cropToRect":{"top": 0,"left":0,"bottom":32,"right":32},
                  "layer":"UNITS",
                  "shiftCol":0,
                  "shiftRow":0,
                  "clickable":true
               }
            ]
         }

         
         ]
   },
   
   "unitStatSheet":{
         "unit":{

            "isTechnology":false,
            "costTurn":4,
            "grantorShopItems":null,
            "hpMax":28,
            "power":6,
            "rangeAttack":6,
            "armorPierce":2,
            "armorNormal":2,
            "sight":7,

            "unitSizeCol":1,
            "unitSizeRow":1,
            "isUnderConstruction":false,
            "isFactory":false,
            "isFactoryThatNotAffectsFactoryLimits":false,
            "isOccupiableBuilding":false,
            "isWalkableThrough":true,

            "powerAccuracyPenalty":0.0,
            "powerRange":0,
            "powerRangePenaltyPercent":0,
            "attackTypeBurningRock":false,
            "attackTypeArrow":true,

            "rangeWalk":5,           
            "trnWalkTerrain":[
               {"terrainType":"TERRAINS_FORESTWALKABLE", "modifier":1}
            ],
           

            "convertRange":0,
            "convertResistance":0.0,
            "convertPossibility":0.0,
            "rangeHeal":0,
            "healRate":0,
            "rangeMend":0,
            "mendRate":0,
            "canBuild":false,
            "bonusMendingWhenConstructing":0.0,
            "bonusMending":0.0,
            "bonusHealing":1.0,

            "carryCapacity":0,
            "canBeCarried":true,
            "isCarriedUnitSurvivesIfIDie":false,
            "isCarrierCanCarryUnderConstruction":false,
            "isCarrierHidesCarriedUnits":true,
            "isCarrierLetCarriedUnitsToShoot":false,
            "isCarrierRemovesTerrainDrawbacks":false,

            "maxActionCount":1,
            "canOccupyBuilding":true,
            "canKillForest":false,
            "canFlyAsteroid":false,
            "isStealthUnit":false,
            "canSeeStealthUnits":false,

           
            "trnWeaponEffects":[],


        "trnCategories":["U_ARCHERS", "U_MOUNTED_OTHERS", "U_ANTI_INFANTRY"],
        "trnModifiers":{"unitTypes":["EFFECT_POISONED_ARROWS", "TECH_ARCHERY", "TECH_ARCHERY_LV2", "TECH_ARMOR_ARCHER_LV1", "TECH_ARMOR_ARCHER_LV2"]},
   "trnRequires":{"unitTypes":["TECH_UPGRADE_UNIT_HEAVY_HORSE_ARCHER"]},
        "trnCanNotCarryMe":{},
        "trnBuilders":{"unitTypes":["UNIT_TC","UNIT_BUILDING_ARCHERY"]},
        "trnBonusList":[
      {
         "modifier":0.5,         
         "unitList":{
            "categories":["U_CHEAP_MELEE"],
            "unitTypes":["UNIT_ORNITHOPTER", "UNIT_SWORDMAN", "UNIT_BROAD_SWORDMAN", "UNIT_AXE_THROWER", "UNIT_SAMURAI"]
         }         
      }
        ],
        "trnBestAgainstMeWater":{"categories":["U_SHIP_ATTACK"]},
        "trnBestAgainstMeGround":{"categories":["U_ANTI_ARCHER", "U_ANTI_MOUNTED"]}
           

         }
   },
   "soundDefinition":{
      "soundPacks":[
         {"soundEvent":"UNIT_SELECTED","packName":"SOUND_PACK_UNIT_SELECT_LAND_MOUNTED_HORSE"},
         {"soundEvent":"UNIT_AFFIRM_MOVE","packName":"SOUND_PACK_UNIT_AFFIRM_LAND_MOUNTED_HORSE"},
         {"soundEvent":"UNIT_ATTACK","packName":"SOUND_PACK_UNIT_ATTACK_ARROW"},
         {"soundEvent":"UNIT_DAMAGE","packName":"SOUND_PACK_UNIT_DAMAGED_HUMAN"}         
         ]
   }
   
   
   
}




- heavy horse archer upgrade tech
Code: Select all
{                   
   "unitTypeName":"TECH_UPGRADE_UNIT_HEAVY_HORSE_ARCHER",
   "unitType":3014,
   "uiDefinition":{
      "visuals":[
     
     
         {
            "imgName":"32_tech_heavy_horse_archer.png",
            "type":"DEFAULT",
            "shiftIndicatorsDown":0,
            "typeExtra":0.0,
            "imgColumns":1,
            "imageDefParts":[
               {
                  "cropToRect":{"top": 0,"left":0,"bottom":32,"right":32},
                  "layer":"UNITS",
                  "shiftCol":0,
                  "shiftRow":0,
                  "clickable":true
               }
            ]
         }

         
         ]
   },
   
   "unitStatSheet":{
         "unit":{

            "isTechnology":true,
            "costTurn":6,
            "grantorShopItems":[257],
            "trnCategories":[],
       "trnRequires":null,       
            "trnBuilders":{"unitTypes":["UNIT_BUILDING_ARCHERY"]}
           

         }
   }
   
   
   
}



help on understanding the fields:
Code: Select all
      costTurn = 1;
      sight = 0; //visiblity range
      rangeAttack = 1; //attack range (what maximal range it can attack) (1 means only nearby unit)
      hpMax = 1; //health points
      armorPierce = 0; //how big the armor against arrows
      armorNormal = 0; //how big the armor against normal attack
      power = 0; // power of its attack
      powerRange = 0; // can cause damage near the the attacked unit - this is the range of the effect
      powerRangePenaltyPercent = 0; // percentage: how the damage reduces with each step from the target unit (80 means damage=power*0.8 on 1 distance, damage=power*0.8*0.8 on 2 distance)
      maxActionCount = 1;
      rangeWalk = 0; // how far it can walk
      mendRate = 0; // how many HP mended by turn (by this mending unit)
      rangeHeal = 0; //healrange (what maximal range it can heal) (1 means only nearby unit)
      healRate = 0; // how many HP healed by turn (by this healing unit)
      canOccupyBuilding = true;
      carryCapacity = 0; //it can carry more units, tells you how many
      canBeCarried = true;
      bonusHealing = 1; // if this unit have bonus when it is healed by an other unit. 1,1 means 10% bonus.
      bonusMending = 0; // if it is 0 than it cannot be healed, if 0,7 then 30 penalty on healing.
      convertRange = 0; 
      convertPossibility = 0f; // priest property: 0.3 = 30% priest have 30% to convert an other.
      convertResistance = 0f; // victim property: 0.2 = 20% -> if priest has 30% than 30 - 30*0,2 => priest has 26% to convert.
      haveBonusAgainst = null;
      haveBonusAgainstMapped = null;
      bestAgainstMeGround = null;
      bestAgainstMeWater = null;
      modifiers = null;
      builders = null;
      grantorShopItems = null; //this is the shop item id, that is required to build this unit - optional, if it is empty and u define a shopitem with this unit, it is automatically referenced - so use only if you want to more than one shopitems to require for this unit to build.
      canNotCarryMe = null;

//(requires & requiresShopItem are in OR connection: any of these is owned -> the unit is granted to build)
requires; //"type"-s that is required (eg. other techonolgies) to have/build this one
revokerTechs; //"type"-s that revokes this as a buildable unit/tech (eg. a crossbowman upgrade revokes archer from the palette)
upgradeAncestor; // YOU MUST USE IT WHEN a techs upgrades more than one unit type! (eg. orc_axe throwers and orc warriors upgraded by same techs) if >0 than it is the ancestor unit(archer) of this upgraded unit (crossbowman)

grantorShopItems; //"shop item"-s that is required to have/build this one

builders; //is it built in a TC? or in an archery range? or a worker builds it? (if null: in TC nowhere else)   
modifiers; //"type"-s (TECH) that modifies its properties
isTechnology = false; //if true then a TECH or an EFFECT
races; //these races can build the unit/technology if null/empty than every race can build it or the no_race race can build it   
isFunModeBuildable = false;



      isCarriedUnitSurvivesIfIDie = false; // if true than the unit inside is placed in the place of the dying unit (only 1 unit can be carried then?)
      isCarrierRemovesTerrainDrawbacks = false; // if true than a ship can go in (into carrier) if it on a land, a non-forestwalk can go if it(the carrier) is on a forest
      isCarrierHidesCarriedUnits = true; // if true than units in carrier are hidden while carried (the bridge is not hiding anybody)
      isCarrierCanCarryUnderConstruction = false; // if true than unit cancarry other units while under construction
      isCarrierLetCarriedUnitsToShoot = false; // if true than carried units can shoot out from this carrier
      //if multiple tile unit than the BASE tile is the bottom left one!
      unitSizeRow = 1;
      unitSizeCol = 1;
      attackTypeArrow = false; //if arrow than some units have defense against that
      attackTypeBurningRock = false; //if burning rock than some units have defense against that
      isOccupiableBuilding = false; //the TC-s are not attackable, they are occupiable if empty.
      powerAccuracyPenalty = 0; // percent (0.1 means 10%) do decrease accuracy with target movementrange (bonus removes this penalty)
      rangeMend = 0; //mendrange (what maximal range it can mend) (1 means only nearby unit) (if 0 then mends only carried units (all))
      canOccupyBuilding = false;
      carryCapacity = 0; //it can carry more units, tells you how many
      canBeCarried = false;
      isCarriedUnitSurvivesIfIDie = false; // if true than the unit inside is placed in the place of the dying unit (only 1 unit can be carried then?)
      isWalkableThrough = true; // if no than no unit can walk tru this (even allies, and own player)
      isFactory = false; // is this unit a factory unit, meaning that you can build in here (a TC)
      isFactoryThatNotAffectsFactoryLimits = false; // a factory that is counted separately but also limited to factory limits (with 3 TC you can have 3 stable AND 3 great castle too but max 3)
      canBuild = false; //if unit can build other units (wall, tower) than true
      bonusHealing = 0; // if this unit have bonus when it is healed by an other unit. 1,1 means 10% bonus.
      bonusMending = 0; // if it is 0 than it cannot be healed, if 0,7 then 30 penalty on healing.
      bonusMendingWhenConstructing = 0; // if it is 0 than it is constructed with the mending rate, if 0,7 then 30 penalty on constructing compared to the mending.

      convertRange = 0;
      convertPossibility = 0; // priest property: 0.3 = 30% priest have 30% to convert an other.
      convertResistance = 0; // victim property: 0.2 = 20% -> if priest has 30% than 30 - 30*0,2 => priest has 24% to convert.
      currentlyBuilding = null;
      isCarriedButRevealed = false; // if true than the unit is shown over the eg. TC
      isStealthUnit = false; //not visible to enemy (with restrictions)
      canSeeStealthUnits = false; //sees stealth units normally
      isUnderConstruction = false; // if true than at least 2X mending speed.
      carriedUnits = null; //carried units
      specUnitActions = null; //special actions like: production speeder
      weaponEffects = null; //list of effect related to the different weapons (ACTIVE EFFECT!)

            "rndProd":{                  // this will let you make unit groups, and among the group random spawning: eg. if we want to have 2 similar orc riders, but with different images, you can set this to have it random.
             "prodGroup":"AUX",   // group name       
            "prodWeight":20       // summing up the weights in group and getting the random based on weight (eg. you have unitA(w10) unitB(w25) unitC(w15) than unitA=20%, unitB=50%, unitC = 30% chance)
          },




in fantasy version the bone golem (animated from bone-towers)
Code: Select all
{
   "unitTypeName":"UNIT_UND_BUILDING_TOWER_GOLEM",
   "unitType":220,
   "uiDefinition":{
      "visuals":[
     
     
     
         {
            "imgName":"64_unit_undead_building_tower_golem.png",
            "type":"DEFAULT",
            "shiftIndicatorsDown":10,
            "typeExtra":0.0,
            "imgColumns":1,
            "imageDefParts":[
               {
                  "cropToRect":{"top":0, "left":0,"bottom":32,"right":32},
                  "layer":"OVERLAPS",
                  "shiftCol":0,
                  "shiftRow":-1,
                  "clickable":false
               },
               {
                  "cropToRect":{"top":32,"left":0,"bottom":64,"right":32},
                  "layer":"UNITS",
                  "shiftCol":0,
                  "shiftRow":0,
                  "clickable":true
               }
            ]
         }



         
         ]
   }
,
   
   "unitStatSheet":{
         "unit":{

            "isTechnology":false,
            "costTurn":10,
            "grantorShopItems":null,
            "hpMax":65,
            "power":12,
            "rangeAttack":1,
            "armorPierce":2,
            "armorNormal":0,
            "sight":7,

            "unitSizeCol":1,
            "unitSizeRow":1,
            "isUnderConstruction":false,
            "isFactory":false,
            "isFactoryThatNotAffectsFactoryLimits":false,
            "isOccupiableBuilding":false,
            "isWalkableThrough":true,

            "powerAccuracyPenalty":0.0,
            "powerRange":0,
            "powerRangePenaltyPercent":0,
            "attackTypeBurningRock":false,
            "attackTypeArrow":false,

            "rangeWalk":2,           
            "trnWalkTerrain":[
               {"terrainType":"TERRAINS_FORESTWALKABLE", "modifier":1}
            ],
           

            "convertRange":0,
            "convertResistance":0.0,
            "convertPossibility":0.0,
            "rangeHeal":0,
            "healRate":0,
            "rangeMend":0,
            "mendRate":0,
            "canBuild":false,
            "bonusMendingWhenConstructing":0.0,
            "bonusMending":0.0,
            "bonusHealing":1.0,

            "carryCapacity":0,
            "canBeCarried":false,
            "isCarriedUnitSurvivesIfIDie":false,
            "isCarrierCanCarryUnderConstruction":false,
            "isCarrierHidesCarriedUnits":true,
            "isCarrierLetCarriedUnitsToShoot":false,
            "isCarrierRemovesTerrainDrawbacks":false,

            "maxActionCount":1,
            "canOccupyBuilding":false,
            "isStealthUnit":false,
            "canSeeStealthUnits":false,

           
            "trnWeaponEffects":null,


        "trnCategories":["U_WAR_UNITS", "U_SKELETONS", "M_BURNING"],
        "trnEffectAffectTurnsLeft":["3:EFFECT_ENCHANT_VANISHING"],
        "trnModifiers":null,
   "trnRequires":null,
        "trnCanNotCarryMe":{},
        "trnBuilders":null,
        "trnBonusList":null,
        "trnBestAgainstMeWater":{"categories":["U_SHIP_ATTACK"]},
        "trnBestAgainstMeGround":{"categories":["U_MOUNTED"]}
           

         }
   },
   "soundDefinition":{
      "soundPacks":[
         {"soundEvent":"UNIT_SELECTED","packName":"SOUND_PACK_UNIT_SELECT_UND_LAND_UNIT"},
         {"soundEvent":"UNIT_AFFIRM_MOVE","packName":"SOUND_PACK_UNIT_SELECT_UND_LAND_UNIT"},
         {"soundEvent":"UNIT_ATTACK","packName":"SOUND_PACK_UNIT_SELECT_UND_LAND_UNIT"},
         {"soundEvent":"UNIT_DAMAGE","packName":"SOUND_PACK_UNIT_SELECT_UND_LAND_UNIT"}         
         ]
   }
     
   
}


a neutral animal
Code: Select all
{
   "unitTypeName":"UNIT_NEUTRAL_ANIMAL_HEN",
   "unitType":421,
   "uiDefinition":{
      "visuals":[
     
      {
                  "imgName":"unit_neutral_animal_hen.png",
                  "type":"DEFAULT",
                  "shiftIndicatorsDown":10,
                  "typeExtra":0.0,
                  "imgColumns":1,
                  "imageDefParts":[
                            {
                               "cropToRect":{"top":0,"left":0,"bottom":32,"right":32},
                               "layer":"UNITS",
                               "shiftCol":0,
                               "shiftRow":0,
                               "clickable":true
                            }
                  ]
         }
     
         
         ]
   },
   
   "unitStatSheet":{
         "unit":{

            "isTechnology":false,
            "costTurn":5,
            "grantorShopItems":null,
            "hpMax":2,
            "power":0,
            "rangeAttack":1,
            "armorPierce":0,
            "armorNormal":0,
            "sight":3,

            "unitSizeCol":1,
            "unitSizeRow":1,
            "isUnderConstruction":false,
            "isFactory":false,
            "isFactoryThatNotAffectsFactoryLimits":false,
            "isOccupiableBuilding":false,
            "isWalkableThrough":true,

            "powerAccuracyPenalty":0.0,
            "powerRange":0,
            "powerRangePenaltyPercent":0,
            "attackTypeBurningRock":false,
            "attackTypeArrow":false,

            "rangeWalk":3,           
            "trnWalkTerrain":[
               {"terrainType":"TERRAINS_FORESTWALKABLE", "modifier":1}
            ],
           

            "convertRange":0,
            "convertResistance":1,
            "convertPossibility":0.0,
            "rangeHeal":0,
            "healRate":0,
            "rangeMend":0,
            "mendRate":0,
            "canBuild":false,
            "bonusMendingWhenConstructing":0.0,
            "bonusMending":0.0,
            "bonusHealing":1.0,

            "carryCapacity":0,
            "canBeCarried":true,
            "isCarriedUnitSurvivesIfIDie":false,
            "isCarrierCanCarryUnderConstruction":false,
            "isCarrierHidesCarriedUnits":true,
            "isCarrierLetCarriedUnitsToShoot":false,
            "isCarrierRemovesTerrainDrawbacks":false,

            "maxActionCount":1,
            "canOccupyBuilding":true,
            "canKillForest":false,
            "canFlyAsteroid":false,
            "isStealthUnit":false,
            "canSeeStealthUnits":false,

           
            "trnWeaponEffects":null,

   "trnRaces":["RACE_ELF"],
        "trnCategories":["U_ANIMALS_PLANTS", "U_FLESH_AND_BLOOD"],
        "trnModifiers":null,
        "trnCanNotCarryMe":{},
        "trnBuilders":{},
        "trnBonusList":[],
        "trnBestAgainstMeWater":{"categories":["U_SHIP_ATTACK"]},
        "trnBestAgainstMeGround":{"categories":["U_ANTI_INFANTRY"]},
        "trnSpecUnitActions":["IS_TERRAIN_ENTITY", "IS_GAIA_AI_BEAR", "IS_GAIA_ANIMAL"]               

         }
   }
   
   }
   
   


here are some other AOF json in this zip file:
aof_unit_jsons.zip
(293.82 KiB) Downloaded 38 times

here are some other AOS json in this zip file:
aos_unit_jsons.zip
(41.87 KiB) Downloaded 146 times



Validating property sheets
Copy your JSON and place it into this website:
https://jsonformatter.curiousconcept.com/
it will tell you if u have a bad JSON format.

Texting
also we will need some texting for the unit that is required in this form:
Code: Select all
<string name="UNIT_CANNON_SHIP">Cannon ship</string>
<string name="SHOP_CANNON_SHIP">Lets you build: Cannon ship</string>
<string name="unit_txt_cannon_ship">
The Cannon ship is a more modern way of naval warfare, use it for coast bombarding, very effevtive against buildings and slow moving units. It gets inaccurate on faster units.
</string>

<string name="UNIT_HORSE_ARCHER">Horse archer</string>
<string name="SHOP_HORSE_ARCHER">Lets you build: A fast, ranged unit, a mixture of Knight and Archer</string>
<string name="UNIT_TXT_HORSE_ARCHER">
Horse archers are the combination of archer and knight. They are fast and can attack from a range. You can buy horse archer in the upgrades section for gems.
</string>


APPENDIX





Usable units-types, tech-types, effect-types for referencing in JSON
Code: Select all
      UNIT_TC,
      UNIT_ARCHER,
      UNIT_SWORDMAN, 
      UNIT_PRIEST,
      UNIT_HIGH_PRIEST,
      UNIT_WAGON,
      UNIT_CATAPULT,
      UNIT_KNIGHT,
      UNIT_SCOUT,
      UNIT_BIRD,
      UNIT_WORKER,
      UNIT_TRANSPORTSHIP,      
      UNIT_WARSHIP,
      UNIT_ADV_WARSHIP,
      UNIT_FIRESHIP,
      UNIT_CANNON_SHIP,
      UNIT_WALL,
      UNIT_GATE,
      UNIT_TOWER,
      UNIT_BRIDGE,
      UNIT_ORNITHOPTER,
      UNIT_TROJAN_HORSE,
      UNIT_JEANNE_D_ARC,
      UNIT_HOPLITE,
      UNIT_VIKING,
      UNIT_WILLIAM_WALLACE,
      UNIT_LONGBOWMAN,
      UNIT_HORSE_ARCHER,
      UNIT_SW_SPACESHIP,
      UNIT_FORTRESS,
      UNIT_BUILDING_CANNON_TOWER,
      UNIT_CATAPULT_SHIP,
      UNIT_BUILDING_ARCHERY,
      UNIT_SKIRMISHER,
      UNIT_MISSIONARY,
      UNIT_BUILDING_SIEGE,
      UNIT_MONEYMAN,
      UNIT_BUILDING_BARRACKS,
      UNIT_ASSASSIN,
      UNIT_TEMPLAR,
      UNIT_OUTPOST,
      UNIT_PIKEMAN,
      UNIT_WAR_ELEPHANT,
      UNIT_BATTERING_RAM,
      UNIT_BUILDING_STABLE,
      UNIT_BUILDING_CHURCH,
      
      UNIT_BUILDING_DOCK,
      UNIT_BUILDING_ADVANCEMENTS,
      UNIT_BUILDING_GREAT_CASTLE,
      UNIT_BUILDING_BLACKSMITH,
      UNIT_GREAT_TRANSPORT,
      UNIT_BRIDGE_STONE,
      UNIT_SAMURAI,
      UNIT_TREBUCHET,
      UNIT_LORD,
      UNIT_LORD_HUNTRESS,
      UNIT_LORD_PALADIN,
      UNIT_LORD_CHAMPION,
      UNIT_KNIGHT_HERO,
      UNIT_ELEPHANT_ARCHER,
      UNIT_ARCHER_POISON,
      UNIT_AXE_THROWER,
      UNIT_SHIELDER,
      UNIT_BALLISTA,
      UNIT_SLINGER,
      UNIT_HUSSAR,
      UNIT_LANCER,
      UNIT_MAN_AT_ARMS,
      
      UNIT_TOWER_GATLING,
      UNIT_TOWER_BARRAGE,
      UNIT_TOWER_FLAME,
      
      UNIT_MEGA_BUILDING_CASTLE,
      UNIT_CHARIOT,
      UNIT_CHARIOT_ARCHER,
      UNIT_CROSSBOWMAN,
      UNIT_ELITE_SKIRMISHER,
      UNIT_HALBERDIER,
      UNIT_BROAD_SWORDMAN,
      UNIT_HEAVY_KNIGHT,
      UNIT_LIGHT_CAVALRY,
      UNIT_HUN_HUSSAR,
      UNIT_HEAVY_CATAPULT,
      UNIT_HEAVY_LANCER,
      UNIT_FIRE_ARCHER,
      UNIT_ROMAN_LEGION,
      UNIT_MUSLIM_WARRIOR,
      UNIT_MUSLIM_PIKER,
      UNIT_MUSLIM_RIDER,
      UNIT_MUSLIM_ARCHER,
      UNIT_CRUSADER_ARCHER,
      UNIT_CRUSADER,
      UNIT_VETERAN_CRUSADER,
      UNIT_CRUSADER_HORSEMAN,
      UNIT_VETERAN_CRUSADER_HORSEMAN,
      UNIT_CRUSADER_LORD,
      UNIT_TEMPLAR_KNIGHT,
      UNIT_LORD_PRIESTESS,
      UNIT_YARI_ASHIGARU,
      UNIT_TANEGASHIMA_ASHIGARU,
      UNIT_CANNONEER,
      UNIT_ST_STEPHEN,
      UNIT_CENTURION,


      UNIT_TRAINEE000,
      UNIT_TRAINEE001,
      UNIT_TRAINEE002,
      UNIT_TRAINEE011,
      UNIT_TRAINEE012,
      UNIT_TRAINEE021,
      UNIT_TRAINEE022,
      UNIT_TRAINEE111,
      UNIT_TRAINEE112,
      UNIT_TRAINEE121,
      UNIT_TRAINEE122,
      UNIT_TRAINEE211,
      UNIT_TRAINEE212,
      UNIT_TRAINEE221,
      UNIT_TRAINEE222,
      UNIT_BOSS1,
      UNIT_BOSS2,
      UNIT_BOSS3,
      UNIT_SANTA,
      UNIT_US,
      UNIT_TDS_WORKER,
      UNIT_TDS_TOWER1,
      UNIT_TDS_TOWER2,
      UNIT_TDS_TOWER3,
      UNIT_TDS_TOWER4,
      UNIT_TDS_TOWER5,
      UNIT_TDS_TOWER6,
      UNIT_TDS_TOWER7,
      UNIT_TDS_TOWER8,
      UNIT_BRITISH_FIREWORKSHIP,
      
      UNIT_ALASTAR000,
      
      UNIT_ROCKS,
      UNIT_NEUTRAL_WALL,
      UNIT_COOKIE,
      UNIT_SCHOOL_SIGN,
      UNIT_BUNNY,
      UNIT_NEUTRAL_FIRE,
      UNIT_NEUTRAL_STONES_LEFT,
      UNIT_NEUTRAL_STONES_RIGHT,
      UNIT_NEUTRAL_STONES_LIGHT,
      UNIT_NEUTRAL_STONES_DARK,
      UNIT_NEUTRAL_STONES_STATUE,

      UNIT_NEUTRAL_ANIMAL_DEER,
      UNIT_NEUTRAL_ANIMAL_BEAR,
      UNIT_NEUTRAL_ANIMAL_DOLPHIN,

      TECH_WRITING,
      TECH_BALLISTICS,
      TECH_FLIGHT,
      TECH_TOWN_PATROL,
      TECH_MASONRY,
      TECH_AMBIDEXTRIA,
      TECH_AREA_DAMAGE,
      TECH_PERSUASION,
      TECH_STEAL,
      TECH_MASSIVE_WALLS,
      TECH_ARCHERY,
      TECH_LOYALTY,
      TECH_MACHINERY,
      TECH_UPGRADE_UNIT_CROSSBOWMAN,
      TECH_UPGRADE_UNIT_ELITE_SKIRMISHER,
      TECH_UPGRADE_UNIT_HALBERDIER,
      TECH_UPGRADE_UNIT_BROAD_SWORDSMAN,
      TECH_UPGRADE_UNIT_HEAVY_KNIGHT,
      TECH_UPGRADE_UNIT_MAN_AT_ARMS,
      TECH_UPGRADE_UNIT_HEAVY_CATAPULT, 
      TECH_UPGRADE_UNIT_HEAVY_LANCER,
      TECH_UPGRADE_UNIT_ADV_WARSHIP,
      TECH_UPGRADE_UNIT_HIGH_PRIEST,

      TECH_ARCHERY_LV2 ,
      TECH_ARMOR_ARCHER_LV1 ,
      TECH_ARMOR_ARCHER_LV2 ,
      TECH_ARMOR_CAVALRY_LV1 ,
      TECH_ARMOR_CAVALRY_LV2 ,
      TECH_ARMOR_INFANTRY_LV1 ,
      TECH_ARMOR_INFANTRY_LV2 ,
      TECH_SWORD_LV1 ,
      TECH_SWORD_LV2 ,
      TECH_GUNPOWDER,

      EFFECT_POISONED_ARROWS,
      EFFECT_HIGH_MORALE,
      EFFECT_LEGION,
      EFFECT_FIRE_ARROWS,
      EFFECT_KILL,
      EFFECT_MINUS_65_HP,


Usable terrain references (both in AOS and AOF)
Code: Select all
TERRAIN_WATER,            
TERRAIN_DEEP_WATER,   
TERRAIN_WOOD,      
TERRAIN_CLEARGROUND,   
TERRAIN_HILL,      
TERRAIN_OBSTACLE,   
TERRAIN_ROCK,      
TERRAIN_DESERT,      
TERRAIN_SNOW,      
TERRAIN_ROAD,      
TERRAIN_BRIDGE,      

TERRAINS_PLAINSWALKABLE, {TERRAIN_CLEARGROUND, TERRAIN_DESERT, TERRAIN_SNOW, TERRAIN_ROAD, TERRAIN_BRIDGE}
TERRAINS_FORESTWALKABLE,{TERRAIN_CLEARGROUND, TERRAIN_DESERT, TERRAIN_SNOW, TERRAIN_ROAD, TERRAIN_BRIDGE, TERRAIN_WOOD}
TERRAINS_SAILABLE,   {TERRAIN_WATER, TERRAIN_DEEP_WATER, TERRAIN_BRIDGE}
TERRAINS_FLYABLE,    {TERRAIN_WATER, TERRAIN_DEEP_WATER, TERRAIN_CLEARGROUND, TERRAIN_DESERT, TERRAIN_SNOW, TERRAIN_ROAD, TERRAIN_BRIDGE, TERRAIN_HILL, TERRAIN_OBSTACLE, TERRAIN_ROCK, TERRAIN_WOOD}   


Usable specActions in datasheet
Code: Select all
      
      PROD_SPEEDUP, // if unit is in a TC than it will be used for any other unit production
      TRANSPORTING_VEIN, // if unit basic task is a transporter (not an attacker) than this is set.
      STEALTH_UNIT, //this is the new definition for stealth units (instead of isStealthUnit)
      STEALTH_ONLY_UNIT, //this is a indicator of a unit that is not an ASSASSIN but onlya stealth/invisible unit.
      STEALTH_EXPLODES_ON_STEP, //ise this to make damaging units, that damages on step (like a trap, or landmine)
      STEALTH_CAN_SEE_STEALTH, //this is the new definition for stealth units (instead of canSeeStealthUnits)
      CAN_STEAL_TECH_FROM_TC, //this is a indicator of a unit that is not an ASSASSIN but only a stealth/invisible unit.
      CAN_SPY_ENEMY_CARRIER, //can see the internals of enemy carriers
      CAN_GO_TRU_ENEMY_OBJECTS, //a shade that can go tru even on enemy objects.
      IS_STEPPABLE, //anyone can step on it (like it was terrain) but immediately vanishes
      IS_INATTACKABLE, //can be targeted or not (not used yet)
      IS_MIRROR_UNIT, //enemy sees it like it would be a normal unit, but allies sees it as a mirror unit (something changed on image...), if attacked than vanishes.
      IS_REANIMATABLE, //is it a corpse to be reanimated
      IS_INCONVERTIBLE, //can not be converted, ever.
      IS_TERRAIN_ENTITY, //considered as terrain entity (if the map has only these units than it is still only a terrain (random) map
      IS_GAIA_AI_DEER, //the unit has an AI task that acts like a deer
      IS_GAIA_AI_BEAR, //the unit has an AI task that acts like a bear
      IS_GAIA_AI_DOLPHIN, //the unit has an AI task that acts like a dolphin
      IS_GAIA_ANIMAL, //the unit is a gaia animal (at least it was on game start)
      CAN_NOT_COUNTERATTACK, //the unit can not counterattack
      NO_PLAYER_CONTROLLED, // such unit is not controllable by the player, only AI will control it in the name of the player.
      CAN_FLY, //in the new terrain era we lost the info that a unit can fly or not, so this spec action will indicate flying.
      AI_FACTORY_SINGLE, //AI information: means only one factory must be built for an AI player from this in one game (eg. blacksmith)
      IS_BUILD_IMMEDIATE, //this case the building (eg. palisade) will not have an 1hp construction site and you can build further, but it builds immediately to the hp where the builder can build it.
       IS_EFFECT_NOT_FOR_UNDERCONSTR, // if the prop changetr or tech is not for under constuction things.
       BYPASS_ARMOR, //if the unit damage is reduced by the armor
       BYPASS_PARMOR, //if the unit damage is reduced by the parmor
            NO_CONSTRUCT, //if a mending unit can not construct under construction units/buildings (like mending ship should not)
            NO_MEND_HIMSELF //if a mending unit can not mend himself, only garrisoned units (eg. airport shoiuld not mend himself but garrisoneds)
       IS_ALL_TECH_MEMBER, //if a tech a techs to be in "all techs" section - meaning the DEFAULT techs
       CAN_BE_FLOWN_TRU // if this unit is so low on ground and has no armament to reach - so flyers van fly over it (like caltrops in AOW)
       IS_EFFECT_REDUCED_BY_ARMOR, // if the prop changer effect (that is HP changing one!) will be reduced by NORMAL armor
       IS_EFFECT_REDUCED_BY_PARMOR, // if the prop changer effect (that is HP changing one!) will be reduced by PIERCE armor
            IS_OCCUPIABLE, // - occupiable like the TC but means only occupiable and internal units get damaged(nothing else that "isoccupiablebuilding=true" means like no pop limit, visible on explored terrain and so on)
            IS_CARRIED_DAMAGABLE, //if the carried units are receiving damage or not (like on TC-s) - combine lthis with IS_INATTACKABLE to work like a TC
       IS_LEGENDARY, //on the game area only one can exists, the second will not be produced (stops production)
       IS_UNIQUE, //for the player only one can exists, the second will not be produced (stops production)



Usable sound packs and event

events:
Code: Select all
         UNIT_SELECTED,
         UNIT_AFFIRM_MOVE,
         UNIT_ATTACK,
         UNIT_MEND_BUILD,
         UNIT_HEAL,
         UNIT_CONVERT,
         UNIT_DAMAGE,
         GLOBAL_TC_OCCUPY,
         GLOBAL_HUD_BUTTON_PRESS,
         GLOBAL_HUD_BUTTON_SHOP_PRESS,
         GLOBAL_WAYPOINT_SET,


Sound packs for AOS:
Code: Select all
SOUND_PACK_UNIT_SELECT_LAND_UNIT                
SOUND_PACK_UNIT_SELECT_WATER_UNIT       
SOUND_PACK_UNIT_SELECT_LAND_NON_WAR_UNIT    
SOUND_PACK_UNIT_SELECT_LAND_CATAPULT       
SOUND_PACK_UNIT_SELECT_LAND_SCOUT       
SOUND_PACK_UNIT_SELECT_LAND_MOUNTED_HORSE     
SOUND_PACK_UNIT_SELECT_LAND_MOUNTED_ELEPHANT     
SOUND_PACK_UNIT_SELECT_AIR_HAWK        
SOUND_PACK_UNIT_SELECT_BUILDING        
SOUND_PACK_UNIT_SELECT_LAND_PRIEST      
SOUND_PACK_UNIT_SELECT_TIE         
SOUND_PACK_UNIT_SELECT_US         

SOUND_PACK_UNIT_AFFIRM_LAND_UNIT       
SOUND_PACK_UNIT_AFFIRM_WATER_UNIT       
SOUND_PACK_UNIT_AFFIRM_LAND_NON_WAR_UNIT    
SOUND_PACK_UNIT_AFFIRM_LAND_CATAPULT       
SOUND_PACK_UNIT_AFFIRM_LAND_SCOUT       
SOUND_PACK_UNIT_AFFIRM_LAND_MOUNTED_HORSE     
SOUND_PACK_UNIT_AFFIRM_LAND_MOUNTED_ELEPHANT     
SOUND_PACK_UNIT_AFFIRM_AIR_HAWK        
SOUND_PACK_UNIT_AFFIRM_LAND_PRIEST      
SOUND_PACK_UNIT_AFFIRM_TIE         

SOUND_PACK_UNIT_ATTACK_SWING          
SOUND_PACK_UNIT_ATTACK_ARROW          
SOUND_PACK_UNIT_ATTACK_CATAPULT       
SOUND_PACK_UNIT_ATTACK_RAM          
SOUND_PACK_UNIT_ATTACK_NON_WAR_UNIT       
SOUND_PACK_UNIT_ATTACK_TIE          
SOUND_PACK_UNIT_ATTACK_ROCKET          
SOUND_PACK_UNIT_ATTACK_SNIPER_ROCKET       
SOUND_PACK_UNIT_ATTACK_SNIPER_ROCKET_EXPLOSION    
SOUND_PACK_UNIT_ATTACK_STINK_BOMB_EXPLOSION    
SOUND_PACK_UNIT_ATTACK_FIRE_ROCKET_EXPLOSION    

SOUND_PACK_UNIT_ATTACK_ELEPHANT       

SOUND_PACK_UNIT_ATTACK_CANNON          

SOUND_PACK_UNIT_HEAL             
SOUND_PACK_UNIT_CONVERT          
SOUND_PACK_UNIT_MEND_BUILD          

SOUND_PACK_UNIT_DAMAGED_HUMAN          
SOUND_PACK_UNIT_DAMAGED_BUILDING       
SOUND_PACK_UNIT_DAMAGED_VEHICLE       
SOUND_PACK_UNIT_DAMAGED_SCOUT          
SOUND_PACK_UNIT_DAMAGED_HAWK          
SOUND_PACK_UNIT_DAMAGED_ELEPHANT       

SOUND_PACK_GLOBAL_TC_OCCUPY          
SOUND_PACK_GLOBAL_BUTTON_HUD          
SOUND_PACK_GLOBAL_BUTTON_HUD_SHOP       
SOUND_PACK_GLOBAL_WAYPOINT_SET    

Sound packs for AOF:
Code: Select all
SOUND_PACK_UNIT_SELECT_LAND_UNIT       
SOUND_PACK_UNIT_SELECT_WATER_UNIT       
SOUND_PACK_UNIT_SELECT_LAND_NON_WAR_UNIT    
SOUND_PACK_UNIT_SELECT_LAND_WIZARD       
SOUND_PACK_UNIT_SELECT_LAND_CATAPULT       
SOUND_PACK_UNIT_SELECT_LAND_SCOUT       
SOUND_PACK_UNIT_SELECT_LAND_MOUNTED_HORSE     
SOUND_PACK_UNIT_SELECT_LAND_MOUNTED_ELEPHANT     
SOUND_PACK_UNIT_SELECT_AIR_HAWK        
SOUND_PACK_UNIT_SELECT_BUILDING        
SOUND_PACK_UNIT_SELECT_LAND_PRIEST      
SOUND_PACK_UNIT_SELECT_TIE         

SOUND_PACK_UNIT_SELECT_UND_LAND_UNIT      
SOUND_PACK_UNIT_SELECT_ORC_LAND_UNIT      

SOUND_PACK_UNIT_SELECT_DRAGON          
SOUND_PACK_UNIT_SELECT_UND_MAGES      

SOUND_PACK_UNIT_AFFIRM_LAND_UNIT       
SOUND_PACK_UNIT_AFFIRM_WATER_UNIT       
SOUND_PACK_UNIT_AFFIRM_LAND_NON_WAR_UNIT    
SOUND_PACK_UNIT_AFFIRM_LAND_CATAPULT       
SOUND_PACK_UNIT_AFFIRM_LAND_SCOUT       
SOUND_PACK_UNIT_AFFIRM_LAND_MOUNTED_HORSE     
SOUND_PACK_UNIT_AFFIRM_LAND_MOUNTED_ELEPHANT     
SOUND_PACK_UNIT_AFFIRM_AIR_HAWK        
SOUND_PACK_UNIT_AFFIRM_LAND_PRIEST      
SOUND_PACK_UNIT_AFFIRM_TIE          

SOUND_PACK_UNIT_AFFIRM_DRAGON          

SOUND_PACK_UNIT_ATTACK_SWING          
SOUND_PACK_UNIT_ATTACK_ARROW          
SOUND_PACK_UNIT_ATTACK_CATAPULT       
SOUND_PACK_UNIT_ATTACK_RAM          
SOUND_PACK_UNIT_ATTACK_NON_WAR_UNIT       
SOUND_PACK_UNIT_ATTACK_TIE          
SOUND_PACK_UNIT_ATTACK_ELEPHANT       

SOUND_PACK_UNIT_ATTACK_DRAGON_BREATH       

SOUND_PACK_UNIT_HEAL             
SOUND_PACK_UNIT_CONVERT          
SOUND_PACK_UNIT_MEND_BUILD          

SOUND_PACK_UNIT_DAMAGED_HUMAN          
SOUND_PACK_UNIT_DAMAGED_BUILDING       
SOUND_PACK_UNIT_DAMAGED_VEHICLE       
SOUND_PACK_UNIT_DAMAGED_SCOUT          
SOUND_PACK_UNIT_DAMAGED_HAWK          
SOUND_PACK_UNIT_DAMAGED_ELEPHANT       
SOUND_PACK_UNIT_DAMAGED_WIZARD          

SOUND_PACK_UNIT_DAMAGED_ORC          

SOUND_PACK_UNIT_DAMAGED_DRAGON          

SOUND_PACK_SPELL_ANIM_FIREBALL_EXPLOSION    
SOUND_PACK_SPELL_ANIM_THUNDER_STORM       

SOUND_PACK_GLOBAL_TC_OCCUPY          
SOUND_PACK_GLOBAL_BUTTON_HUD          
SOUND_PACK_GLOBAL_BUTTON_HUD_SHOP       
SOUND_PACK_GLOBAL_WAYPOINT_SET          


Usable arrow sprites and arrow type actions

Arrow type actions:
Code: Select all
ATTACK_ARROW,
ATTACK_FIREBURN,
CONVERT,
MEND,
HEAL


Arrow sprites for AOS
Code: Select all
SPRITE_LASERBEAM_2GREEN      
SPRITE_ARROW_JAVELIN      
SPRITE_ARROW_BALLISTA      
SPRITE_ARROW_HEAL      
SPRITE_ARROW_CONVERT      
SPRITE_ARROW_MEND      
SPRITE_ARROW_STONE      
SPRITE_ARROW_CANNON_BALL   
SPRITE_ARROW_FIRE      
SPRITE_ARROW_AXE      
SPRITE_ARROW_SMALL_STONE   
SPRITE_ARROW_CONVERT_SANTA   
SPRITE_ARROW_FIREWORKS      


Arrow sprites for AOF
Code: Select all
SPRITE_ARROW_BAT,
SPRITE_LASERBEAM_2GREEN,
SPRITE_ARROW_JAVELIN,
SPRITE_ARROW_HEAL,
SPRITE_ARROW_CONVERT,
SPRITE_ARROW_MEND,
SPRITE_ARROW_STONE,
SPRITE_ARROW_FIRE,
SPRITE_ARROW_AXE,


Usable weapon effects

weapon "types":
Code: Select all
WEAPON_EFFECT_SLOT_SPELLCAST
WEAPON_EFFECT_SLOT_WP_1


weapon effects types:
AOS:
Code: Select all
EFFECT_POISONED_ARROWS         
EFFECT_DELAYED_CONVERSION      
EFFECT_FIRE_ARROWS         
EFFECT_US_SNIPER_ROCKET         
EFFECT_US_FIRE_ROCKET         
EFFECT_US_STINK_BOMB         
EFFECT_US_FIRE_ROCKET_EFFECT      
EFFECT_FIRE_ARROWS_ON_EVERYONE      
EFFECT_US_STINK_BOMB_EFFECT      
EFFECT_HIGH_MORALE         
EFFECT_AURA_HIGH_MORALE_ULIMITED   
EFFECT_AURA_LEGION_ULIMITED      
EFFECT_LEGION            


AOF:
Code: Select all

EFFECT_POISONED_ARROWS         
EFFECT_IMMEDIATE_CONVERSION      
EFFECT_SLOWING            
EFFECT_DISARMOR            
EFFECT_ENCHANT_STRENGTHEN      
EFFECT_INSTANT_HEAL         
EFFECT_INSTANT_DISENCHANT      
EFFECT_INSTANT_SUMMON_SKELETON      
EFFECT_INSTANT_CASTER_AND_TARGET_DIES   
EFFECT_INSTANT_PAIN_DAMAGER      
EFFECT_INSTANT_DOUBLE_STRIKE      
EFFECT_INSTANT_TRAMPLE         
EFFECT_SUMMON_GOBLIN         
EFFECT_ENCHANT_LIFELINK         
EFFECT_CAST_LIFELINK         
EFFECT_AURA_STRENGTH_1ATTACK_ULIMITED   
EFFECT_STRENGTH_1ATTACK         
EFFECT_AURA_LIFELINK         
EFFECT_ENCHANT_LIFELINK_UNLIMITED   
EFFECT_INSTANT_REGENERATION      
EFFECT_CAST_AURA_STRENGTH_1ATTACK   
EFFECT_AURA_STRENGTH_1ATTACK      
EFFECT_INSTANT_BANSHEE_SCREAM      
EFFECT_INSTANT_TROLL_ROT      
EFFECT_INSTANT_SACRI_HP_DAMAGE      
EFFECT_ENCHANT_VANISHING      
EFFECT_INSTANT_SUMMON_WOLF      
EFFECT_ENCHANT_FORESTWALK      
EFFECT_AURA_HEAL_5_ULIMITED      
EFFECT_HEAL_5            
EFFECT_INSTANT_SUMMON_ENT      
EFFECT_FIRE_ARROWS         
EFFECT_ENCHANT_FEAR         
EFFECT_ENCHANT_VISION         
EFFECT_TRANSFORM1         
EFFECT_AURA_VISION_ULIMITED      
EFFECT_VISION            
EFFECT_ENCHANT_VANISHING_SILENT      
EFFECT_ANIMATE_DEAD         
EFFECT_INSTANT_FIREBALL_EFFECT      
EFFECT_INSTANT_THUNDER_STORM      
EFFECT_FIRE_ARROWS_INSTANT      
EFFECT_INSTANT_THUNDER_STRIKE      
EFFECT_INSTANT_FIREBALL         
EFFECT_FIRE_ARROWS_ON_EVERYONE      
EFFECT_ENCHANTMENT_CURSED      
EFFECT_INSTANT_HEAL_3         
EFFECT_CAST_POISON_WEAPON      
EFFECT_ENCHANT_POISONED_WEAPON      
EFFECT_INSTANT_EAT_CORPSE_TO_HEAL   
EFFECT_SUMMON_ORC_DRAGON      
EFFECT_SUMMON_UND_DRAGON      
EFFECT_INSTANT_DRAGON_FIRE      
EFFECT_INSTANT_DRAGON_BREATH      


Stratego (dev)
Site Admin
 
Posts: 6441
Joined: Fri Apr 25, 2014 9:28 pm

Re: Unit Design - unit property sheet

Postby COOLguy » Sun Sep 20, 2015 12:50 pm

Looks good. :)
Thanks!
Josh
User avatar
COOLguy
 
Posts: 3759
Joined: Sat Jul 12, 2014 2:58 am
Location: Nenuial, Arnor

Re: Unit Design - unit property sheet

Postby Alexander82 » Wed Sep 23, 2015 12:25 pm

Great!
User avatar
Alexander82
 
Posts: 5370
Joined: Thu Feb 26, 2015 8:18 pm

Re: Unit Design - unit property sheet

Postby Stratego (dev) » Sun Sep 27, 2015 9:45 am

modified input format.
Stratego (dev)
Site Admin
 
Posts: 6441
Joined: Fri Apr 25, 2014 9:28 pm

Re: Unit Design - unit property sheet

Postby Stratego (dev) » Mon Sep 28, 2015 6:39 pm

input format is extended by sound definitions.
Stratego (dev)
Site Admin
 
Posts: 6441
Joined: Fri Apr 25, 2014 9:28 pm

Re: Unit Design - unit property sheet

Postby Stratego (dev) » Mon Sep 28, 2015 8:26 pm

input format is extended by arrow sprites definitions.
Stratego (dev)
Site Admin
 
Posts: 6441
Joined: Fri Apr 25, 2014 9:28 pm

Re: Unit Design - unit property sheet

Postby COOLguy » Mon Sep 28, 2015 10:01 pm

Cool! :D Finally! :)
Thanks!
Josh
User avatar
COOLguy
 
Posts: 3759
Joined: Sat Jul 12, 2014 2:58 am
Location: Nenuial, Arnor

Re: Unit Design - unit property sheet

Postby Stratego (dev) » Wed Sep 30, 2015 8:19 pm

new way of giving walkability and speed on different terrains.
Stratego (dev)
Site Admin
 
Posts: 6441
Joined: Fri Apr 25, 2014 9:28 pm

Re: Unit Design - unit property sheet

Postby COOLguy » Thu Oct 01, 2015 2:49 am

Yay! :) Now let's get in those camel riders and such (who can go faster on desert) :D
Thanks!
Josh
User avatar
COOLguy
 
Posts: 3759
Joined: Sat Jul 12, 2014 2:58 am
Location: Nenuial, Arnor

Re: Unit Design - unit property sheet

Postby TheBluePhoenix » Thu Oct 01, 2015 4:40 am

As you said dev this IS a clumsy way. I dont know from where i will download that software. Maybe some more details and an in game link to some json writer maybe in dev versions will be helpful i think.
BEWARE!!!!The long lost empire of phoenicia is rising- The world is but just near the golden age,wherein men played and frolicked,without any worries at all

User avatar
TheBluePhoenix
 
Posts: 1498
Joined: Thu Jul 30, 2015 5:09 pm

Re: Unit Design - unit property sheet

Postby Stratego (dev) » Thu Oct 01, 2015 5:31 am

clumsy: i removed that part, because this will be the "nice" way to define units :)

most properties are understandable i will also post my own comments on the fields
any questions u have post here and u will get answer

thanks!
Stratego (dev)
Site Admin
 
Posts: 6441
Joined: Fri Apr 25, 2014 9:28 pm

Re: Unit Design - unit property sheet

Postby TheBluePhoenix » Thu Oct 01, 2015 5:52 am

Hmmm ok i will try it in my free time. From where can i get the software?
BEWARE!!!!The long lost empire of phoenicia is rising- The world is but just near the golden age,wherein men played and frolicked,without any worries at all

User avatar
TheBluePhoenix
 
Posts: 1498
Joined: Thu Jul 30, 2015 5:09 pm

Re: Unit Design - unit property sheet

Postby COOLguy » Thu Oct 01, 2015 12:05 pm

You can edit it in any simple text editor (like in Notepad).
Thanks!
Josh
User avatar
COOLguy
 
Posts: 3759
Joined: Sat Jul 12, 2014 2:58 am
Location: Nenuial, Arnor

Re: Unit Design - unit property sheet

Postby Stratego (dev) » Thu Oct 01, 2015 6:30 pm

new: the effects and spells can also be configured (you can use existing spell "identificators")
so if u want a brand new spell/effect type, than i will implement the spell and post here the "identificator" for it so u can use in unit definition.
Stratego (dev)
Site Admin
 
Posts: 6441
Joined: Fri Apr 25, 2014 9:28 pm

Re: Unit Design - unit property sheet

Postby Alexander82 » Tue Nov 03, 2015 11:38 pm

I need AOF unit/building codes and tech codes
User avatar
Alexander82
 
Posts: 5370
Joined: Thu Feb 26, 2015 8:18 pm

Re: Unit Design - unit property sheet

Postby Stratego (dev) » Wed Nov 04, 2015 6:34 am

tech is the same.
and there is a bone golem sample too.

the format is the same as AOS format only AOF has the "race" tag as an addition.
Stratego (dev)
Site Admin
 
Posts: 6441
Joined: Fri Apr 25, 2014 9:28 pm

Re: Unit Design - unit property sheet

Postby ejm29 » Wed Nov 04, 2015 4:49 pm

Im not sure if that testing website is 100% reliable. It always says that the format is wrong (even when I copy an existing units JSON)
User avatar
ejm29
 
Posts: 681
Joined: Sat Nov 01, 2014 6:03 pm

Re: Unit Design - unit property sheet

Postby Stratego (dev) » Wed Nov 04, 2015 5:30 pm

that is very reliable, maybe the sample is really invalid - which is that?
Stratego (dev)
Site Admin
 
Posts: 6441
Joined: Fri Apr 25, 2014 9:28 pm

Re: Unit Design - unit property sheet

Postby ejm29 » Wed Nov 04, 2015 9:07 pm

I believe i used the horse archers (from above)
But I also tried a few others (im probably just doing it wrong) :)
User avatar
ejm29
 
Posts: 681
Joined: Sat Nov 01, 2014 6:03 pm

Re: Unit Design - unit property sheet

Postby COOLguy » Fri Nov 06, 2015 7:16 pm

ejm29 wrote:I believe i used the horse archers (from above)
But I also tried a few others (im probably just doing it wrong) :)

I don't know what is wrong, but they are all valid. Make sure to hit the "SELECT ALL" part of the "CODE : SELECT ALL" before copying. That way all the code is selected.

The
help on understanding the fields:

is not a json file.
Thanks!
Josh
User avatar
COOLguy
 
Posts: 3759
Joined: Sat Jul 12, 2014 2:58 am
Location: Nenuial, Arnor

Re: Unit Design - unit property sheet

Postby ejm29 » Fri Nov 06, 2015 9:40 pm

qe="COOLguy"]
ejm29 wrote:I believe i used the horse archers (from above)
But I also tried a few others (im probably just doing it wrong) :)

I don't know what is wrong, but they are all valid. Make sure to hit the "SELECT ALL" part of the "CODE : SELECT ALL" before copying. That way all the code is selected.[/quote]
Nope I definitely got it all. Ive got no idea what's happening, it must be an isolated problem.
(here's a screen shot of the error)
Attachments
Screenshot_2015-11-06-21-34-48.png
Error
Screenshot_2015-11-06-21-34-48.png (42.44 KiB) Viewed 11126 times
User avatar
ejm29
 
Posts: 681
Joined: Sat Nov 01, 2014 6:03 pm

Re: Unit Design - unit property sheet

Postby COOLguy » Sat Nov 07, 2015 2:14 am

Well your error is coming from these lines:

"unitStatSheet":{
"unit":{

Can you paste the text you used? Did you accidentally type an extra character into it? (that is the error)
Thanks!
Josh
User avatar
COOLguy
 
Posts: 3759
Joined: Sat Jul 12, 2014 2:58 am
Location: Nenuial, Arnor

Re: Unit Design - unit property sheet

Postby ejm29 » Sat Nov 07, 2015 2:03 pm

{   "unitTypeName":"UNIT_FIRE_ARCHER",   "unitType":98,   "uiDefinition":{      "visuals":[                     {            "imgName":"32_unit_fire_archer.png",            "type":"DEFAULT",            "shiftIndicatorsDown":0,            "typeExtra":0.0,            "imgColumns":8,            "imageDefParts":[               {                  "cropToRect":{"top": 0,"left":0,"bottom":32,"right":256},                  "layer":"UNITS",                  "shiftCol":0,                  "shiftRow":0,                  "clickable":true               }            ]         }                  ]   },      "unitStatSheet":{         "unit":{            "isTechnology":false,            "costTurn":3,            "grantorShopItems":[244],            "hpMax":11,            "power":5,            "rangeAttack":5,            "armorPierce":0,            "armorNormal":0,            "sight":7,            "unitSizeCol":1,            "unitSizeRow":1,            "isUnderConstruction":false,            "isFactory":false,            "isFactoryThatNotAffectsFactoryLimits":false,            "isOccupiableBuilding":false,            "isWalkableThrough":true,            "powerAccuracyPenalty":0.0,            "powerRange":0,            "powerRangePenaltyPercent":0,            "attackTypeBurningRock":false,            "attackTypeArrow":true,            "rangeWalk":3,                        "trnWalkTerrain":[               {"terrainType":"TERRAINS_FORESTWALKABLE", "modifier":1},               {"terrainType":"TERRAINS_SAILABLE", "modifier":0.6}            ],                        "convertRange":0,            "convertResistance":0.0,            "convertPossibility":0.0,            "rangeHeal":0,            "healRate":0,            "rangeMend":0,            "mendRate":0,            "canBuild":false,            "bonusMendingWhenConstructing":0.0,            "bonusMending":0.0,            "bonusHealing":1.0,            "carryCapacity":0,            "canBeCarried":true,            "isCarriedUnitSurvivesIfIDie":false,            "isCarrierCanCarryUnderConstruction":false,            "isCarrierHidesCarriedUnits":true,            "isCarrierLetCarriedUnitsToShoot":false,            "isCarrierRemovesTerrainDrawbacks":false,            "maxActionCount":1,            "canOccupyBuilding":true,            "canKillForest":false,            "canFlyAsteroid":false,            "isStealthUnit":false,            "canSeeStealthUnits":false,                        "trnWeaponEffects":[               {                  "weaponSlot":"WEAPON_EFFECT_SLOT_WP_1",                  "effDefault":"EFFECT_FIRE_ARROWS",                  "effOptions":null               },               {                  "weaponSlot":"WEAPON_EFFECT_SLOT_SPELLCAST",                  "effDefault":"EFFECT_US_SNIPER_ROCKET",                  "effOptions":["EFFECT_US_SNIPER_ROCKET", "EFFECT_US_FIRE_ROCKET", "EFFECT_US_STINK_BOMB"]               }                           ],        "trnCategories":["U_ARCHERS"],        "trnModifiers":{"unitTypes":["EFFECT_POISONED_ARROWS", "TECH_ARCHERY", "TECH_ARCHERY_LV2", "TECH_ARMOR_ARCHER_LV1", "TECH_ARMOR_ARCHER_LV2"]},        "trnCanNotCarryMe":{},        "trnBuilders":{"unitTypes":["UNIT_TC","UNIT_BUILDING_ARCHERY"]},        "trnBonusList":[      {         "modifier":0.5,                  "unitList":{            "categories":["U_CHEAP_MELEE","U_BURNABLE", "U_BUILDING_SIZED_UNITS"],            "unitTypes":["UNIT_ORNITHOPTER"]         }               },      {         "modifier":6,                  "unitList":{"categories":["U_MEGA_BUILDINGS"]}               },      {         "modifier":2,                  "unitList":{"categories":["U_SHIPS"]}               }        ],        "trnBestAgainstMeWater":{"categories":["U_SHIP_ATTACK"]},        "trnBestAgainstMeGround":{"categories":["U_ANTI_ARCHER"]}                     }   },   "soundDefinition":{      "soundPacks":[         {"soundEvent":"UNIT_SELECTED","packName":"SOUND_PACK_UNIT_SELECT_LAND_UNIT"},         {"soundEvent":"UNIT_AFFIRM_MOVE","packName":"SOUND_PACK_UNIT_AFFIRM_LAND_UNIT"},         {"soundEvent":"UNIT_ATTACK","packName":"SOUND_PACK_UNIT_ATTACK_ARROW"},         {"soundEvent":"UNIT_DAMAGE","packName":"SOUND_PACK_UNIT_DAMAGED_HUMAN"}                  ]   },   "arrowSpriteDefinition":{      "arrowSprites":[         {"arrowType":"ATTACK_ARROW","spriteName":"SPRITE_ARROW_FIRE"}         ]   }         }
User avatar
ejm29
 
Posts: 681
Joined: Sat Nov 01, 2014 6:03 pm

Re: Unit Design - unit property sheet

Postby ejm29 » Sat Nov 07, 2015 2:06 pm

That is one of the various JSON I tried
User avatar
ejm29
 
Posts: 681
Joined: Sat Nov 01, 2014 6:03 pm

Re: Unit Design - unit property sheet

Postby COOLguy » Sat Nov 07, 2015 2:14 pm

I'm not sure what is wrong. It validated for me...

Does it show the same error every time ("strings should be wrapped in double quotes", "invalid characters found", for lines 17 and 18)?

Can you screenshot what it shows when you click on those errors?
Thanks!
Josh
User avatar
COOLguy
 
Posts: 3759
Joined: Sat Jul 12, 2014 2:58 am
Location: Nenuial, Arnor

Re: Unit Design - unit property sheet

Postby ejm29 » Sat Nov 07, 2015 2:37 pm

Yes, I think its always the same errors. (Full errors fist below)

Code: Select all
Error:Strings should be wrapped in double quotes.[Code 17, Structure 2]Error:Invalid characters found.[Code 18, Structure 2]Error:Strings should be wrapped in double quotes.[Code 17, Structure 6]Error:Invalid characters found.[Code 18, Structure 6]Error:Strings should be wrapped in double quotes.[Code 17, Structure 10]Error:Invalid characters found.[Code 18, Structure 10]Error:Strings should be wrapped in double quotes.[Code 17, Structure 13]Error:Invalid characters found.[Code 18, Structure 13]Error:Strings should be wrapped in double quotes.[Code 17, Structure 16]Error:Expecting comma or ], not {.[Code 10, Structure 17]Error:Strings should be wrapped in double quotes.[Code 17, Structure 18]Error:Invalid characters found.[Code 18, Structure 18]Error:Strings should be wrapped in double quotes.[Code 17, Structure 22]Error:Invalid characters found.[Code 18, Structure 22]Error:Strings should be wrapped in double quotes.[Code 17, Structure 26]Error:Invalid characters found.[Code 18, Structure 26]Error:Strings should be wrapped in double quotes.[Code 17, Structure 30]Error:Invalid characters found.[Code 18, Structure 30]Error:Strings should be wrapped in double quotes.[Code 17, Structure 34]Error:Invalid characters found.[Code 18, Structure 34]Error:Strings should be wrapped in double quotes.[Code 17, Structure 38]Error:Invalid characters found.[Code 18, Structure 38]Error:Strings should be wrapped in double quotes.[Code 17, Structure 41]Error:Expecting comma or ], not {.[Code 10, Structure 42]Error:Strings should be wrapped in double quotes.[Code 17, Structure 43]Error:Invalid characters found.[Code 18, Structure 43]Error:Strings should be wrapped in double quotes.[Code 17, Structure 63]Error:Invalid characters found.[Code 18, Structure 63]Error:Strings should be wrapped in double quotes.[Code 17, Structure 67]Error:Invalid characters found.[Code 18, Structure 67]Error:Strings should be wrapped in double quotes.[Code 17, Structure 71]Error:Invalid characters found.[Code 18, Structure 71]Error:Strings should be wrapped in double quotes.[Code 17, Structure 75]Error:Invalid characters found.[Code 18, Structure 75]Error:Expecting comma or }, not string.[Code 13, Structure 78]Error:Strings should be wrapped in double quotes.[Code 17, Structure 78]Error:Expecting comma or ], not string.[Code 6, Structure 80]Error:Strings should be wrapped in double quotes.[Code 17, Structure 80]Error:Expecting comma or }, not string.[Code 7, Structure 82]Error:Strings should be wrapped in double quotes.[Code 17, Structure 82]Error:Expecting comma or ], not string.[Code 6, Structure 84]Error:Strings should be wrapped in double quotes.[Code 17, Structure 84]Error:Expecting comma or }, not string.[Code 7, Structure 86]Error:Strings should be wrapped in double quotes.[Code 17, Structure 86]Error:Strings should be wrapped in double quotes.[Code 17, Structure 89]Error:Invalid characters found.[Code 18, Structure 89]Error:Strings should be wrapped in double quotes.[Code 17, Structure 92]Error:Invalid characters found.[Code 18, Structure 92]Error:Strings should be wrapped in double quotes.[Code 17, Structure 95]Error:Invalid characters found.[Code 18, Structure 95]Error:Strings should be wrapped in double quotes.[Code 17, Structure 99]Error:Invalid characters found.[Code 18, Structure 99]Error:Strings should be wrapped in double quotes.[Code 17, Structure 103]Error:Invalid characters found.[Code 18, Structure 103]Error:Strings should be wrapped in double quotes.[Code 17, Structure 109]Error:Invalid characters found.[Code 18, Structure 109]Error:Strings should be wrapped in double quotes.[Code 17, Structure 113]Error:Invalid characters found.[Code 18, Structure 113]Error:Strings should be wrapped in double quotes.[Code 17, Structure 117]Error:Invalid characters found.[Code 18, Structure 117]Error:Strings should be wrapped in double quotes.[Code 17, Structure 121]Error:Invalid characters found.[Code 18, Structure 121]Error:Strings should be wrapped in double quotes.[Code 17, Structure 125]Error:Invalid characters found.[Code 18, Structure 125]Error:Strings should be wrapped in double quotes.[Code 17, Structure 129]Error:Invalid characters found.[Code 18, Structure 129]Error:Strings should be wrapped in double quotes.[Code 17, Structure 133]Error:Invalid characters found.[Code 18, Structure 133]Error:Strings should be wrapped in double quotes.[Code 17, Structure 137]Error:Invalid characters found.[Code 18, Structure 137]Error:Strings should be wrapped in double quotes.[Code 17, Structure 141]Error:Invalid characters found.[Code 18, Structure 141]Error:Strings should be wrapped in double quotes.[Code 17, Structure 145]Error:Invalid characters found.[Code 18, Structure 145]Error:Strings should be wrapped in double quotes.[Code 17, Structure 149]Error:Invalid characters found.[Code 18, Structure 149]Error:Strings should be wrapped in double quotes.[Code 17, Structure 153]Error:Invalid characters found.[Code 18, Structure 153]Error:Strings should be wrapped in double quotes.[Code 17, Structure 157]Error:Invalid characters found.[Code 18, Structure 157]Error:Strings should be wrapped in double quotes.[Code 17, Structure 161]Error:Invalid characters found.[Code 18, Structure 161]Error:Strings should be wrapped in double quotes.[Code 17, Structure 165]Error:Invalid characters found.[Code 18, Structure 165]Error:Strings should be wrapped in double quotes.[Code 17, Structure 169]Error:Invalid characters found.[Code 18, Structure 169]Error:Strings should be wrapped in double quotes.[Code 17, Structure 173]Error:Invalid characters found.[Code 18, Structure 173]Error:Strings should be wrapped in double quotes.[Code 17, Structure 177]Error:Invalid characters found.[Code 18, Structure 177]Error:Strings should be wrapped in double quotes.[Code 17, Structure 181]Error:Invalid characters found.[Code 18, Structure 181]Error:Strings should be wrapped in double quotes.[Code 17, Structure 185]Error:Invalid characters found.[Code 18, Structure 185]Error:Strings should be wrapped in double quotes.[Code 17, Structure 188]Error:Expecting comma or ], not {.[Code 10, Structure 189]Error:Strings should be wrapped in double quotes.[Code 17, Structure 199]Error:Expecting comma or ], not {.[Code 10, Structure 200]Error:Expecting comma or ], not string.[Code 6, Structure 209]Error:Strings should be wrapped in double quotes.[Code 17, Structure 209]Error:Strings should be wrapped in double quotes.[Code 17, Structure 212]Error:Invalid characters found.[Code 18, Structure 212]Error:Strings should be wrapped in double quotes.[Code 17, Structure 216]Error:Invalid characters found.[Code 18, Structure 216]Error:Strings should be wrapped in double quotes.[Code 17, Structure 220]Error:Invalid characters found.[Code 18, Structure 220]Error:Strings should be wrapped in double quotes.[Code 17, Structure 224]Error:Invalid characters found.[Code 18, Structure 224]Error:Strings should be wrapped in double quotes.[Code 17, Structure 228]Error:Invalid characters found.[Code 18, Structure 228]Error:Strings should be wrapped in double quotes.[Code 17, Structure 232]Error:Invalid characters found.[Code 18, Structure 232]Error:Strings should be wrapped in double quotes.[Code 17, Structure 236]Error:Invalid characters found.[Code 18, Structure 236]Error:Strings should be wrapped in double quotes.[Code 17, Structure 240]Error:Invalid characters found.[Code 18, Structure 240]Error:Strings should be wrapped in double quotes.[Code 17, Structure 244]Error:Invalid characters found.[Code 18, Structure 244]Error:Strings should be wrapped in double quotes.[Code 17, Structure 248]Error:Invalid characters found.[Code 18, Structure 248]Error:Strings should be wrapped in double quotes.[Code 17, Structure 252]Error:Invalid characters found.[Code 18, Structure 252]Error:Strings should be wrapped in double quotes.[Code 17, Structure 256]Error:Invalid characters found.[Code 18, Structure 256]Error:Strings should be wrapped in double quotes.[Code 17, Structure 260]Error:Invalid characters found.[Code 18, Structure 260]Error:Strings should be wrapped in double quotes.[Code 17, Structure 264]Error:Invalid characters found.[Code 18, Structure 264]Error:Strings should be wrapped in double quotes.[Code 17, Structure 268]Error:Invalid characters found.[Code 18, Structure 268]Error:Strings should be wrapped in double quotes.[Code 17, Structure 272]Error:Invalid characters found.[Code 18, Structure 272]Error:Strings should be wrapped in double quotes.[Code 17, Structure 276]Error:Invalid characters found.[Code 18, Structure 276]Error:Strings should be wrapped in double quotes.[Code 17, Structure 280]Error:Invalid characters found.[Code 18, Structure 280]Error:Strings should be wrapped in double quotes.[Code 17, Structure 284]Error:Invalid characters found.[Code 18, Structure 284]Error:Strings should be wrapped in double quotes.[Code 17, Structure 288]Error:Invalid characters found.[Code 18, Structure 288]Error:Strings should be wrapped in double quotes.[Code 17, Structure 292]Error:Invalid characters found.[Code 18, Structure 292]Error:Strings should be wrapped in double quotes.[Code 17, Structure 296]Error:Invalid characters found.[Code 18, Structure 296]Error:Strings should be wrapped in double quotes.[Code 17, Structure 300]Error:Invalid characters found.[Code 18, Structure 300]Error:Strings should be wrapped in double quotes.[Code 17, Structure 304]Error:Invalid characters found.[Code 18, Structure 304]Error:Strings should be wrapped in double quotes.[Code 17, Structure 308]Error:Invalid characters found.[Code 18, Structure 308]Error:Strings should be wrapped in double quotes.[Code 17, Structure 311]Error:Expecting comma or ], not {.[Code 10, Structure 312]Error:Strings should be wrapped in double quotes.[Code 17, Structure 313]Error:Invalid characters found.[Code 18, Structure 313]Error:Strings should be wrapped in double quotes.[Code 17, Structure 317]Error:Invalid characters found.[Code 18, Structure 317]Error:Strings should be wrapped in double quotes.[Code 17, Structure 321]Error:Invalid characters found.[Code 18, Structure 321]Error:Expecting comma or }, not string.[Code 13, Structure 324]Error:Strings should be wrapped in double quotes.[Code 17, Structure 324]Error:Strings should be wrapped in double quotes.[Code 17, Structure 327]Error:Expecting comma or ], not {.[Code 10, Structure 328]Error:Strings should be wrapped in double quotes.[Code 17, Structure 329]Error:Invalid characters found.[Code 18, Structure 329]Error:Strings should be wrapped in double quotes.[Code 17, Structure 333]Error:Invalid characters found.[Code 18, Structure 333]Error:Strings should be wrapped in double quotes.[Code 17, Structure 337]Error:Invalid characters found.[Code 18, Structure 337]Error:Expecting comma or }, not string.[Code 7, Structure 346]Error:Strings should be wrapped in double quotes.[Code 17, Structure 346]Error:Expecting comma or ], not string.[Code 6, Structure 348]Error:Strings should be wrapped in double quotes.[Code 17, Structure 348]Error:Strings should be wrapped in double quotes.[Code 17, Structure 351]Error:Invalid characters found.[Code 18, Structure 351]Error:Strings should be wrapped in double quotes.[Code 17, Structure 357]Error:Invalid characters found.[Code 18, Structure 357]Error:Strings should be wrapped in double quotes.[Code 17, Structure 375]Error:Invalid characters found.[Code 18, Structure 375]Error:Strings should be wrapped in double quotes.[Code 17, Structure 380]Error:Invalid characters found.[Code 18, Structure 380]Error:Strings should be wrapped in double quotes.[Code 17, Structure 392]Error:Invalid characters found.[Code 18, Structure 392]Error:Strings should be wrapped in double quotes.[Code 17, Structure 395]Error:Expecting comma or ], not {.[Code 10, Structure 396]Error:Strings should be wrapped in double quotes.[Code 17, Structure 397]Error:Invalid characters found.[Code 18, Structure 397]Error:Strings should be wrapped in double quotes.[Code 17, Structure 401]Error:Invalid characters found.[Code 18, Structure 401]Error:Strings should be wrapped in double quotes.[Code 17, Structure 404]Error:Invalid characters found.[Code 18, Structure 404]Error:Strings should be wrapped in double quotes.[Code 17, Structure 414]Error:Invalid characters found.[Code 18, Structure 414]Error:Expecting comma or }, not string.[Code 7, Structure 419]Error:Strings should be wrapped in double quotes.[Code 17, Structure 419]Error:Expecting comma or }, not string.[Code 7, Structure 421]Error:Strings should be wrapped in double quotes.[Code 17, Structure 421]Error:Strings should be wrapped in double quotes.[Code 17, Structure 424]Error:Expecting comma or ], not {.[Code 10, Structure 425]Error:Strings should be wrapped in double quotes.[Code 17, Structure 426]Error:Invalid characters found.[Code 18, Structure 426]Error:Strings should be wrapped in double quotes.[Code 17, Structure 430]Error:Invalid characters found.[Code 18, Structure 430]Error:Expecting comma or }, not string.[Code 7, Structure 439]Error:Strings should be wrapped in double quotes.[Code 17, Structure 439]Error:Strings should be wrapped in double quotes.[Code 17, Structure 442]Error:Expecting comma or ], not {.[Code 10, Structure 443]Error:Strings should be wrapped in double quotes.[Code 17, Structure 444]Error:Invalid characters found.[Code 18, Structure 444]Error:Strings should be wrapped in double quotes.[Code 17, Structure 448]Error:Invalid characters found.[Code 18, Structure 448]Error:Expecting comma or }, not string.[Code 7, Structure 457]Error:Strings should be wrapped in double quotes.[Code 17, Structure 457]Error:Expecting comma or ], not string.[Code 6, Structure 459]Error:Strings should be wrapped in double quotes.[Code 17, Structure 459]Error:Strings should be wrapped in double quotes.[Code 17, Structure 462]Error:Invalid characters found.[Code 18, Structure 462]Error:Strings should be wrapped in double quotes.[Code 17, Structure 472]Error:Invalid characters found.[Code 18, Structure 472]Error:Expecting comma or }, not string.[Code 7, Structure 481]Error:Strings should be wrapped in double quotes.[Code 17, Structure 481]Error:Expecting comma or }, not string.[Code 7, Structure 483]Error:Strings should be wrapped in double quotes.[Code 17, Structure 483]Error:Strings should be wrapped in double quotes.[Code 17, Structure 486]Error:Invalid characters found.[Code 18, Structure 486]Error:Strings should be wrapped in double quotes.[Code 17, Structure 489]Error:Invalid characters found.[Code 18, Structure 489]Error:Strings should be wrapped in double quotes.[Code 17, Structure 492]Error:Expecting comma or ], not {.[Code 10, Structure 493]Error:Strings should be wrapped in double quotes.[Code 17, Structure 503]Error:Expecting comma or ], not {.[Code 10, Structure 504]Error:Strings should be wrapped in double quotes.[Code 17, Structure 514]Error:Expecting comma or ], not {.[Code 10, Structure 515]Error:Strings should be wrapped in double quotes.[Code 17, Structure 525]Error:Expecting comma or ], not {.[Code 10, Structure 526]Error:Expecting comma or ], not string.[Code 6, Structure 535]Error:Strings should be wrapped in double quotes.[Code 17, Structure 535]Error:Expecting comma or }, not string.[Code 7, Structure 537]Error:Strings should be wrapped in double quotes.[Code 17, Structure 537]Error:Strings should be wrapped in double quotes.[Code 17, Structure 540]Error:Invalid characters found.[Code 18, Structure 540]Error:Strings should be wrapped in double quotes.[Code 17, Structure 543]Error:Invalid characters found.[Code 18, Structure 543]Error:Strings should be wrapped in double quotes.[Code 17, Structure 546]Error:Expecting comma or ], not {.[Code 10, Structure 547]Error:Expecting comma or ], not string.[Code 6, Structure 556]Error:Strings should be wrapped in double quotes.[Code 17, Structure 556]Error:Expecting comma or }, not string.[Code 7, Structure 558]Error:Strings should be wrapped in double quotes.[Code 17, Structure 558]Error:Expecting closing } at end[Code 22, Structure 559]

When I click on an error it take me down the page to "Formatted JSON" I was going to take a screen shot, but you have to pan across to see all the code (you would only gey about 1% of the code) full formatted jsom below

   "unitTypeName":"UNIT_FIRE_ARCHER",   "unitType":98,   "uiDefinition":{      "visuals":[                     {            "imgName":"32_unit_fire_archer.png",            "type":"DEFAULT",            "shiftIndicatorsDown":0,            "typeExtra":0.0,            "imgColumns":8,            "imageDefParts":[               {                  "cropToRect":{"top":0,"left":0,"bottom":32,"right":256},                  "layer":"UNITS",                  "shiftCol":0,                  "shiftRow":0,                  "clickable":true               }           ]         }                  ]   },      "unitStatSheet":{         "unit":{            "isTechnology":false,            "costTurn":3,            "grantorShopItems":[244],            "hpMax":11,            "power":5,            "rangeAttack":5,            "armorPierce":0,            "armorNormal":0,            "sight":7,            "unitSizeCol":1,            "unitSizeRow":1,            "isUnderConstruction":false,            "isFactory":false,            "isFactoryThatNotAffectsFactoryLimits":false,            "isOccupiableBuilding":false,            "isWalkableThrough":true,            "powerAccuracyPenalty":0.0,            "powerRange":0,            "powerRangePenaltyPercent":0,            "attackTypeBurningRock":false,            "attackTypeArrow":true,            "rangeWalk":3,                        "trnWalkTerrain":[               {"terrainType":"TERRAINS_FORESTWALKABLE","modifier":1},               {"terrainType":"TERRAINS_SAILABLE","modifier":0.6}           ],                        "convertRange":0,            "convertResistance":0.0,            "convertPossibility":0.0,            "rangeHeal":0,            "healRate":0,            "rangeMend":0,            "mendRate":0,            "canBuild":false,            "bonusMendingWhenConstructing":0.0,            "bonusMending":0.0,            "bonusHealing":1.0,            "carryCapacity":0,            "canBeCarried":true,            "isCarriedUnitSurvivesIfIDie":false,            "isCarrierCanCarryUnderConstruction":false,            "isCarrierHidesCarriedUnits":true,            "isCarrierLetCarriedUnitsToShoot":false,            "isCarrierRemovesTerrainDrawbacks":false,            "maxActionCount":1,            "canOccupyBuilding":true,            "canKillForest":false,            "canFlyAsteroid":false,            "isStealthUnit":false,            "canSeeStealthUnits":false,                        "trnWeaponEffects":[               {                  "weaponSlot":"WEAPON_EFFECT_SLOT_WP_1",                  "effDefault":"EFFECT_FIRE_ARROWS",                  "effOptions":null               },               {                  "weaponSlot":"WEAPON_EFFECT_SLOT_SPELLCAST",                  "effDefault":"EFFECT_US_SNIPER_ROCKET",                  "effOptions":["EFFECT_US_SNIPER_ROCKET","EFFECT_US_FIRE_ROCKET","EFFECT_US_STINK_BOMB"]               }                          ],        "trnCategories":["U_ARCHERS"],        "trnModifiers":{"unitTypes":["EFFECT_POISONED_ARROWS","TECH_ARCHERY","TECH_ARCHERY_LV2","TECH_ARMOR_ARCHER_LV1","TECH_ARMOR_ARCHER_LV2"]},        "trnCanNotCarryMe":{},        "trnBuilders":{"unitTypes":["UNIT_TC","UNIT_BUILDING_ARCHERY"]},        "trnBonusList":[      {         "modifier":0.5,                  "unitList":{            "categories":["U_CHEAP_MELEE","U_BURNABLE","U_BUILDING_SIZED_UNITS"],            "unitTypes":["UNIT_ORNITHOPTER"]         }               },      {         "modifier":6,                  "unitList":{"categories":["U_MEGA_BUILDINGS"]}               },      {         "modifier":2,                  "unitList":{"categories":["U_SHIPS"]}               }        ],        "trnBestAgainstMeWater":{"categories":["U_SHIP_ATTACK"]},        "trnBestAgainstMeGround":{"categories":["U_ANTI_ARCHER"]}                     }   },   "soundDefinition":{      "soundPacks":[         {"soundEvent":"UNIT_SELECTED","packName":"SOUND_PACK_UNIT_SELECT_LAND_UNIT"},         {"soundEvent":"UNIT_AFFIRM_MOVE","packName":"SOUND_PACK_UNIT_AFFIRM_LAND_UNIT"},         {"soundEvent":"UNIT_ATTACK","packName":"SOUND_PACK_UNIT_ATTACK_ARROW"},         {"soundEvent":"UNIT_DAMAGE","packName":"SOUND_PACK_UNIT_DAMAGED_HUMAN"}                  ]   },   "arrowSpriteDefinition":{      "arrowSprites":[         {"arrowType":"ATTACK_ARROW","spriteName":"SPRITE_ARROW_FIRE"}         ]   }
User avatar
ejm29
 
Posts: 681
Joined: Sat Nov 01, 2014 6:03 pm

Re: Unit Design - unit property sheet

Postby ejm29 » Sat Nov 07, 2015 2:41 pm

Heres a screen shot anyway :)
Attachments
Screenshot_2015-11-07-14-39-07.png
Formatted JSON
Screenshot_2015-11-07-14-39-07.png (19.63 KiB) Viewed 11108 times
User avatar
ejm29
 
Posts: 681
Joined: Sat Nov 01, 2014 6:03 pm

Re: Unit Design - unit property sheet

Postby COOLguy » Sat Nov 07, 2015 5:43 pm

wow


I have no idea what is wrong. :) That's really weird.

What device do you use? (and what browser?)
Thanks!
Josh
User avatar
COOLguy
 
Posts: 3759
Joined: Sat Jul 12, 2014 2:58 am
Location: Nenuial, Arnor

Re: Unit Design - unit property sheet

Postby Stratego (dev) » Sat Nov 07, 2015 5:55 pm

there were missing {from the beginning and a } from the end.

this is valid:
Code: Select all

   "unitTypeName":"UNIT_FIRE_ARCHER",
   "unitType":98,
   "uiDefinition":{ 
      "visuals":[ 
         { 
            "imgName":"32_unit_fire_archer.png",
            "type":"DEFAULT",
            "shiftIndicatorsDown":0,
            "typeExtra":0.0,
            "imgColumns":8,
            "imageDefParts":[ 
               { 
                  "cropToRect":{ 
                     "top":0,
                     "left":0,
                     "bottom":32,
                     "right":256
                  },
                  "layer":"UNITS",
                  "shiftCol":0,
                  "shiftRow":0,
                  "clickable":true
               }
            ]
         }
      ]
   },
   "unitStatSheet":{ 
      "unit":{ 
         "isTechnology":false,
         "costTurn":3,
         "grantorShopItems":[ 
            244
         ],
         "hpMax":11,
         "power":5,
         "rangeAttack":5,
         "armorPierce":0,
         "armorNormal":0,
         "sight":7,
         "unitSizeCol":1,
         "unitSizeRow":1,
         "isUnderConstruction":false,
         "isFactory":false,
         "isFactoryThatNotAffectsFactoryLimits":false,
         "isOccupiableBuilding":false,
         "isWalkableThrough":true,
         "powerAccuracyPenalty":0.0,
         "powerRange":0,
         "powerRangePenaltyPercent":0,
         "attackTypeBurningRock":false,
         "attackTypeArrow":true,
         "rangeWalk":3,
         "trnWalkTerrain":[ 
            { 
               "terrainType":"TERRAINS_FORESTWALKABLE",
               "modifier":1
            },
            { 
               "terrainType":"TERRAINS_SAILABLE",
               "modifier":0.6
            }
         ],
         "convertRange":0,
         "convertResistance":0.0,
         "convertPossibility":0.0,
         "rangeHeal":0,
         "healRate":0,
         "rangeMend":0,
         "mendRate":0,
         "canBuild":false,
         "bonusMendingWhenConstructing":0.0,
         "bonusMending":0.0,
         "bonusHealing":1.0,
         "carryCapacity":0,
         "canBeCarried":true,
         "isCarriedUnitSurvivesIfIDie":false,
         "isCarrierCanCarryUnderConstruction":false,
         "isCarrierHidesCarriedUnits":true,
         "isCarrierLetCarriedUnitsToShoot":false,
         "isCarrierRemovesTerrainDrawbacks":false,
         "maxActionCount":1,
         "canOccupyBuilding":true,
         "canKillForest":false,
         "canFlyAsteroid":false,
         "isStealthUnit":false,
         "canSeeStealthUnits":false,
         "trnWeaponEffects":[ 
            { 
               "weaponSlot":"WEAPON_EFFECT_SLOT_WP_1",
               "effDefault":"EFFECT_FIRE_ARROWS",
               "effOptions":null
            },
            { 
               "weaponSlot":"WEAPON_EFFECT_SLOT_SPELLCAST",
               "effDefault":"EFFECT_US_SNIPER_ROCKET",
               "effOptions":[ 
                  "EFFECT_US_SNIPER_ROCKET",
                  "EFFECT_US_FIRE_ROCKET",
                  "EFFECT_US_STINK_BOMB"
               ]
            }
         ],
         "trnCategories":[ 
            "U_ARCHERS"
         ],
         "trnModifiers":{ 
            "unitTypes":[ 
               "EFFECT_POISONED_ARROWS",
               "TECH_ARCHERY",
               "TECH_ARCHERY_LV2",
               "TECH_ARMOR_ARCHER_LV1",
               "TECH_ARMOR_ARCHER_LV2"
            ]
         },
         "trnCanNotCarryMe":{ 

         },
         "trnBuilders":{ 
            "unitTypes":[ 
               "UNIT_TC",
               "UNIT_BUILDING_ARCHERY"
            ]
         },
         "trnBonusList":[ 
            { 
               "modifier":0.5,
               "unitList":{ 
                  "categories":[ 
                     "U_CHEAP_MELEE",
                     "U_BURNABLE",
                     "U_BUILDING_SIZED_UNITS"
                  ],
                  "unitTypes":[ 
                     "UNIT_ORNITHOPTER"
                  ]
               }
            },
            { 
               "modifier":6,
               "unitList":{ 
                  "categories":[ 
                     "U_MEGA_BUILDINGS"
                  ]
               }
            },
            { 
               "modifier":2,
               "unitList":{ 
                  "categories":[ 
                     "U_SHIPS"
                  ]
               }
            }
         ],
         "trnBestAgainstMeWater":{ 
            "categories":[ 
               "U_SHIP_ATTACK"
            ]
         },
         "trnBestAgainstMeGround":{ 
            "categories":[ 
               "U_ANTI_ARCHER"
            ]
         }
      }
   },
   "soundDefinition":{ 
      "soundPacks":[ 
         { 
            "soundEvent":"UNIT_SELECTED",
            "packName":"SOUND_PACK_UNIT_SELECT_LAND_UNIT"
         },
         { 
            "soundEvent":"UNIT_AFFIRM_MOVE",
            "packName":"SOUND_PACK_UNIT_AFFIRM_LAND_UNIT"
         },
         { 
            "soundEvent":"UNIT_ATTACK",
            "packName":"SOUND_PACK_UNIT_ATTACK_ARROW"
         },
         { 
            "soundEvent":"UNIT_DAMAGE",
            "packName":"SOUND_PACK_UNIT_DAMAGED_HUMAN"
         }
      ]
   },
   "arrowSpriteDefinition":{ 
      "arrowSprites":[ 
         { 
            "arrowType":"ATTACK_ARROW",
            "spriteName":"SPRITE_ARROW_FIRE"
         }
      ]
   }
}
Stratego (dev)
Site Admin
 
Posts: 6441
Joined: Fri Apr 25, 2014 9:28 pm

Re: Unit Design - unit property sheet

Postby Stratego (dev) » Sat Nov 07, 2015 5:58 pm

(i suggest using the samples i posted, they are valid and formatted well and also indented well, simply modify those with the stats you desire.)
Stratego (dev)
Site Admin
 
Posts: 6441
Joined: Fri Apr 25, 2014 9:28 pm

Next

Return to FAQ

Who is online

Users browsing this forum: No registered users and 1 guest