This is an extensive and detailed guide for creating new status effects or modifying existing ones in The Hand of Merlin, written by The Hand of Merlin’s game designer, Mat.
소개
Our game relies heavily on 상태 효과, 그래서 우리’ll focus on those today – teach you how to create or edit them!
우리’ll be looking at some effects already in-game, such as Burn and Backplates, 예를 들어. 바라건대, 너’ll be able to implement what you learn here to your own mechanics.
Do note – Status effects don’t really work until you set yourself an 능력, 에이 단위, 또는 유물 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, 속성, 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.
지금, 허락하다’s break down each feature of the status effect.
Identification
The first thing is setting your effect with a 이름. Choose something short, but descriptive.
Then you get a 설명. This is usually a bit more complex, and is filled with dynamic tags to be filled in. 허락하다’s take a look at the one for Burning:
가져가다 <특별한>{손상}</특별한> 손상 <특별한>each turn</특별한>. <br/><특별한>Decays</특별한>, 지는 <특별한>1</특별한> stack <특별한>턴당</특별한>.
그것’s a bit heavy with tags, 하지만 여기서’s what everything is:
<특별한></특별한> 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.
{손상} is a special entry that refers to an ID set up later in Activated Actions.It could be anything, as long as it’s the same down there, 우리처럼’LL 참조. You can also refer to Attribute Modifiers, Damage modifiers, 등. 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
- 끈
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, 하지만 여기서’s mine: 나는 사용한다 HOM.StatusEffect.[이름] 그리고 HOM.StatusEffect.[이름].설명.
그 다음에, you can choose if you want the Stack size to actually show. We usually make passives not show stack size for clarity.
그리고, 더 중요하게, decide on a 범주 for your status effect. This impacts some abilities and relics that interact with buffs or debuffs, and also colors your effects. 여기’s how we set it up:
- Positive Status Effects, 파란색으로, 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. 메모 맹렬한 여기:
Merge Behavior determines if you want the effect to merge with other applications of themselves. Say if two enemies apply 표시 to you (increasing the damage they deal), 너’d want them to be separate, but multiple applications of Vulnerable (Increased the damage you receive) should be merged.
그 다음에, 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? Your call. 맹렬한 uses the Max stack, not being added.
그 다음에, you can add a 최소 또는 맥스 to stacks – if your min stacks are higher than 0, the effect won’t expire by getting its stacks reduced by 0 like normal, so beware!
마지막으로, 참고 “Allow no affector” 그리고 “Allow dead affectors”. If your status effect depends on knowing some information about who gave the effect to you (좋다 표시), you can tick this off, making the effect expire when the affector dies.
비주얼
If you want your Status effect to have associated particle or sound effects, 당신은 사용할 수 있습니다 Effect Preset While Active. 거기, you can browse effects that are enabled/disabled when the effect starts or expires, 그리고 그것’ll always be attached to the unit. We tend to use Geometric Particles, 이와 같이:
Modifiers
지금, for the actual mechanics. The first half are sort of “수동적인” 효과, that modify the unit’s attributes or how it deals/receives damage and healing.
We got three major components:
- Attribute Modifiers
- Damage Modifiers
- Healing Modifiers
Attribute Modifiers change one the affected unit’s attributes. 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, 그리고 그’s how we do it.
But if you must, you can use the multiplied component to do things like “-50% 힘” 또는 “Move x2”. Just be careful, special with Armor and Health, as these are further modified by the Nourishment system.
손상 그리고 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, 그렇지만. 허락하다’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: 방향 is if the modifier is for dealt or taken damage, 그리고 유형 sets if the damage/healing is Standard, Armor-only, or Health-only.
지금, 참고 Scaling Source – this is what will count as the “스택” 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 정황. We talked about them in other guides before, but let’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 – 즉. 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”, 저것’s where you’ll decide which is the actual condition, and which of the other entries will be relevant. 예를 들어, 그만큼 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. 거기’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, like so:
In the current design, we don’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. 보시다시피, 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, 그리고 그것’s where a lot of our complex Status Effect Behavior comes from.
허락하다’s take a look at 맹렬한. 여기’s how it looks in-game:
Note how it has a growing 그리고 decaying 속성. These are based on Activated Actions!
여기’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. 기억하다 불타다, from the top of the document? 그만큼 {손상} keyword refers to an activated action set up with “손상” as its description ID.
그 다음에, 당신은 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 맹렬한’s decay rule, only listens to a Warband match, so that’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, 하지만 공격자 (Secondary Unit) needs to be the affected unit, and it must be using a valid 능력 – not dealing damage from status effects or ground effects or whatever.
Do note: 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. 여기’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.
- 치유하다 / 손상: 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, AP, all of that, so it’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. 예를 들어, Merlin’s passive effect is “HOM.CombatMessage.Prophecy = Triggered – Prophecy”
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, 행운을 빌어요!
이것이 오늘 우리가 공유하는 모든 것입니다. The Hand of Merlin 가이드. 이 가이드는 원래 작성자가 작성하고 작성했습니다. Mibs. 이 가이드를 업데이트하지 못한 경우, 다음을 수행하여 최신 업데이트를 찾을 수 있습니다. 링크.