This is an extensive and detailed guide for creating new status effects or modifying existing ones in La main de Merlin, written by The Hand of Merlin’s game designer, Tapis.
introduction
Our game relies heavily on Effets de statut, donc nous’ll focus on those today – teach you how to create or edit them!
Nous’ll be looking at some effects already in-game, such as Burn and Backplates, Par exemple. Avec un peu de chance, toi’ll be able to implement what you learn here to your own mechanics.
Notez – Status effects don’t really work until you set yourself an Capacité, un Unité, ou un Relique that uses it, so feel free to peruse the guides on those topics.
What is a Status Effect?
A Status Effect is anything that modifies a unit during a Skirmish. It can change rules, attributs, modify damage, or even change how some abilities and AI behaves.
In The Hand of Merlin, Status effects often have “Stacks” associated with them, which is a sort of “number of magnitude”. This stack size can be used for all sorts of effects, and can even be the duration of the effect.
If you want to create your own Status Effect, use the Create menu (CTRL+N), and choose Generic – > (Merlin) Status effect params.
Once you have a new file, remember to save it. We usually use the Content\Merlin\Effects folder.
Maintenant, laisser’s break down each feature of the status effect.
Identification
The first thing is setting your effect with a Nom. Choose something short, but descriptive.
Then you get a Description. This is usually a bit more complex, and is filled with dynamic tags to be filled in. Laisser’s take a look at the one for Burning:
Prendre <spécial>{Dommage}</spécial> dommage <spécial>chaque tour</spécial>. <br/><spécial>Decays</spécial>, perdant <spécial>1</spécial> empiler <spécial>par tour</spécial>.
Il’s a bit heavy with tags, mais ici’s what everything is:
<spécial></spécial> is a wrapper you can use when you want that part of the text to be accepted. We have several of these, described in Merlin/databases/DescriptionParser.rsc.
<br/> is to break a line.
{Dommage} is a special entry that refers to an ID set up later in Activated Actions.It could be anything, tant qu'il’s the same down there, comme nous’je verrai. You can also refer to Attribute Modifiers, Damage modifiers, etc.. Just check our other effects for some examples!
It ends up looking like this:
Because these are text properties, you have two fill in two fields:
- Identifier
- Chaîne
This is to make it easier for translations. If you are making a big mod, you might want to have your own identifier naming conventions, mais ici’c'est à moi: j'utilise HOM.StatusEffect.[Nom] et HOM.StatusEffect.[Nom].Description.
Alors, you can choose if you want the Stack size to actually show. We usually make passives not show stack size for clarity.
Et, plus important encore, decide on a Catégorie for your status effect. This impacts some abilities and relics that interact with buffs or debuffs, and also colors your effects. Ici’s how we set it up:
- Positive Status Effects, en bleu, are buffs
- Negative Status Effects, in purple, are debuffs.
- Marker status effects, in yellow, are passives and static effects
- Hidden status effects are not shown, and we usually leave them for complex internal mechanics.
Stacks
Speaking of Stacks, there are a few entries here that change how stacks work on a particular effect. Note Fou furieux ici:
Merge Behavior determines if you want the effect to merge with other applications of themselves. Say if two enemies apply Marque to you (increasing the damage they deal), toi’d want them to be separate, but multiple applications of Vulnerable (Increased the damage you receive) should be merged.
Alors, you have what happens in the case of merging: If two instances of the same effect are applied, what should happen? Take the older one? The lowest? The highest? Add them together? Votre appel. Fou furieux uses the Max stack, not being added.
Alors, you can add a Min. ou Max. to stacks – if your min stacks are higher than 0, the effect won’t expire by getting its stacks reduced by 0 like normal, Alors méfiez-vous!
Enfin, notez le “Allow no affector” et “Allow dead affectors”. If your status effect depends on knowing some information about who gave the effect to you (comme Marque), you can tick this off, making the effect expire when the affector dies.
Visuels
If you want your Status effect to have associated particle or sound effects, vous pouvez utiliser Effect Preset While Active. Là, you can browse effects that are enabled/disabled when the effect starts or expires, et ça’ll always be attached to the unit. We tend to use Geometric Particles, comme ça:
Modificateurs
Maintenant, for the actual mechanics. The first half are sort of “passif” effets, that modify the unit’s attributes or how it deals/receives damage and healing.
We got three major components:
- Attribute Modifiers
- Modificateurs de dégâts
- Healing Modifiers
Attribute Modifiers change one the affected unit’les attributs. You can do it in two ways: by addition/subtraction (Added component), and by multiplication (Multiplied Component). We strongly recommend the former.
Inside each component, you have an addend (a flat increase) and a multiplier, that is dependent on the stack size. Note how we set up Evading:
Because we have a MULTIPLIER in the ADDED component, the resulting Evasion modification is + “1 x Stacks”, so a character with Evading 5 would have an extra 5 to their Evasion stat. Pretty simple stuff! Most of our Attribute modifiers tend to use the stack size as the magnitude of the effect, et ça’s how we do it.
But if you must, you can use the multiplied component to do things like “-50% pouvoir” ou “Move x2”. Just be careful, special with Armor and Health, as these are further modified by the Nourishment system.
Dommage et Healing Modifiers change how a unit deals or receives damage, in a pretty similar way. You do have access to a few more things here, cependant. Laisser’s take a look at Backplates, the passive from Basilisk:
This sets up to “Reduce half the standard damage I’ll take if my conditions are met.”. Some of the new entries are obvious: Direction is if the modifier is for dealt or taken damage, et Taper sets if the damage/healing is Standard, Armor-only, or Health-only.
Maintenant, notez le Scaling Source – this is what will count as the “piles” for the stack-based modifier. You got several options:
Backplates uses the sum of incoming life change (aka total damage), but feel free to explore.
But the star of the show here is the Conditions. We talked about them in other guides before, mais laisse’s break down the 2 conditions that Backplates have.
- makes it so that only if the target is NOT at or below 1.5 range will this effect work – c'est à dire. only on Ranged attacks.
- works as sort of an exception as well – only if the ability being used is NOT a spell. We tend to not allow Spells to be reduced by damage reduction effects, to reflect their otherworldly nature.
Most of the entries in the Conditions are just to qualify the condition, but note the “Condition Type”, que’s où vous’ll decide which is the actual condition, and which of the other entries will be relevant. Par exemple, le Relation entry only matters for the “Matches Relation” condition type. We recommend leaving those you aren’t using in their default values.
Unit States
An interesting use for Status Effects is to add “Unit States” to a unit. Là’s a substantial list including many things, mostly centered around disabling the “normal rules” a unit has – AP gathering, enabling skills, that sort of stuff. Most of the list is self-explanatory, but note the last three:
If your conditions and effects relate to taunters, last hitters (last unit that damaged affected unit) and last target, you might use these effects here so that the player can have an extra UI item showing which unit is which, comme ça:
In the current design, nous ne’t use these effects very often, but you can have some interesting effects, like dealing extra damage to the unit that just attacked you.
Activated Actions
This is where it gets a bit more complicated. Tu vois, whenever some actions happen in game, like a character taking damage or someone dying, all Status Effects in play can receive a notification of that event, and then do something. These are the Activated Actions, et ça’s where a lot of our complex Status Effect Behavior comes from.
Laisser’s take a look at Fou furieux. Ici’s how it looks in-game:
Note how it has a growing et decaying propriétés. These are based on Activated Actions!
Ici’s how a normal decay rule, seen in a lot of effects including this one, is set up:
Description ID is used in determining description items. Souviens-toi Brûler, from the top of the document? Le {Dommage} keyword refers to an activated action set up with “Dommage” as its description ID.
Alors, tu as Trigger Time, which determines the event this status effect will listen to. Each trigger time has in parentheses the actual properties you can listen to in this event, defined in the Trigger Source.
Turn start, the one we used for Fou furieux’s decay rule, only listens to a Warband match, de sorte que’s the only one we fill in, describing that it is when the turn starts for the affected unit’s warband.
But the set up for the “grow when attacking” is a bit more complicated:
We qualify that the Hit Unit (Primary unit) can be whomever, mais le Attaquant (Secondary Unit) needs to be the affected unit, and it must be using a valid Capacité – not dealing damage from status effects or ground effects or whatever.
Notez: whenever the Trigger lists two units (such as Attacker and Target), the first one is the Primary Unit, and the second one, the Secondary unit. These can sometimes be messy to keep track.
The next important thing here is to define an Action Type. This is what kind of effects can be used. Ici’s a rundown on how to use them, with the caveat that Stack Amount does not need to be about stacks – its Add/mul like most number operations we got.
- Guérir / Dommage: Modifies the life of a given unit, based on the Stack Amount and Life Change type.
- Show Effect Preset: Good for one-off VFX triggers. We use it constantly with the buff/debuff arrows
- Grant Action Points: Also uses Stack Amount.
- Use Ability: Great for complex behaviors. Remember to set up Auto-targetting in a way that respects the ability targeting. This Action type ignores cooldowns, PA, all of that, donc ça’s best to make unique ability files to use here.
- Expire instantly expires this status effect.
- Gain Reaction Turn makes the affected unit able to act immediately after the trigger, with an amount of AP that you determine in the Stack Amount.
- Apply Aura grants the specified aura with the specified power to the unit.
- Animation States are deprecated.
- Reset Ability Cooldown does exactly that to a listed ability.
- Modify Stacks is commonly used to decay or grow rules, using the Stack Amount.
- Modify Ability Charges/Cooldown can be used to increase or decrease these properties in any listed ability. Great for “reset CD on kill” or similar effects.
- Cancel Reactions / Delayed Abilities remove a listed vigil-type or delayed ability. More about those on our Ability guide.
- Grant Mana grants mana to someone’s warband, based on stack amount
- Show Combat Message allows you to put a small text message on top of the unit when this triggers, defined in the Combat Message entry. As any text entry, it uses identifiers and strings. A titre d'exemple, Merlin’s passive effect is “HOM.CombatMessage.Prophecy = Triggered – Prophétie”
Status effects are our most powerful tool, so feel free to explore and mess around with. There are multiple examples to look for both simple and complex behaviors in our folders, Bonne chance!
C'est tout ce que nous partageons aujourd'hui pour cela La main de Merlin guide. Ce guide a été initialement créé et rédigé par Mibs. Si nous ne parvenons pas à mettre à jour ce guide, vous pouvez trouver la dernière mise à jour en suivant ceci lien.