Difference between revisions of "List of bonus limiters"
From VCMI Project Wiki
(10 intermediate revisions by 5 users not shown) | |||
Line 4: | Line 4: | ||
* DRAGON_NATURE | * DRAGON_NATURE | ||
* IS_UNDEAD | * IS_UNDEAD | ||
+ | * CREATURE_NATIVE_TERRAIN | ||
+ | * OPPOSITE_SIDE | ||
+ | |||
+ | Example: | ||
+ | <syntaxhighlight lang="javascript"> | ||
+ | "limiters" : [ "SHOOTER_ONLY" ] | ||
+ | </syntaxhighlight> | ||
+ | |||
==Customizable Limiters== | ==Customizable Limiters== | ||
+ | ===HAS_ANOTHER_BONUS_LIMITER=== | ||
+ | Parameters: | ||
+ | * Bonus type | ||
+ | * (optional) bonus subtype | ||
+ | * (optional) bonus sourceType and sourceId in struct | ||
+ | * example: (from Adele's bless): | ||
+ | <syntaxhighlight lang="javascript"> | ||
+ | "limiters" : [ | ||
+ | { | ||
+ | "type" : "HAS_ANOTHER_BONUS_LIMITER", | ||
+ | "parameters" : [ | ||
+ | "GENERAL_DAMAGE_PREMY", | ||
+ | 1, | ||
+ | { | ||
+ | "type" : "SPELL_EFFECT", | ||
+ | "id" : "spell.bless" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | ], | ||
+ | </syntaxhighlight> | ||
+ | ===CREATURE_TYPE_LIMITER=== | ||
+ | Parameters: | ||
+ | * Creature id (string) | ||
+ | * (optional) include upgrades - default is false | ||
+ | ===CREATURE_ALIGNMENT_LIMITER=== | ||
+ | Parameters: | ||
+ | * Alignment identifier | ||
+ | ===CREATURE_FACTION_LIMITER=== | ||
+ | Parameters: | ||
+ | * Faction identifier | ||
+ | ===CREATURE_TERRAIN_LIMITER=== | ||
+ | Parameters: | ||
+ | * Terrain identifier | ||
+ | |||
+ | Example: | ||
+ | <syntaxhighlight lang="javascript"> | ||
+ | "limiters": [ { | ||
+ | "type":"CREATURE_TYPE_LIMITER", | ||
+ | "parameters": [ "angel", true ] | ||
+ | } ], | ||
+ | </syntaxhighlight> | ||
+ | <syntaxhighlight lang="javascript"> | ||
+ | "limiters" : [ { | ||
+ | "type" : "CREATURE_TERRAIN_LIMITER", | ||
+ | "parameters" : ["sand"] | ||
+ | } ] | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==Aggregate Limiters== | ||
+ | The following limiters must be specified as the first element of a list, and operate on the remaining limiters in that list: | ||
+ | * allOf (default when no aggregate limiter is specified) | ||
+ | * anyOf | ||
+ | * noneOf | ||
+ | |||
+ | Example: | ||
+ | <syntaxhighlight lang="javascript"> | ||
+ | "limiters" : [ | ||
+ | "noneOf", | ||
+ | "IS_UNDEAD", | ||
+ | { | ||
+ | "type" : "HAS_ANOTHER_BONUS_LIMITER", | ||
+ | "parameters" : [ "SIEGE_WEAPON" ] | ||
+ | } | ||
+ | ] | ||
+ | </syntaxhighlight> | ||
+ | {{Bonuses}} |
Latest revision as of 09:14, 23 March 2023
Contents
Predefined Limiters
The limiters take no parameters:
- SHOOTER_ONLY
- DRAGON_NATURE
- IS_UNDEAD
- CREATURE_NATIVE_TERRAIN
- OPPOSITE_SIDE
Example:
"limiters" : [ "SHOOTER_ONLY" ]
Customizable Limiters
HAS_ANOTHER_BONUS_LIMITER
Parameters:
- Bonus type
- (optional) bonus subtype
- (optional) bonus sourceType and sourceId in struct
- example: (from Adele's bless):
"limiters" : [
{
"type" : "HAS_ANOTHER_BONUS_LIMITER",
"parameters" : [
"GENERAL_DAMAGE_PREMY",
1,
{
"type" : "SPELL_EFFECT",
"id" : "spell.bless"
}
]
}
],
CREATURE_TYPE_LIMITER
Parameters:
- Creature id (string)
- (optional) include upgrades - default is false
CREATURE_ALIGNMENT_LIMITER
Parameters:
- Alignment identifier
CREATURE_FACTION_LIMITER
Parameters:
- Faction identifier
CREATURE_TERRAIN_LIMITER
Parameters:
- Terrain identifier
Example:
"limiters": [ {
"type":"CREATURE_TYPE_LIMITER",
"parameters": [ "angel", true ]
} ],
"limiters" : [ {
"type" : "CREATURE_TERRAIN_LIMITER",
"parameters" : ["sand"]
} ]
Aggregate Limiters
The following limiters must be specified as the first element of a list, and operate on the remaining limiters in that list:
- allOf (default when no aggregate limiter is specified)
- anyOf
- noneOf
Example:
"limiters" : [
"noneOf",
"IS_UNDEAD",
{
"type" : "HAS_ANOTHER_BONUS_LIMITER",
"parameters" : [ "SIEGE_WEAPON" ]
}
]
Bonus string constants
- List of all bonus types
- List of bonus value types
- List of bonus range types
- List of bonus duration types
- List of bonus sources
- List of bonus limiters
- List of bonus propagators
- List of bonus updaters