Difference between revisions of "User:AVS/Secondary skill format"

From VCMI Project Wiki
Jump to: navigation, search
(Questions)
(Questions)
Line 1: Line 1:
 
= Questions =
 
= Questions =
  
* How skill disabling ("skillName": null) should be handled, especially  in case of starting hero skill?
 
 
* Should default values (with no skill level) be configured too?
 
* Should default values (with no skill level) be configured too?
 
** {{todo}} Discuss with whole team
 
** {{todo}} Discuss with whole team
 
* Can we avoid limitation of "at most one bonus if each type per skill level"? Current selector code for extract bonus from previous level:
 
* Can we avoid limitation of "at most one bonus if each type per skill level"? Current selector code for extract bonus from previous level:
 
 
:*<syntaxhighlight lang="cpp">
 
:*<syntaxhighlight lang="cpp">
 
Selector::type(type).And(Selector::sourceType(Bonus::SECONDARY_SKILL))
 
Selector::type(type).And(Selector::sourceType(Bonus::SECONDARY_SKILL))
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
* Should commander skills be unified with hero skills?
  
 
= Format =
 
= Format =

Revision as of 18:07, 19 January 2014

Questions

  • Should default values (with no skill level) be configured too?
    • [Todo] Discuss with whole team
  • Can we avoid limitation of "at most one bonus if each type per skill level"? Current selector code for extract bonus from previous level:
  • Selector::type(type).And(Selector::sourceType(Bonus::SECONDARY_SKILL))
    
  • Should commander skills be unified with hero skills?

Format

Skill format

{
	"skillName":
	{

		//required for H3 skills, not allowed in mods (even if mod is overriding original skill) | number
		//numeric id
		"id": 42,

		//required | string 
		//translatable name
		"name": "Skill Name",		

		//optional | default = false| boolean  
		//this skill cant be learned in usual way, overrides chance to get
		"special": true,

		//optional| default 0| chance to learn by default for any Hero Class from any mod
		"defaultChance": 3,

		//optional | no default | string-numeric dictionary as json object
		//class-specific chance (reveresed version of Hero Class attribute)
		"chances":
		{
			"core:hero.cleric": 5
		}

		//required | object
		"levels":{

			"basic": { [Skill level format]}, 

			"advanced": { [Skill level format]}, 

			"expert": { [Skill level format]}

		}

	}
}

Skill level format

{
	//optional| default auto-generated| string
	//translatable name
	"name": "Basic nothing",

	//optional |no default| string-bonus dictionary as JSON object
	//there are skills handled only by skill level 
	//and there might be skill that give bonus only on high level 
	// (allows overriding by name)
	// !!! At most one bonus of each type
	"bonuses":
	{
		"firstBonus":{[bonus format]},
		"secondBonus":{[bonus format]}				

	}
},