|
|
| Rivi 1: |
Rivi 1: |
| Tämän makron avulla voit käyttää ''Enlarge Person''-loitsua, sitten että se huomioi kaikki koon muutoksesta tulevat vaikutukset.
| | {{Navbox |
| | | name = Dynastiat |
| | | state = {{{state|}}} |
| | | title = [[Dynastia]]t |
| | | listclass = hlist |
| | |group1 = [[bastonai]] |
| | |list1 = {{Navbox|child |
| | |group1 = vanhat |
| | |list1 = [[Trafines]] |
| | |group2 = uudet |
| | |list2 = [[Filinos]] |
| | }} |
|
| |
|
| :Luo ensin makron vaatima ''Buff'' ja nimeä se ''Enlarge Person''.
| | |group2 = [[oreinis]] |
| | | |list2 = {{Navbox|child |
| [[Tiedosto:Enlarge person1.PNG|500px]] | | |group1 = vanhat |
| | | |list1 = [[Sratsimir]] |
| :Lisää luomasi buffin ''Changes''-välilehdelle loitsun aiheuttamat muutokset attribuutteihin.
| | |group2 = uudet |
| | | |list2 = [[Presimir]] |
| [[Tiedosto:Enlarge person2.PNG|500px]] | | }} |
| | | |group3 = [[taigis]] |
| :Hae ''Compendium packs'' valikosta kohdasta ''Sample macros'' esimerkki makro ''Toggle Buff'' ja raahaa se alas ''Macros Directory''n vapaaseen paikkaan.
| | |list3 = {{Navbox|child |
| | | |group1 = vanhat |
| [[Tiedosto:Enlarge person3.PNG|500px]] | | |list1 = [[Teletsys]] |
| | | |group2 = uudet |
| :Tämän jälkeen kopioi alla oleva koodi ja korvaa sillä ''Toggle Buff''in sisältö. Nimeä uusi makro esim. nimellä Enlarge Person.
| | |list2 = [[Glykys]] |
| | | }} |
| <pre>
| | |group4 = [[zousimis]] |
| // CONFIGURATION
| | |list4 = {{Navbox|child |
| // If one or more tokens are selected, those will be used instead of the listed actors
| | |group1 = vanhat |
| // Leave the actorNames array empty to guess the players
| | |list1 = [[Mouzalon]] |
| // Example actorNames: `actorNames: ["Bob", "John"],`
| | |group2 = uudet |
| const c = {
| | |list2 = [[Khytes]] |
| actorNames: [],
| | }} |
| buffName: "Enlarge Person"
| | }} |
| };
| |
| // END CONFIGURATION
| |
| | |
| const transform = (caster, size) => {
| |
| caster.update({'data.traits.size': size});
| |
| };
| |
| | |
| const sizes = ["fine", "dim", "tiny", "sm", "med", "lg", "huge", "grg", "col"];
| |
| | |
| var sizeToBe = 0
| |
| | |
| const tokens = canvas.tokens.controlled;
| |
| let actors = tokens.map(o => o.actor);
| |
| if (!actors.length && c.actorNames.length) actors = game.actors.entities.filter(o => c.actorNames.includes(o.name));
| |
| if (!actors.length) actors = game.actors.entities.filter(o => o.isPC);
| |
| actors = actors.filter(o => o.hasPerm(game.user, "OWNER"));
| |
| | |
| if (!actors.length) ui.notifications.warn("No applicable actor(s) found");
| |
| else {
| |
| for (let actor of actors) {
| |
| const buff = actor.items.find(o => o.name === c.buffName && o.type === "buff");
| |
| if (buff != null) {
| |
| let active = getProperty(buff.data, "data.active");
| |
| if (active == null) active = false;
| |
| for (let tester in sizes) {
| |
| if (actor.data.data.traits.size == sizes[tester]) {
| |
| var currentSize = parseInt(tester);
| |
| break;
| |
| }
| |
| }
| |
| if (active == false) sizeToBe = currentSize + 1;
| |
| else sizeToBe = currentSize - 1;
| |
| transform(actor, sizes[sizeToBe]);
| |
| buff.update({ "data.active": !active });
| |
| }
| |
| }
| |
| } | |
| </pre>
| |
| | |
| :Muistakaa käyttää sizeRoll-funktiota (ks. alla) lähitaisteluaseissan niin muuttuu myös vaurionopat automaattisesti oikeiksi.
| |
| | |
| <code>sizeRoll(1, 6, @size)</code>
| |
| :ensimmäinen parametri määrittelee noppien määrän ja toinen nopan eli esimerkin tapauksessa 1d6. Jos koko muuttuu suuremmaksi niin noppa muuttuu automaattisesti 1d8:ksi jne.
| |