Dit is een uitgebreide en gedetailleerde gids voor het maken van nieuwe statuseffecten of het wijzigen van bestaande in De hand van Merlijn, geschreven door de spelontwerper van The Hand of Merlin, Mat.
Introductie
Onze game is sterk afhankelijk van statuseffecten, dus daar zullen we ons vandaag op concentreren - leer je hoe je ze kunt maken of bewerken!
We bekijken enkele effecten die al in de game zitten, zoals Burn en Backplates, bijvoorbeeld. Hopelijk kun je wat je hier leert in je eigen mechanica toepassen.
Let op: statuseffecten werken pas echt als je jezelf een vaardigheid, een eenheid of een relikwie instelt die het gebruikt, dus voel je vrij om de handleidingen over die onderwerpen door te nemen.
Wat is een statuseffect?
Een statuseffect is alles dat een eenheid wijzigt tijdens een schermutseling. Het kan regels, attributen veranderen, schade aanpassen of zelfs veranderen hoe sommige vaardigheden en AI zich gedragen.
In The Hand of Merlin hebben statuseffecten vaak 'Stacks', wat een soort 'getal van grootte' is. Deze stapelgrootte kan voor allerlei effecten worden gebruikt, en kan zelfs de duur van het effect zijn.
Als u uw eigen statuseffect wilt maken, gebruikt u het menu Maken (CTRL+N) en kiest u Generiek – > (Merlin) Statuseffectparameters.
Als u eenmaal een nieuw bestand heeft, vergeet het dan niet op te slaan. We gebruiken meestal de map Content\Merlin\Effects.
Laten we nu elke functie van het statuseffect opsplitsen.
Identificatie
Het eerste is om je effect in te stellen met a Naam. Kies iets korts, maar beschrijvends.
Dan krijg je een Omschrijving. Dit is meestal een beetje ingewikkelder en is gevuld met dynamische tags die moeten worden ingevuld. Laten we eens kijken naar die voor branden:
Nemen {Schade} schade elke beurt . vervalt , verliezend 1 stapelen per beurt .
Het is een beetje zwaar met tags, maar hier is wat alles is:
is een wrapper die u kunt gebruiken wanneer u wilt dat dat deel van de tekst wordt geaccepteerd. We hebben er verschillende, beschreven in Merlin/databases/DescriptionParser.rsc.
is om een lijn te doorbreken.
{Schade} is een speciaal item dat verwijst naar een ID die later is ingesteld in Geactiveerde acties. Het kan van alles zijn, zolang het daar beneden hetzelfde is, zoals we zullen zien. U kunt ook verwijzen naar Attribuut Modifiers, Damage modifiers, etc. Kijk maar eens bij onze andere effecten voor enkele voorbeelden!
Het ziet er uiteindelijk zo uit:
Omdat dit teksteigenschappen zijn, heb je twee velden om twee velden in te vullen:
- Identifier
- Draad
Dit om het vertalen makkelijker te maken. Als je een grote mod maakt, wil je misschien je eigen naamgevingsconventies voor ID's hebben, maar hier is de mijne: ik gebruik HOM.StatusEffect.[Naam] en HOM.StatusEffect.[Naam].Beschrijving.
Vervolgens kunt u kiezen of u wilt dat de stapelgrootte daadwerkelijk wordt weergegeven. We laten passives meestal niet de stackgrootte weergeven voor de duidelijkheid.
En, nog belangrijker, beslis over een Categorie voor je statuseffect. Dit heeft invloed op sommige vaardigheden en relikwieën die interageren met buffs of debuffs, en kleurt ook je effecten. Hier is hoe we het hebben ingesteld:
- Positieve statuseffecten, in blauw, zijn buffs
- Negatieve statuseffecten, in paars, zijn debuffs.
- Markerstatus-effecten, in geel, zijn passieve en statische effecten
- Verborgen statuseffecten worden niet getoond en laten we meestal over aan complexe interne mechanica.
Stacks
Over stapels gesproken, er zijn hier een paar vermeldingen die de manier waarop stapels werken op een bepaald effect veranderen. Opmerking Gek hier:
Gedrag samenvoegen bepaalt of u wilt dat het effect wordt samengevoegd met andere toepassingen van zichzelf. Zeg als twee vijanden van toepassing zijn Markeer voor jou (verhogen van de schade die ze aanrichten), je zou willen dat ze gescheiden zijn, maar meerdere toepassingen van Kwetsbaar (Verhoogde de schade die u ontvangt) moet worden samengevoegd.
Dan heb je wat er gebeurt in het geval van samenvoeging: als twee instanties van hetzelfde effect worden toegepast, wat moet er dan gebeuren? Neem de oudste? De laagste? De hoogste? Voeg ze samen? Jouw beslissing. Gek gebruikt de Max-stack en wordt niet toegevoegd.
Vervolgens kunt u een toevoegen min or Max naar stapels - als je min-stacks hoger zijn dan 0, vervalt het effect niet door de stapels met 0 te verminderen zoals normaal, dus pas op!
Let tot slot op de “Sta geen beïnvloeder toe"En"Dode affectoren toestaan”. Als uw statuseffect afhangt van enige informatie over wie u het effect heeft gegeven (zoals: Markeer), kunt u dit afvinken, waardoor het effect vervalt wanneer de affector overlijdt.
visuals
Als u wilt dat uw Status-effect bijbehorende partikel- of geluidseffecten heeft, kunt u Effectvoorinstelling terwijl actief. Daar kun je door effecten bladeren die zijn ingeschakeld/uitgeschakeld wanneer het effect begint of verloopt, en het zal altijd aan het apparaat zijn gekoppeld. We hebben de neiging om Geometrische deeltjes, In deze trant:
modifiers
Nu, voor de eigenlijke mechanica. De eerste helft zijn een soort van "passieve" effecten, die de eigenschappen van de eenheid wijzigen of hoe het schade en genezing aanricht/ontvangt.
We hebben drie belangrijke componenten:
- Attribuutmodificaties
- Schademodificaties
- Genezingsmodificatoren
Attribuutmodificaties verander een van de kenmerken van de betrokken eenheid. U kunt dit op twee manieren doen: door optellen/aftrekken (toegevoegde component) en door vermenigvuldiging (vermenigvuldigde component). We raden het eerste ten zeerste aan.
Binnen elke component heb je een addend (een vlakke toename) en een multiplier, die afhankelijk is van de stapelgrootte. Let op hoe we het opzetten Ontwijken:
Omdat we een MULTIPLIER hebben in de ADDED-component, is de resulterende Evasion-modificatie + "1 x Stacks", dus een personage met Evading 5 zou een extra 5 hebben voor hun Evasion-statistiek. Vrij simpele dingen! De meeste van onze Attribuut-modifiers hebben de neiging om de stapelgrootte te gebruiken als de grootte van het effect, en dat is hoe we het doen.
Maar als het moet, kunt u de vermenigvuldigde component gebruiken om dingen te doen zoals "-50% vermogen" of "Verplaats x2". Wees voorzichtig, speciaal met Armor en Health, omdat deze verder worden aangepast door het voedingssysteem.
Schade en Genezingsmodificatoren veranderen hoe een eenheid handelt of ontvangt schade, op een vrij vergelijkbare manier. Je hebt hier echter wel toegang tot nog een paar dingen. Laten we eens kijken naar Achterplaten, de passieve van Basilisk:
Dit stelt in op "Verminder de helft van de standaardschade die ik zal oplopen als aan mijn voorwaarden wordt voldaan.". Enkele van de nieuwe vermeldingen zijn duidelijk: Aanwijzingen is als de modifier is voor toegebrachte of genomen schade, en Type stelt in of de schade/genezing Standaard, Alleen pantser of Alleen gezondheid is.
Let nu op de Schaalbron - dit is wat telt als de "stapels" voor de op stapels gebaseerde modifier. Je hebt verschillende opties:
Backplates gebruikt de som van inkomende levensveranderingen (ook wel totale schade genoemd), maar voel je vrij om te verkennen.
Maar de ster van de show hier is de Algemene voorwaarden. We hebben er eerder over gesproken in andere handleidingen, maar laten we de 2 voorwaarden opsplitsen die Backplates hebben.
- zorgt ervoor dat dit effect alleen werkt als het doelwit NIET op of onder 1.5 bereik is, dwz alleen op afstandsaanvallen.
- werkt ook als een soort uitzondering - alleen als de gebruikte vaardigheid GEEN spreuk is. We hebben de neiging om niet toe te staan dat spreuken worden verminderd door schadebeperkende effecten, om hun buitenaardse aard te weerspiegelen.
De meeste vermeldingen in de voorwaarden zijn alleen bedoeld om de aandoening te kwalificeren, maar let op de "Conditietype:”, dat is waar u beslist wat de werkelijke toestand is en welke van de andere vermeldingen relevant zijn. Bijvoorbeeld de Relatie invoer is alleen van belang voor de "Komt overeen met relatie” toestandstype. We raden aan om de waarden die u niet gebruikt in hun standaardwaarden te laten.
Eenheidsstaten
Een interessant gebruik voor Status Effects is om "Unit States" toe te voegen aan een eenheid. Er is een substantiële lijst met veel dingen, meestal gericht op het uitschakelen van de "normale regels" die een eenheid heeft - het verzamelen van AP's, het inschakelen van vaardigheden, dat soort dingen. Het grootste deel van de lijst spreekt voor zich, maar let op de laatste drie:
Als je voorwaarden en effecten betrekking hebben op beschimpingen, laatste slagmensen (laatste eenheid die de getroffen eenheid heeft beschadigd) en het laatste doelwit, kun je deze effecten hier gebruiken, zodat de speler een extra UI-item kan hebben dat laat zien welke eenheid welke is, zoals:
In het huidige ontwerp gebruiken we deze effecten niet vaak, maar je kunt een aantal interessante effecten hebben, zoals extra schade toebrengen aan de eenheid die je net heeft aangevallen.
Geactiveerde acties
Dit is waar het een beetje ingewikkelder wordt. Zie je, elke keer dat er acties plaatsvinden in het spel, zoals een personage dat schade oploopt of iemand die sterft, kunnen alle statuseffecten in het spel een melding van die gebeurtenis ontvangen en dan iets doen. Dit zijn de geactiveerde acties en daar komt veel van ons complexe statuseffectgedrag vandaan.
Laten we eens kijken Gek. Zo ziet het er in het spel uit:
Let op hoe het een . heeft groeiende en rottend eigenschappen. Deze zijn gebaseerd op Geactiveerde Acties!
Hier is hoe een normale vervalregel, te zien in veel effecten, waaronder deze, is ingesteld:
Beschrijving ID wordt gebruikt bij het bepalen van beschrijvingsitems. Onthouden Burn, vanaf de bovenkant van het document? De {Schade} trefwoord verwijst naar een geactiveerde actie die is ingesteld met "Schade" als beschrijvings-ID.
Dan heb je Trigger Time, die bepaalt naar welke gebeurtenis dit statuseffect zal luisteren. Elke triggertijd heeft tussen haakjes de daadwerkelijke eigenschappen waarnaar u kunt luisteren in deze gebeurtenis, gedefinieerd in de Triggerbron.
Draai start, degene die we gebruikten voor Gek's decay rule, luistert alleen naar een Warband-match, dus dat is de enige die we invullen, en beschrijven dat het is wanneer de beurt begint voor de warband van de getroffen eenheid.
Maar de opzet voor de "groei bij het aanvallen" is iets gecompliceerder:
We kwalificeren dat de Raak Eenheid (Primaire eenheid) kan wie dan ook zijn, maar de Aanvaller (Secundaire eenheid) moet de betrokken eenheid zijn en moet een geldig Bekwaamheid – geen schade aanrichten door statuseffecten of grondeffecten of wat dan ook.
Let op: wanneer de trigger twee eenheden vermeldt (zoals aanvaller en doelwit), is de eerste de primaire eenheid en de tweede de secundaire eenheid. Deze kunnen soms rommelig zijn om bij te houden.
Het volgende belangrijke hier is het definiëren van een actie type. Dit is wat voor soort effecten kunnen worden gebruikt. Hier is een overzicht van hoe ze te gebruiken, met het voorbehoud dat Stack Amount niet over stapels hoeft te gaan - het is Add/mul zoals de meeste nummerbewerkingen die we hebben.
- Genezen / Schade: Wijzigt de levensduur van een bepaalde eenheid, gebaseerd op het stapelbedrag en het type levensverandering.
- Effectvoorinstelling weergeven: Goed voor eenmalige VFX-triggers. We gebruiken het constant met de buff/debuff-pijlen
- Actiepunten toekennen: Gebruikt ook Stapelbedrag.
- Gebruik vermogen: Geweldig voor complex gedrag. Vergeet niet om automatische targeting in te stellen op een manier die de targeting op vaardigheid respecteert. Dit actietype negeert cooldowns, AP, dat alles, dus het is het beste om unieke vaardigheidsbestanden te maken om hier te gebruiken.
- Vervallen dit statuseffect verloopt onmiddellijk.
- Krijg reactie beurt maakt de getroffen eenheid in staat om onmiddellijk na de trigger te handelen, met een hoeveelheid AP die u bepaalt in de Stack Amount.
- Aura toepassen verleent de gespecificeerde aura met het gespecificeerde vermogen aan het apparaat.
- Animatie Staten zijn afgekeurd.
- Afkoelen vermogen resetten doet precies dat met een vermeld vermogen.
- Stapels wijzigen wordt vaak gebruikt om regels te laten vervallen of te laten groeien, met behulp van de Stack Amount.
- Ability Charges/Cooldown wijzigen kan worden gebruikt om deze eigenschappen in elke vermelde vaardigheid te vergroten of te verkleinen. Geweldig voor "reset CD on kill" of soortgelijke effecten.
- Reacties/vertraagde vaardigheden annuleren verwijder een vermeld wake-type of vertraagde vaardigheid. Meer hierover in onze Ability-gids.
- Gun Mana geeft mana aan iemands krijgsbende, gebaseerd op stapelbedrag
- Gevechtsbericht weergeven stelt je in staat om een klein tekstbericht bovenop het apparaat te plaatsen wanneer dit wordt geactiveerd, zoals gedefinieerd in het veld Gevechtsbericht. Zoals elke tekstinvoer, gebruikt het identifiers en strings. Het passieve effect van Merlijn is bijvoorbeeld "HOM.CombatMessage.Prophecy = Triggered - Prophecy"
Statuseffecten zijn onze krachtigste tool, dus voel je vrij om te verkennen en ermee te rommelen. Er zijn meerdere voorbeelden om te zoeken naar zowel eenvoudig als complex gedrag in onze mappen, veel succes!
Dat is alles wat we hiervoor vandaag delen De hand van Merlijn gids. Deze handleiding is oorspronkelijk gemaakt en geschreven door mibs. Als we deze handleiding niet kunnen bijwerken, kunt u de laatste update vinden door deze te volgen link.