Game definition jsons - Upgrades definition json

Learn the .json format
used to define characteristics of units and other game elements
Post Reply
Stratego (dev)
Site Admin
Posts: 15734
Joined: Fri Apr 25, 2014 9:28 pm

Game definition jsons - Upgrades definition json

Post by Stratego (dev) »

shopconfig.json


sample (partial) from AOF

Code: Select all


{
"shopConfigItems":
  [

	{"shopItemId":205, "columnNr":1, "unitTypeName":"UNIT_BUILDING_BLACKSMITH", "gemCost":4} , 
	{"shopItemId":212, "columnNr":1, "unitTypeName":"TECH_HUMAN_WEAPONS_RANGED_1", "gemCost":5} , 
	{"shopItemId":214, "columnNr":1, "unitTypeName":"TECH_HUMAN_ARMORS_1", "gemCost":5} , 
	{"shopItemId":213, "columnNr":1, "unitTypeName":"TECH_HUMAN_WEAPONS_RANGED_2", "gemCost":5} , 
	{"shopItemId":215, "columnNr":1, "unitTypeName":"TECH_HUMAN_ARMORS_2", "gemCost":5} , 
	{"shopItemId":227, "columnNr":1, "unitTypeName":"UNIT_ARCHER_POISON", "gemCost":5} , 
  

	{"shopItemId":208, "columnNr":2, "unitTypeName":"UNIT_MEGA_BUILDING_CASTLE", "gemCost":7} , 
	{"shopItemId":65, "columnNr":2, "unitTypeName":"UNIT_BUILDING_ARCHERY", "gemCost":5} , 
	{"shopItemId":218, "columnNr":2, "unitTypeName":"TECH_AREA_DAMAGE", "gemCost":5} , 
	{"shopItemId":224, "columnNr":2, "unitTypeName":"TECH_LOYALTY", "gemCost":5} , 
	{"shopItemId":219, "columnNr":2, "unitTypeName":"TECH_AREA_DAMAGE_2", "gemCost":5} , 
	{"shopItemId":202, "columnNr":2, "unitTypeName":"UNIT_BATTERING_RAM", "gemCost":5} , 
  


  {"shopItemId": 100, "columnNr": 3, "gemCost": 2, "imgName": "shop_lurking.png",  "txtNiceNameStringID": "SHOP_REVEAL_NAME",   "messageTextIdent": "SHOP_REVEAL", "spec":"SHOP_REVEAL", "reSellable": true, "unitTypeName": null },  
  {"shopItemId": 110, "columnNr": 3, "gemCost": 2, "imgName": "shop_cure2.png",    "txtNiceNameStringID": "SHOP_CURE_NAME",     "messageTextIdent": "SHOP_CURE", "spec":"SHOP_CURE", "reSellable": true, "unitTypeName": null },
  {"shopItemId": 145, "columnNr": 3, "gemCost": 3, "imgName": "shop_strength.png", "txtNiceNameStringID": "SHOP_STRENGTH_NAME", "messageTextIdent": "SHOP_STRENGTH", "spec":"SHOP_STRENGTH", "reSellable": true, "unitTypeName": null },

  
  {"shopItemId":130, "columnNr":3, "unitTypeName":"UNIT_MONEYMAN", "gemCost":5} , 
	{"shopItemId":225, "columnNr":3, "unitTypeName":"UNIT_TREBUCHET", "gemCost":8} , 
	{"shopItemId":233, "columnNr":3, "unitTypeName":"TECH_UPGRADE_UNIT_CAVALRY_1", "gemCost":5} , 
  
  
  
  
  
  {"shopItemId": 200, "columnNr": 4, "gemCost": 2, "imgName": "shop_unlock.png", "txtNiceNameStringID": "SHOP_UNLOCK_NAME", "messageTextIdent": "SHOP_UNLOCK", "spec":"SHOP_UNLOCK", "reSellable": true, "unitTypeName": null },
  {"shopItemId": 150, "columnNr": 4, "gemCost": 2, "imgName": "shop_stuffy_doll.png", "txtNiceNameStringID": "SHOP_STUFFY_DOLL_NAME", "messageTextIdent": "SHOP_STUFFY_DOLL", "spec":"SHOP_STUFFY_DOLL", "reSellable": true, "unitTypeName": null },
  {"shopItemId": 140, "columnNr": 4, "gemCost": 3, "imgName": "shop_incinerate.png", "txtNiceNameStringID": "SHOP_INCINERATE_NAME", "messageTextIdent": "SHOP_INCINERATE", "spec":"SHOP_INCINERATE", "reSellable": true, "unitTypeName": null },
  {"shopItemId": 160, "columnNr": 4, "gemCost": 5, "imgName": "32_convert.png", "txtNiceNameStringID": "SHOP_CONVERT_NAME", "messageTextIdent": "SHOP_CONVERT", "spec":"SHOP_CONVERT", "reSellable": true, "unitTypeName": null },
  {"shopItemId": 120, "columnNr": 4, "gemCost": 3, "imgName": "shop_production_transfer.png", "txtNiceNameStringID": "SHOP_PROD_TRN_NAME", "messageTextIdent": "SHOP_PROD_TRN", "spec":"SHOP_PROD_TRN", "reSellable": true, "unitTypeName": null },
  {"shopItemId": 155, "columnNr": 4, "gemCost": 4, "imgName": "shop_clone.png", "txtNiceNameStringID": "SHOP_CLONE_NAME", "messageTextIdent": "SHOP_CLONE", "spec":"SHOP_CLONE", "reSellable": true, "unitTypeName": null },
  




   {"shopItemId":1967, "columnNr":100, "unitTypeName":"TECH_DWARF_EXPLOSIVE_ROUNDS", "gemCost":4},
    {"shopItemId":1968, "columnNr":100, "unitTypeName":"TECH_DWARF_GRAPESHOT_ROUNDS", "gemCost":4},
    {"shopItemId":1963, "columnNr":100, "unitTypeName":"TECH_DWARF_MISSILES", "gemCost":4},


    {"shopItemId":1969, "columnNr":101, "unitTypeName":"TECH_UND_DISMEMBERMENT", "gemCost":6, "unitTypeNames":["UNIT_UND_WORKER", "UNIT_UND_SKELETON_MONSTER_LABOURER"]},
    {"shopItemId":1970, "columnNr":101, "unitTypeName":"UNIT_UND_SKELETON_DENEZIN", "gemCost":4}



  ],

"shopConfigTitles": [
    {"pageNr": 0, "titleID": "shop_page_title_human", "raceIDString": ""} ,
    {"pageNr": 1, "titleID": "shop_page_title_orc", "raceIDString": ""} ,
    {"pageNr": 2, "titleID": "shop_page_title_undead", "raceIDString": ""} ,
    {"pageNr": 3, "titleID": "shop_page_title_elf", "raceIDString": ""} ,
    {"pageNr": 4, "titleID": "shop_page_title_dwarf", "raceIDString": ""} ,
    {"pageNr": 5, "titleID": "shop_page_title_scaledfolk", "raceIDString": ""} ,
    {"pageNr": 6, "titleID": "shop_page_title_human_imp", "raceIDString": ""} ,

]
}
Explanation:
shopItemId - must be uniqu in file.
columnNr - which column to put it (in shoplist)
unitTypeName - which unit it unlocks (optional)
unitTypeNames - which additional unit it unlocks (optional)
gemCost - gemcost

shopConfigTitles- in this section you can set titles for the pages (pageNR = 0 is the first page). the title is a strings.xml ID (not the title text itself)


Shopitem aligment

In general: the shop should be mixed so it will give a "in-deterministic" mistery for the player what will be unlocked next.
However on multi-race games the page-per race approach seemed needed, so in general all games should try to make race-per page approach - but inside a page a completely mixed alignment.
Also we thought of "beginner" players, they need to know which page contains the "basics" so start open upgrades from there, so some first few pages can be called the basics to help them.

In AOF: in here as we have extended amount of "subrace" content we can make
- clean subrace pages
- and we can make in mixed pages subrace-clean-columns too.

like this:
- undead basics
-- here maybe totally mixed columns, or can be by skeleton/zombie if it can be a clean column (costiers later cheapers sooner)
- undead
-- nightmare column
-- nightmare column
-- phantom column
-- mixed other small things column
- undead
-- casters column
-- soulforge columns
-- soulforge columns
-- mixed other small things column
- undead-wight
-- wight column
-- wight column
-- wight column
-- wight column
Stratego (dev)
Site Admin
Posts: 15734
Joined: Fri Apr 25, 2014 9:28 pm

Re: Game definition jsons - Upgrades definition json

Post by Stratego (dev) »

the new thing here:

unitTypeNames - which additional unit it unlocks (optional)

this makes the Grantoshopitem list in unit json be obsolete.
Stratego (dev)
Site Admin
Posts: 15734
Joined: Fri Apr 25, 2014 9:28 pm

Re: Game definition jsons - Upgrades definition json

Post by Stratego (dev) »

modders please: We can not publish any version til we have the obsolete grantorshopitem array set in unit jsons, so please fix in your pack or ask me for help if u can not (if u have too many)

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

Re: Game definition jsons - Upgrades definition json

Post by Stratego (dev) »

new section:

shopConfigTitles- in this section you can set titles for the pages (pageNR = 0 is the first page). the title is a strings.xml ID (not the title text itself)

(i made it in AOF and will be made in AOS too, for other variants please suggest what to set)
Post Reply

Return to “Game Definition .JSON”