A collection of predefined rules and rulesets for HouseRules.Core
See the HouseRules.Core readme for more information about HouseRules API.
- Earth Wind & Fire : Not the band. Let's get Elemental.
- 🕷️Arachnophobia🕷️ : Offers a fresh adventure to be played on the RootsOfEvil Map. Chased by violent thugs from their ancestral homes in Sunderhaven, the King and Queen flee into the woods. Befriended by money spiders, they hatch a plan to rebuild their fallen empires, but first they're going to need some cash.
- 🎲LuckyDip🎲 : Players each start with two 'Drop Chest' cards instead of their normal starting cards, meaning that no two games start the same. Many potions have AOE effect, because it's rude not to share. Many other changes included for faster gameplay with an aim of around 90 minutes per game.
- 💣It's A Trap💣 : Build fiendiesh traps for your enemies and lure them to their deaths, but do try not to kill your friends. Lamps and BoobyTraps aplenty. Enemies cannot open doors, DetectEnemies/EyeOfAvalon & Torch will not be attacked, Stealth & TileEffect durations extended.
- The Swirl : Only poison, fireballs and vortexes. Health and POIs aplenty, but must defeat all enemies to escape.
- Beat The Clock : Ultra health. Ultra card recycling. Only 15 rounds to escape...
- Hunter's Paradise : Pets, pets, pets! And hunter's mark.
- Demeo Reloaded : The Gray Alien's ruleset. MANY class changes. NEW enemies. BETTER loot. No respawns. Yet somehow challenging...
- Difficulty Easy : Decreased game difficulty for a more casual playstyle.
- Difficulty Hard : Increased game difficulty for a greater challenge.
- Difficulty Legendary : Increased game difficulty for those who want to be a legend.
- 3x3 Potions and Buffs : Heal, Strength, Speed, Adamant, Antitoxin, RepairArmor and Bard buffs are 3x3 AOE.
- Better Sorcerer : 0 Action Cost for Sorcerer's Zap - No other changes. #STS
- No Surprises : No surprises in the dark or coming through doors.
- Quick and the Dead : A mode with a small hand but fast turnaround time on cards means you need to not hesitate.
- Flipping Out : Coin Flips ONLY! BIG ENEMIES! Heads... or tails?
- Potion Commotion : Nothing but potions in the cards you get given. Enemies do not respawn.
Rulesets may also be configured as JSON files and stored within the game directory <GAME_DIR>/UserData/HouseRules/<rulesetname>.json
A copy of all built-in rulesets are included as JSON files and, after
HouseRules installation, can be found in the game directory
<GAME_DIR>/UserData/HouseRules/ExampleRulesets/
so you can modify them
to your heart's content, or use them as a starting point for your own completely
custom ruleset.
Additionally, those JSON rulesets can be found within this repository.
The Settings Reference contains lists of all different BehaviourIDs, AbilityKeys and other data types used by the Rules.
- Overrides the Ability.CostAP setting for player abilities.
- To configure:
- Specify the AbilityKey of the ability to modify.
- Specify
true
if the ability should cost AP to cast, orfalse
if it should not.
{
"Rule": "AbilityActionCostAdjusted",
"Config": {
"Zap": false,
"CourageShanty": false,
"HealingPotion": true
}
},
- Does not work with all abilities.
- To configure:
- Specify the AbilityKey of the ability to modify.
- Specify a positive integer to increase range, or a negative number to decrease it. E.g.:
"Fireball": 1
will increases the Fireball AOE from a 3x3 to 5x5
{
"Rule": "AbilityAoeAdjusted",
"Config": {
"CourageShanty": 1,
"StrengthPotion": 1,
"SwiftnessPotion": 1,
"HealingPotion": 1
}
},
- Does not work with all abilities.
- To configure:
- Specify the AbilityKey of the ability to modify.
- Specify
true
if the ability should give a backstab bonus, orfalse
if it should not.
{
"Rule": "AbilityBackstabAdjusted",
"Config": {
"Zap": true,
"Arrow": true,
"PiercingArrow": true,
"PoisonedTip": true,
"Fireball": true,
"Freeze": true
}
},
- Only functions for abilities which do damage. (You can't make a HealingPotion hurt).
- CriticalHitDamage is adjusted to double normal damage.
- To configure:
- Specify the AbilityKey of the ability to modify.
- Specify a positive integers for targetDamage and critDamage respectively E.g.:
"Zap": [ 2, 5 ]
will set Zap targetDamage to 2 and critDmage to 5.
{
"Rule": "AbilityDamageOverridden",
"Config": {
"Zap": [ 2, 4 ],
"Whirlwind": [ 4, 8 ]
}
},
- Only functions for abilities which do heal. (You can't make a Fireball heal).
- To configure:
- Specify the AbilityKey of the ability to modify.
- Specify the new integer for healAmount to use.
{
"Rule": "AbilityHealOverridden",
"Config": {
"HealingPotion": 3
}
},
- 🚧 Skirmish-only - Does not work properly in multiplayer games. 🚧
- Some abilities (BeastWhisperer, RatBomb) have lists which are used to spawn random pieces.
- This rule allows the list to be replaced with a different one.
- To configure:
- Specify the AbilityKey of the ability to modify.
- Specify a list of BoardPieceIds for the pieces that the ability could spawn.
{
"Rule": "AbilityRandomPieceList",
"Config": {
"BeastWhisperer": [
"GoblinRanger",
"Slime"
]
}
},
- Can function for abilities which don't do damage. (You can make a FlashBomb hurt).
- To configure:
- Specify the AbilityKey of the ability to modify.
- Specify a positive integer for stealthBonusDamage E.g.:
"PlayerMelee": 2
adds 2 damage to a normal attack if stealthed.
{
"Rule": "AbilityStealthDamageOverridden",
"Config":
{
"Blink": 4,
"DiseasedBite": 2,
"PoisonBomb": 1,
"CursedDagger": 3,
"PlayerMelee": 2
}
},
- For example, you can make Barricades inspire Panic on enemies that hit it.
- To be useful the effect has to last at least 2 rounds.
- To configure:
- Specify the BoardPieceId that should have its effect adjusted.
- Specify the EffectState that the piece should apply when attacked.
{
"Rule": "ApplyEffectOnHitAdjusted",
"Config": {
"HealingBeacon": "Confused",
"SwordOfAvalon": "Diseased",
"Lure": "Thorns",
"HeroWarlock": "ExposeEnergy",
"Verochka": "Panic"
}
},
- Replaces the hardcoded default of HeroRogue with a configurable list.
- Now everyone can benefit from Backstab bonus.
- To configure:
- Specify the list of BoardPieceIds that should have the ability to backstab.
{
"Rule": "BackstabConfigOverridden",
"Config": [ "HeroGuardian", "HeroHunter", "HeroSorcerer", "HeroRogue", "HeroBard" ]
},
CardAdditionOverridden: Overrides the lists of cards which players receive from chest AND card energy (mana).
- 🚧 NOTE: You should not use this rule if you plan to use the following two rules! 🚧
- The default card allocation mechanism is intercepted and changed to use a user-defined list of cards.
- To configure:
- Specify the BoardPieceId that should have its card pool overridden.
- Specify a list of AbilityKeys for the cards that should make up the card pool.
{
"Rule": "CardAdditionOverridden",
"Config": {
"HeroSorcerer": ["StrengthPotion", "SwiftnessPotion", "Bone", "Fireball", "Freeze", "BottleOfLye", "Teleportation", "HeavensFury", "RevealPath"],
"HeroGuardian": ["WhirlwindAttack", "Charge", "CallCompanion", "HealingPotion"]
}
},
- The default card allocation mechanism is intercepted and changed to use a user-defined list of cards.
- To configure:
- Specify the BoardPieceId that should have its card pool overridden.
- Specify a list of AbilityKeys for the cards that should make up the card pool.
{
"Rule": "CardChestAdditionOverridden",
"Config": {
"HeroSorcerer": ["StrengthPotion", "SwiftnessPotion", "Bone", "Fireball", "Freeze", "BottleOfLye", "Teleportation", "HeavensFury", "RevealPath"],
"HeroGuardian": ["WhirlwindAttack", "Charge", "CallCompanion", "HealingPotion"]
}
},
CardEnergyAdditionOverridden: Overrides the lists of cards which players receive from card energy (mana).
- The default card allocation mechanism is intercepted and changed to use a user-defined list of cards.
- To configure:
- Specify the BoardPieceId that should have its card pool overridden.
- Specify a list of AbilityKeys for the cards that should make up the card pool.
{
"Rule": "CardEnergyAdditionOverridden",
"Config": {
"HeroSorcerer": ["StrengthPotion", "SwiftnessPotion", "Bone", "Fireball", "Freeze", "BottleOfLye", "Teleportation", "HeavensFury", "RevealPath"],
"HeroGuardian": ["WhirlwindAttack", "Charge", "CallCompanion", "HealingPotion"]
}
},
- Multiply how quickly the mana bar fills up when you attack enemies.
- To configure:
- Specify a decimal number representing how the energy is multiplied.
{
"Rule": "CardEnergyFromAttackMultiplied",
"Config": 2.0
},
- To configure:
- Specify a decimal number representing how the energy is multiplied.
{
"Rule": "CardEnergyFromRecyclingMultiplied",
"Config": 2.0
},
- 🚧 Skirmish-only - Does not work properly in multiplayer games. 🚧
- Change the size of the player's card hand from the default 9 plus replenishable cards.
- To configure:
- Specify an integer representing the total size of the player's hand minus replenishable cards.
{
"Rule": "CardLimitModified",
"Config": 18
},
- 🚧 Skirmish-only - Does not work properly in multiplayer games. 🚧
- Increase card sale values in the shop.
- To configure:
- Specify a decimal number representing how sell values are multiplied.
{
"Rule": "CardSellValueMultiplied",
"Config": 2.0
},
- Cards with a character class of
None
are usable by all players. - Cards may be disabled from play by assigning to a non-player Character
- Cards may be reassigned to other player characters
- To configure:
- Specify the AbilityKey of the card to modify.
- Specify the BoardPieceId of the piece to restrict the card to.
{
"Rule": "CardClassRestrictionOverridden",
"Config": {
"BeastWhisperer": "SporeFungus",
"Sneak": "Guardian",
"Zap": "Hunter"
}
},
- To configure:
- Specify a decimal number for how many HP to add to the target each time CourageShanty is used.
{
"Rule": "CourageShantyAddsHp",
"Config": 2
},
- To configure:
- Specify a decimal number representing how enemy attack damage is multiplied.
{
"Rule": "EnemyAttackScaled",
"Config": 0.85
},
- Lets you set the number of turns before enemies can use specified abilities again.
- To configure:
- Specify the AbilityKeys of the ability to modify.
- Specify the new integer for cooldown to use.
{
"Rule": "EnemyCooldownOverridden",
"Config": {
"LeapHeavy": 2,
"EnemyFrostball": 2,
"Shockwave": 3,
"EnemyFireball": 2,
"EnemyFlashbang": 2
}
},
- To configure:
- Specify
true
to disable enemies opening doors.
- Specify
{
"Rule": "EnemyDoorOpeningDisabled",
"Config": true
},
- To configure:
- Specify a decimal number representing how enemy health is multiplied.
{
"Rule": "EnemyHealthScaled",
"Config": 0.85
},
- To configure:
- Specify
true
to disable enemy respawns.
- Specify
{
"Rule": "EnemyRespawnDisabled",
"Config": true
},
- Whenever you score a critical hit, a user-configured card is added to your inventory.
- Allows configuration of different abilities on a per-hero basis.
- To configure:
- Specify a Dictionary of BoardPieceIds and abilities.
{
"Rule": "FreeAbilityOnCrit",
"Config": {
"HeroBard": "OneMoreThing",
"HeroHunter": "PoisonedTip",
"HeroSorcerer": "Fireball",
"HeroGuardian": "Bone",
"HeroRogue": "PoisonBomb"
}
},
- To configure:
- Specify a decimal number representing how gold is multiplied.
{
"Rule": "GoldPickedUpMultiplied",
"Config": 1.25
},
LevelExitLockedUntilAllEnemiesDefeated: The 🔒exit🔑 from each level will not open if any enemies remain.
- This rule needs to be used in combination with other rules or it will not be possible to complete a level. (e.g. EnemyRespawnDisabled)
- To configure:
- Specify
true
to keep the level exit locked until all enemies are defeated.
- Specify
{
"Rule": "LevelExitLockedUntilAllEnemiesDefeated",
"Config": true
},
- Lamps are spawned in pre-set locations on each map, but the list of available lamps can be configured.
- Lamps are spawned at random, so specifying multiples of some lamp types can be used to get a desired ratio.
- Boardpieces other than lamps (e.g. SporeFungus) can also be spawned.
- To configure:
- Specify a list of BoardPieceIds for each Floor level.
- Floor level names must be Floor1Lamps, Floor2Lamps and Floor3Lamps
{
"Rule": "LampTypesOverridden",
"Config": {
"1": [
"OilLamp",
"OilLamp",
"OilLamp",
"VortexLamp"
],
"2": [
"GasLamp",
"GasLamp",
"GasLamp",
"VortexLamp"
],
"3": [
"IceLamp",
"IceLamp",
"IceLamp",
"VortexLamp"
]
}
},
- Allows customisation of Loot, Chests and HealingFountains on a per-floor basis
- To configure:
- Specify the LevelProperty to modify.
- Specify an integer or decimal number for new value for the property.
{
"Rule": "LevelPropertiesModified",
"Config": {
"BigGoldPileChance": 100,
"FloorOneHealingFountains": 9,
"FloorOneLootChests": 9,
"FloorTwoHealingFountains": 9,
"FloorTwoLootChests": 9,
"FloorThreeHealingFountains": 9,
"FloorThreeLootChests": 9
}
},
- List of levels must be exactly five items long. The game will crash at the end if the list is any longer.
- Shop levels can be replaced with game levels.
- It is possible to use levels from any book (Elven, Sewers, Forest) together in a single list
- Level soundtracks may not match the played level or adventure (e.g. The shop "Ah Customers, Welcome" will always play on 2nd and 4th levels)
- Level names are ElvenFloor01-17, SewersFloor01-12, ForestFloor01-03, ForestFloor05-09, ShopFloor02, SewersShopFloor & ForestShopFloor
- To configure:
- Specify a list of LevelNames.
{
"Rule": "LevelSequenceOverridden",
"Config": [ "ElvenFloor01", "SewersFloor07", "ForestFloor09", "ForestShopFloor", "ElvenFloor08" ]
},
- This rule is a more advanced implementation of SpawnCategoriesOverridden, and will directly configure the MonsterDeck from lists.
- Within the game the
AIDirectorController
deals Monsters from the MonsterDeck when populating the levels. - Two subdecks are used for each floor. One subdeck is used when players are near the Entrance, and another nearer the exit.
- The subdecks are called 'standard' and 'spike' within the game code, but we're callling them 'Entrance' and 'Exit' for simplicity.
- The final 'Boss' level only has a single subDeck
- In addition to the MonsterDeck, configuration for the KeyHolder for each floor and the Boss is also required.
- To configure:
- Specify a lists of BoardPieceIds for each of the five subdecks.
- The subdecks must be named
EntranceDeckFloor1
,ExitDeckFloor1
,EntranceDeckFloor2
,ExitDeckFloor2
,BossDeck
- Specify single BoardPieceId for each of
KeyHolderFloor1
,KeyHolderFloor2
, andBoss
{
"Rule": "MonsterDeckOverridden",
"Config": {
"EntranceDeckFloor1": {
"Spider": 0,
"IceElemental": 2,
"ChestGoblin": 3,
"FireElemental": 2
},
"ExitDeckFloor1": {
"Rat": 20,
"Spider": 20,
"IceElemental": 2,
"ChestGoblin": 3,
"Mimic": 1,
"GoblinMadUn": 1,
"DruidArcher": 1
},
"EntranceDeckFloor2": {
"Spider": 10,
"GoblinFighter": 0,
"SporeFungus": 10,
"SpiderEgg": 3,
"FireElemental": 2,
"ElvenArcher": 2
},
"ExitDeckFloor2": {
"Spider": 20,
"Rat": 30,
"Bandit": 2,
"ChestGoblin": 3,
"ElvenPriest": 4,
"ElvenMarauder": 2
},
"BossDeck": {
"SpiderEgg": 10,
"TheUnseen": 0,
"TheUnheard": 0,
"TheUnspoken": 0,
"Slimeling": 0,
"ElvenSkirmisher": 2
},
"KeyHolderFloor1": "Cavetroll",
"KeyHolderFloor2": "Sigataur",
"Boss": "Brookmare"
}
},
- Electricity Damage from friendly fire is zeroed
- To configure:
- Specify
true
to remove player on player electrical damage.
- Specify
{
"Rule": "PartyElectricityDamageOverridden",
"Config": true
},
- To configure:
- Specify
true
to have pets focus on enemies that are marked.
- Specify
{
"Rule": "PetsFocusHunterMark",
"Config": true
},
- Board pieces have abilities such as LaySpiderEgg or SpawnCultists. This rule allows those lists to be overridden.
- With the right combination of rules, you can turn 🕷️spiderlings into thieves who steal your gold, cards, etc.
- Assigning an Ability to a BoardPiece does not necessarily mean that the piece will have a Behaviour to use it.
- This rule works in conjunction with
PieceBehavioursListOverridden
andPiecePieceTypesListOverridden
- To configure:
- Specify the BoardPieceId of the piece to modify.
- Specify a list of AbilityKeys representing the abilities the piece should have.
{
"Rule": "PieceAbilityListOverridden",
"Config": {
"Spiderling": [ "SpiderWebshot", "LaySpiderEgg", "EarthShatter", "AcidSpit", "DropChest", "EnemyStealCard", "EnemyStealGold" ],
"Rat": [ "DiseasedBite", "SpawnRat", "EnemyStealGold", "SpawnMushrooms", "DropChest", "EnemyStealCard", "EnemyStealGold" ],
"GoblinFighter": [ "SpawnCultists", "EnemyStealGold", "DropChest", "EnemyStealCard", "EnemyStealGold" ]
}
},
- Board pieces have behaviours such as Patrol, SpawnPiece, AttackandRetreat. This rule allows those lists to be overridden.
- With the right combination of rules, you can turn 🕷️spiderlings into thieves who steal your gold, cards, etc.
- Assigning a behaviour to a particular BoardPiece does not mean that the piece is of the correct PieceType to perform it.
- This rule works in conjunction with
PieceAbilityListOverridden
andPiecePieceTypesListOverridden
- To configure:
- Specify the BoardPieceId of the piece to modify.
- Specify the list of Behaviours that the piece should have.
{
"Rule": "PieceBehavioursListOverridden",
"Config": {
"Spiderling": [ "AttackAndRetreat", "Patrol", "FleeToFOW", "HealFromFOW", "ChargeMove" ],
"Rat": [ "Patrol", "SpawnPiece" ],
"GoblinFighter": [ "FollowPlayerRangedAttacker", "RangedSpellCaster" ]
}
},
- Allows customization of many of the properties for each game Piece. 🩺Health, 🎲ActionPoints, 🏃Movement, ⚔️MeleeDamage, etc.
- Only works for numeric fields. The configured value replaces the default.
- To configure:
- Specify the BoardPieceId of the piece to modify.
- Specify the PieceProperty to modify.
- Specify an integer or decimal number representing the new value for the property.
{
"Rule": "PieceConfigAdjusted",
"Config": [
{ "Piece": "HeroSorcerer", "Property": "StartHealth", "Value": 20 },
{ "Piece": "HeroSorcerer", "Property": "MoveRange", "Value": 5 },
{ "Piece": "HeroSorcerer", "Property": "ActionPoint", "Value": 3 },
{ "Piece": "Lure", "Property": "StartHealth", "Value": 30 },
{ "Piece": "SmiteWard", "Property": "ActionPoint", "Value": 2 },
{ "Piece": "HeroSorcerer", "Property": "BerserkBelowHealth", "Value": 0.8 }
]
},
- Sets how many times each character piece is allowed to be knocked down at the start of a game.
- Allows configuration of different amount of 'lives' on a per-hero basis.
- To configure:
- Specify a Dictionary of BoardPieceIds and a number from 0 to 2. (3 is the default and maximum)
{
"Rule": "PieceDownedCountAdjusted",
"Config": {
"HeroBard": "2",
"HeroHunter": "2",
"HeroSorcerer": "2",
"HeroGuardian": "2",
"HeroRogue": "1",
"HeroBarbarian": "0"
}
},
- Allows customization of many the list of immunities for each game Piece. 🤢Diseased, 😵Stunned, 🤕Weaken1Turn, 🥶Frozen, 🧶Tangled, 💤Petrified , etc
- To configure:
- Specify the BoardPieceId of the piece to modify.
- Specify the list of EffectStates that the piece should be immune to.
{
"Rule": "PieceImmunityListAdjusted",
"Config": {
"HeroSorcerer": [ "Diseased", "HuntersMark", "Weaken1Turn", "Frozen", "Tangled", "Petrified" ],
"Spider": [ "Weaken2Turns", "Panic" ]
}
},
- Board pieces have PieceTypes such as IgnoreWhenCharmed, Brittle, Enemy, Prop, Interactable which dictate certain behaviours.
- With the right combination of rules, you can turn 🕷️spiderlings into thieves who steal your gold, cards, etc.
- Assigning an PieceType to a BoardPiece does not necessarily mean that the piece will change its behaviour.
- This rule works in conjunction with
PieceAbilityListOverridden
andPieceBehavioursListOverridden
. - To configure:
- Specify the BoardPieceId of the piece to modify.
- Specify the list of PieceTypes that the piece should be.
{
"Rule": "PiecePieceTypeListOverridden",
"Config": {
"Spiderling": [ "Enemy", "Goblin", "Thief", "Canine" ],
"Rat": [ "Enemy", "Goblin", "Thief", "Canine" ],
"GoblinFighter": [ "Enemy", "Goblin", "Thief", "Canine" ]
}
},
PieceUseWhenKilledOverridden: Allows the list of UseWhenKilled abilities for any ♟️BoardPiece to be overridden
- Abilities are triggered when a piece dies.
- To configure:
- Specify the BoardPieceId of the piece to modify.
- Specify a list of AbilityKeys for the abilities to be triggered when that piece is killed.
{
"Rule": "PieceUseWhenKilledOverridden",
"Config": {
"Spiderling": [ "HealingPotion" ],
"CaveTroll": [ "Rejuvenation" ]
}
},
- The default card allocation mechanism is intercepted and changed to use a user-defined list of cards.
- To configure:
- Specify the BoardPieceId that should have its card pool overridden.
- Specify a list of AbilityKeys for the cards that should make up the card pool.
- NOTE: This card list does NOT have to be limited to only potions.
{
"Rule": "PotionAdditionOverridden",
"Config": {
"HeroSorcerer": ["MagicPotion", "SwiftnessPotion", "DamageResistPotion"],
"HeroGuardian": ["StrengthPotion", "VigorPotion", "WaterBottle", "HealingPotion"]
}
},
- 🚧 Skirmish-only - Does not work properly in multiplayer games. 🚧
- To configure:
- Specify an integer representing the maximum piles of gold that should be spawned each time.
{
"Rule": "RatNestsSpawnGold",
"Config": 4
},
RegainAbilityIfMaxxedOutOverridden: Controls whether you get a potion back when you cast it on someone who is already at max.
- This rule is to overcome a 'feature' that occurs if you apply an AOE range onto Strength/Speed potions. By default when you cast a strength or speed potion on someone who is already maxed out, you get it returned to your hand. If you cast a potion on a group who are maxed, you get one-potion-per-player returned back to your hand.
- This rule exists to control that behaviour.
- To configure:
- Specify the AbilityKeys of the ability to modify.
- Specify
true
is using the ability while maxed out should return the ability card to the player, orfalse
to prevent the card being returned to the player's hand.
{
"Rule": "RegainAbilityIfMaxxedOutOverridden",
"Config": {
"SwiftnessPotion": false,
"StrengthPotion": false
}
},
- For ⏳ beat-the-clock ⏳ type gameplay.
- If the game is not completed (i.e., the boss defeated) before the specified rounds are up, the game ends as a loss.
- To configure:
- Specify the maximum number of rounds allowed.
{
"Rule": "RoundCountLimited",
"Config": 40
},
SampleRule: A sample rule documenting the anatomy of a HouseRule rule.
SpawnCategoryOverridden: Overrides the Spawn Categories which control distribution of pieces in each map.
- Each dungeon has a list of pieces which may appear, and controlling properties.
- This rule replaces the list (for all dungeons) with a new one.
- Pieces which are not listed in the config will have
IsSpawningEnabled
set tofalse
to disable pieces from auto-populating a map. - Does not have absolute control over what monsters will appear. Bosses bring support chars etc.
- To configure:
- Specify the BoardPieceId of the piece to appear in each map.
- Specify a list with values for
MaxPerDeck
,PreFill
andFirstAllowedLevelIndex
, respectively, for each piece.
{
"Rule": "SpawnCategoryOverridden",
"Config": {
"Spiderling": [ 200, 50, 1 ],
"SpiderEgg": [ 20, 10, 1 ] ,
"GiantSpider": [ 30, 10, 1 ],
"RatKing": [ 1, 1, 1 ],
"ElvenQueen": [ 1, 1, 2 ]
}
},
- Removes all default cards from Player's hand and replaces them with custom ones.
- Replenishable cards do not leave a players hand once cast (e.g. RepairArmor, Arrow or Zap).
- Max of two replenishable cards per player.
- To configure:
- Specify the BoardPieceId of the piece to replace the starting card hand of.
- Specify the AbilityKey of the cards to add to the piece's hand.
- Specify integer value for replenish frequency. 0=NoReplenish, 1=EveryTurn, 2=Every 2 Turns etc
- Max replenish frequency value is 7
{
"Rule": "StartCardsModified",
"Config": {
"HeroGuardian": [
{ "Card": "HealingPotion", "ReplenishFrequency": 0 },
{ "Card": "ReplenishArmor", "ReplenishFrequency": 1 },
{ "Card": "WhirlwindAttack", "ReplenishFrequency": 1 },
{ "Card": "PiercingThrow", "ReplenishFrequency": 0 },
{ "Card": "CoinFlip", "ReplenishFrequency": 0 },
{ "Card": "TheBehemoth", "ReplenishFrequency": 0 },
{ "Card": "SwordOfAvalon", "ReplenishFrequency": 0 }
],
"HeroHunter": [
{ "Card": "HealingPotion", "ReplenishFrequency": 0 },
{ "Card": "Arrow", "ReplenishFrequency": 1 },
{ "Card": "Arrow", "ReplenishFrequency": 1 },
{ "Card": "CoinFlip", "ReplenishFrequency": 0 },
{ "Card": "DropChest", "ReplenishFrequency": 0 }
],
"HeroSorcerer": [
{ "Card": "HealingPotion", "ReplenishFrequency": 0 },
{ "Card": "Zap", "ReplenishFrequency": 1 },
{ "Card": "WhirlwindAttack", "ReplenishFrequency": 1 },
{ "Card": "Freeze", "ReplenishFrequency": 0 },
{ "Card": "Fireball", "ReplenishFrequency": 0 },
{ "Card": "CallCompanion", "ReplenishFrequency": 0 }
]
}
},
- There are only six different StatModifiers in the game. They are used by 💪StrengthPotion, 🦶SwiftnessPotion, 🛡️ReplenishArmor, HuntersMark, etc.
- These modifiers control the power of each corresponding ability. E.g., by default the stat modifier for SongOfResilience is 5, as it grants 5 units of armor.
- To configure:
- Specify the AbilityKey of the ability whose stat modifer should be replaced.
- Specify an integer representing the new value of the stat modifier.
{
"Rule": "StatModifiersOverridden",
"Config": {
"StrengthPotion": 2,
"SwiftnessPotion": 2,
"HuntersMark": -4,
"ReplenishBarkArmor": 4,
"SongOfResilience": 6,
"ReplenishArmor": 4
}
},
StatusEffectConfig: The parameters of different StatusEffects (🔥Torch, 🤢Poison, 🥶Frozen) can be overridden
- Default values can be found in
StatusEffectsConfig.effectsConfig
. - To configure:
- Specify a list of status effects that should replace existing ones of the same type.
{
"Rule": "StatusEffectConfig",
"Config": [
{
"effectStateType": "TorchPlayer",
"durationTurns": 15,
"tickWhen": "StartTurn",
"stacks": true,
"damagePerTurn": 0,
"clearOnNewLevel": false,
"damageTags": null,
"healPerTurn": 0
},
{
"effectStateType": "HealingSong",
"durationTurns": 4,
"tickWhen": "StartTurn",
"stacks": false,
"damagePerTurn": 0,
"clearOnNewLevel": false,
"damageTags": null,
"healPerTurn": 3
},
]
},
- There are five different TileEffects in the game. Gas, Acid, Web, Water and Target.
- Overriding the durations allows for TileEffects to last for longer or shorter times.
- It is necessary to specify all five effects in the config for this rule, or they will assume a default duration of 9999 rounds.
- To configure:
- Specify the
TileEfect
(Gas, Acidm etc) of the effect whose duration should be replaced. - Specify an integer representing the new duration in turns.
- Specify the
{
"Rule": "TileEffectDurationOverridden",
"Config": {
"Gas": 3,
"Acid": 4,
"Web": 2,
"Water": 2,
"Target": 0
}
},
- The game will compute the turn order at the start of every turn.
- For each attribute that a player satisfies, they get a corresponding value added to their initiative score. Players with higher initiative scores go first.
- The
Downed
attribute is considered when players are downed, and theJavelin
attribute is considered when players have the Sigataurian Javelin in their inventory. - To configure:
- Specify a value for any attribute that should add to a player's initiative score.
{
"Rule": "TurnOrderOverridden",
"Config": {
"Assassin": 8,
"Bard": 2,
"Guardian": 20,
"Hunter": 6,
"Sorcerer": 4,
"Downed": 10,
"Javelin": 10
}
},