add very basic implementation of Zauber that just posts its beschreibung to chat
This commit is contained in:
parent
96851a7100
commit
aaa01834a8
@ -483,6 +483,29 @@
|
||||
{{/each}}
|
||||
</div>
|
||||
|
||||
<div class="list Zauber">
|
||||
<div class="list-header ">
|
||||
<div>{{localize "DSA41.kampf.zauber"}}</div>
|
||||
<div class="center"></div>
|
||||
</div>
|
||||
|
||||
{{#unless (ne actor.itemTypes.Zauber.length 0)}}
|
||||
<div class="list-item">{{localize "DSA41.list_empty"}}</div>
|
||||
{{/unless}}
|
||||
|
||||
{{#each actor.itemTypes.Zauber}}
|
||||
<div class="list-item" data-item-id="{{_id}}">
|
||||
<div class="row" data-action="item-open" data-tooltip="{{system.beschreibung}}">
|
||||
<img class="item-image" src="{{img}}" title="{{name}}">
|
||||
<div class="col">
|
||||
<span>{{name}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<button class="right" data-action="post-zauber">Post to Chat</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
||||
<div class="list Ruestung">
|
||||
<div class="list-header rowspan2">
|
||||
<div class="rowspan2">{{localize "DSA41.kampf.ruestungen"}}</div>
|
||||
|
||||
7
src/Assets/plus.svg
Normal file
7
src/Assets/plus.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="64" height="64" version="1.1" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="plus">
|
||||
<rect style="fill:#a59481" id="rect1" width="62" height="8" x="1" y="28" />
|
||||
<rect style="fill:#a59481" id="rect2" width="8" height="62" x="28" y="1" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 328 B |
32
src/ItemSheets/Zauber.hbs
Normal file
32
src/ItemSheets/Zauber.hbs
Normal file
@ -0,0 +1,32 @@
|
||||
<div class="item-sheet {{ cssClass }}" autocomplete="off">
|
||||
<div class="row">
|
||||
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" data-action="editImage" data-edit="img">
|
||||
<div class="col">
|
||||
<div class="grid3 gap">
|
||||
{{DSA41_input "name"}}
|
||||
{{DSA41_input "system.repraesentation" subtitle="DSA41.zauber.repraesentation.label"}}
|
||||
{{DSA41_input "system.komplexitaet" subtitle="DSA41.zauber.label_komplexitaet"}}
|
||||
</div>
|
||||
<div class="grid3 gap">
|
||||
{{DSA41_input "system.attribute1"}}
|
||||
{{DSA41_input "system.attribute2"}}
|
||||
{{DSA41_input "system.attribute3"}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab active">
|
||||
<span>{{localize "DSA41.zauber.label_zauberdauer"}}</span>
|
||||
{{DSA41_input "system.zauberdauer"}}
|
||||
|
||||
<span>{{localize "DSA41.zauber.label_wirkungsdauer"}}</span>
|
||||
{{DSA41_input "system.wirkungsdauer"}}
|
||||
|
||||
<span>{{localize "DSA41.zauber.merkmale.label"}}</span>
|
||||
{{DSA41_input "system.merkmale"}}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{{DSA41_input "system.beschreibung" elementType="prose-mirror"}}
|
||||
</div>
|
||||
</div>
|
||||
@ -11,7 +11,8 @@
|
||||
"Talent": "Talent",
|
||||
"Kampftalent": "Kampftalent",
|
||||
"Sonderfertigkeit": "Sonderfertigkeit",
|
||||
"VorNachteil": "Vor-/Nachteil"
|
||||
"VorNachteil": "Vor-/Nachteil",
|
||||
"Zauber": "Zauber"
|
||||
}
|
||||
},
|
||||
|
||||
@ -474,6 +475,7 @@
|
||||
"ruestungen": "Rüstungen",
|
||||
"modifikator": "Modifikator",
|
||||
"crit": "Glückliche Attacke",
|
||||
"zauber": "Zauber",
|
||||
|
||||
"zielgroesse": {
|
||||
"label": "Zielgröße",
|
||||
@ -521,6 +523,83 @@
|
||||
"seitenwind": "Böiger Seitenwind",
|
||||
"starker_seitenwind": "Starker Seitenwind"
|
||||
}
|
||||
},
|
||||
|
||||
"zauber": {
|
||||
"label_komplexitaet": "Komplexität",
|
||||
"label_zauberdauer": "Zauberdauer",
|
||||
"label_wirkungsdauer": "Wirkungsdauer",
|
||||
|
||||
"merkmale": {
|
||||
"label": "Merkmale",
|
||||
|
||||
"anitmagie": "Antimagie",
|
||||
"beschwoerung": "Beschwörung",
|
||||
"daemonisch_allgemein": "Dämonisch (Allgemein)",
|
||||
"daemonisch_agrimoth_widharcal": "Dämonisch (Agrimoth / Widharcal)",
|
||||
"daemonisch_amazeroth_iribaar": "Dämonisch (Amazeroth / Iribaar)",
|
||||
"daemonisch_asfaloth_calijnaar": "Dämonisch (Asfaloth / Calijnaar)",
|
||||
"daemonisch_belhalhar_xarfai": "Dämonisch (Belhalhar / Xarfai)",
|
||||
"daemonisch_blakharaz_tyakraman": "Dämonisch (Blakharaz / Tyakra’man)",
|
||||
"daemonisch_lolgramoth_thezzphai": "Dämonisch (Lolgramoth / Thezzphai)",
|
||||
"daemonisch_belzhorash_mishkara": "Dämonisch (Belzhorash / Mishkara)",
|
||||
"daemonisch_thargunitoth_tijakool": "Dämonisch (Thargunitoth / Tijakool)",
|
||||
"eigenschaften": "Eigenschaften",
|
||||
"einfluss": "Einfluss",
|
||||
"elementar_allgemein": "Elementar (Allgemein)",
|
||||
"elementar_eis": "Elementar (Eis)",
|
||||
"elementar_erz": "Elementar (Erz)",
|
||||
"elementar_feuer": "Elementar (Feuer)",
|
||||
"elementar_humus": "Elementar (Humus)",
|
||||
"elementar_luft": "Elementar (Luft)",
|
||||
"elementar_wasser": "Elementar (Wasser)",
|
||||
"form": "Form",
|
||||
"geisterwesen": "Geisterwesen",
|
||||
"heilung": "Heilung",
|
||||
"hellsicht": "Hellsicht",
|
||||
"herbeirufung": "Herbeirufung",
|
||||
"herrschaft": "Herrschaft",
|
||||
"illusion": "Illusion",
|
||||
"kraft": "Kraft",
|
||||
"limbus": "Limbus",
|
||||
"metamagie": "Metamagie",
|
||||
"objekt": "Objekt",
|
||||
"schaden": "Schaden",
|
||||
"telekinese": "Telekinese",
|
||||
"temporal": "Temporal",
|
||||
"umwelt": "Umwelt",
|
||||
"verständigung": "Verständigung"
|
||||
},
|
||||
|
||||
"repraesentation": {
|
||||
"label": "Repräsentation",
|
||||
|
||||
"borbaradianisch": "Borbaradianisch",
|
||||
"druidisch": "Druidisch",
|
||||
"elfisch": "Elfisch",
|
||||
"geodisch": "Geodisch",
|
||||
"satuarisch": "Satuarisch",
|
||||
"kristallomantisch": "Kristallomantisch",
|
||||
"gildenmagisch": "Gildenmagisch",
|
||||
"scharlatanisch": "Scharlatanisch",
|
||||
"schelmisch": "Schelmisch"
|
||||
},
|
||||
|
||||
"modifikationen": {
|
||||
"zauberdauer": "Zauberdauer",
|
||||
"erzwingen": "Erzwingen",
|
||||
"kosten": "Kosten",
|
||||
"mehrere_ziele": "Mehrere Ziele",
|
||||
"mehrere_ziele_freiwillig": "Mehrere Ziele (Freiwillig)",
|
||||
"reichweite": "Reichweite",
|
||||
"reichweite_beruehrung": "Reichweite (Berührung)",
|
||||
"reichweite_selbst": "Reichweite (Selbst)",
|
||||
"wirkungsdauer": "Wirkungsdauer",
|
||||
"ziel_objekt_einzeln": "Zielobjekt (Einzeln)",
|
||||
"ziel_objekt_freiwillig": "Zielobjekt (Freiwillig)",
|
||||
"ziel_objekt_unfreiwillig": "Zielobjekt (Unfreiwillig)",
|
||||
"ziel_objekt_mehrere": "Zielobjekt (Mehrere)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
31
src/main.css
31
src/main.css
@ -434,6 +434,33 @@ html {
|
||||
}
|
||||
}
|
||||
|
||||
& [data-application-part="Zauber"] {
|
||||
& .tab {
|
||||
grid-template-columns: minmax(0, max-content) minmax(0, 1fr) minmax(0, max-content) minmax(0, 1fr);
|
||||
align-items: center;
|
||||
|
||||
border-top: 1px solid;
|
||||
margin-top: 0.5em;
|
||||
padding-top: 0.5em;
|
||||
|
||||
& multi-select {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr min-content;
|
||||
align-items: right;
|
||||
|
||||
& select {
|
||||
grid-column: 2;
|
||||
appearance: none;
|
||||
|
||||
background-position: center;
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
background-image: url("/systems/dsa-4th-edition/src/Assets/plus.svg");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& [data-application-part="ActorSheet"] {
|
||||
& .tab {
|
||||
&[data-tab="tab1"] {
|
||||
@ -505,6 +532,10 @@ html {
|
||||
}
|
||||
}
|
||||
|
||||
& .Zauber {
|
||||
grid-template-columns: minmax(0, max-content) minmax(0, auto);
|
||||
}
|
||||
|
||||
& .Ruestung {
|
||||
grid-template-columns: 2fr repeat(8, 1fr) repeat(2, 1.5fr);
|
||||
text-align: center;
|
||||
|
||||
110
src/main.mjs
110
src/main.mjs
@ -4,7 +4,7 @@ const { DocumentSheetConfig } = foundry.applicat
|
||||
const { loadTemplates, renderTemplate } = foundry.applications.handlebars;
|
||||
const { ActorSheetV2, ItemSheetV2 } = foundry.applications.sheets;
|
||||
const { Notifications } = foundry.applications.ui;
|
||||
const { SchemaField, NumberField, StringField, BooleanField } = foundry.data.fields;
|
||||
const { SetField, SchemaField, NumberField, StringField, BooleanField } = foundry.data.fields;
|
||||
const { Roll } = foundry.dice;
|
||||
const { OperatorTerm, NumericTerm } = foundry.dice.terms;
|
||||
const { ChatMessage } = foundry.documents;
|
||||
@ -55,6 +55,7 @@ Hooks.once("init", async function() {
|
||||
CONFIG.Item.dataModels.Kampftalent = DSA41_KampftalentData;
|
||||
CONFIG.Item.dataModels.Sonderfertigkeit = DSA41_SonderfertigkeitData;
|
||||
CONFIG.Item.dataModels.VorNachteil = DSA41_VorNachteilData;
|
||||
CONFIG.Item.dataModels.Zauber = DSA41_ZauberData;
|
||||
|
||||
CONFIG.statusEffects = [];
|
||||
|
||||
@ -75,6 +76,7 @@ Hooks.once("init", async function() {
|
||||
"Kampftalent",
|
||||
"Sonderfertigkeit",
|
||||
"VorNachteil",
|
||||
"Zauber",
|
||||
]
|
||||
});
|
||||
|
||||
@ -986,6 +988,99 @@ class DSA41_VorNachteilData extends TypeDataModel {
|
||||
}
|
||||
}
|
||||
|
||||
class DSA41_ZauberData extends TypeDataModel {
|
||||
static defineSchema() {
|
||||
return {
|
||||
attribute1: new AttributeChoiceField(),
|
||||
attribute2: new AttributeChoiceField(),
|
||||
attribute3: new AttributeChoiceField(),
|
||||
|
||||
zauberdauer: new StringField(),
|
||||
wirkungsdauer: new StringField(),
|
||||
|
||||
kosten: new StringField(),
|
||||
komplexitaet: new SteigerungsKategorieField(),
|
||||
|
||||
repraesentation: new StringField({
|
||||
required: true,
|
||||
choices: {
|
||||
"borbaradianisch": "DSA41.zauber.repraesentation.borbaradianisch",
|
||||
"druidisch": "DSA41.zauber.repraesentation.druidisch",
|
||||
"elfisch": "DSA41.zauber.repraesentation.elfisch",
|
||||
"geodisch": "DSA41.zauber.repraesentation.geodisch",
|
||||
"satuarisch": "DSA41.zauber.repraesentation.satuarisch",
|
||||
"kristallomantisch": "DSA41.zauber.repraesentation.kristallomantisch",
|
||||
"gildenmagisch": "DSA41.zauber.repraesentation.gildenmagisch",
|
||||
"scharlatanisch": "DSA41.zauber.repraesentation.scharlatanisch",
|
||||
"schelmisch": "DSA41.zauber.repraesentation.schelmisch",
|
||||
},
|
||||
initial: "borbaradianisch",
|
||||
}),
|
||||
|
||||
merkmale: new SetField(new StringField({
|
||||
choices: {
|
||||
"anitmagie": "DSA41.zauber.merkmale.anitmagie",
|
||||
"beschwoerung": "DSA41.zauber.merkmale.beschwoerung",
|
||||
"daemonisch_allgemein": "DSA41.zauber.merkmale.daemonisch_allgemein",
|
||||
"daemonisch_agrimoth_widharcal": "DSA41.zauber.merkmale.daemonisch_agrimoth_widharcal",
|
||||
"daemonisch_amazeroth_iribaar": "DSA41.zauber.merkmale.daemonisch_amazeroth_iribaar",
|
||||
"daemonisch_asfaloth_calijnaar": "DSA41.zauber.merkmale.daemonisch_asfaloth_calijnaar",
|
||||
"daemonisch_belhalhar_xarfai": "DSA41.zauber.merkmale.daemonisch_belhalhar_xarfai",
|
||||
"daemonisch_blakharaz_tyakraman": "DSA41.zauber.merkmale.daemonisch_blakharaz_tyakraman",
|
||||
"daemonisch_lolgramoth_thezzphai": "DSA41.zauber.merkmale.daemonisch_lolgramoth_thezzphai",
|
||||
"daemonisch_belzhorash_mishkara": "DSA41.zauber.merkmale.daemonisch_belzhorash_mishkara",
|
||||
"daemonisch_thargunitoth_tijakool": "DSA41.zauber.merkmale.daemonisch_thargunitoth_tijakool",
|
||||
"eigenschaften": "DSA41.zauber.merkmale.eigenschaften",
|
||||
"einfluss": "DSA41.zauber.merkmale.einfluss",
|
||||
"elementar_allgemein": "DSA41.zauber.merkmale.elementar_allgemein",
|
||||
"elementar_eis": "DSA41.zauber.merkmale.elementar_eis",
|
||||
"elementar_erz": "DSA41.zauber.merkmale.elementar_erz",
|
||||
"elementar_feuer": "DSA41.zauber.merkmale.elementar_feuer",
|
||||
"elementar_humus": "DSA41.zauber.merkmale.elementar_humus",
|
||||
"elementar_luft": "DSA41.zauber.merkmale.elementar_luft",
|
||||
"elementar_wasser": "DSA41.zauber.merkmale.elementar_wasser",
|
||||
"form": "DSA41.zauber.merkmale.form",
|
||||
"geisterwesen": "DSA41.zauber.merkmale.geisterwesen",
|
||||
"heilung": "DSA41.zauber.merkmale.heilung",
|
||||
"hellsicht": "DSA41.zauber.merkmale.hellsicht",
|
||||
"herbeirufung": "DSA41.zauber.merkmale.herbeirufung",
|
||||
"herrschaft": "DSA41.zauber.merkmale.herrschaft",
|
||||
"illusion": "DSA41.zauber.merkmale.illusion",
|
||||
"kraft": "DSA41.zauber.merkmale.kraft",
|
||||
"limbus": "DSA41.zauber.merkmale.limbus",
|
||||
"metamagie": "DSA41.zauber.merkmale.metamagie",
|
||||
"objekt": "DSA41.zauber.merkmale.objekt",
|
||||
"schaden": "DSA41.zauber.merkmale.schaden",
|
||||
"telekinese": "DSA41.zauber.merkmale.telekinese",
|
||||
"temporal": "DSA41.zauber.merkmale.temporal",
|
||||
"umwelt": "DSA41.zauber.merkmale.umwelt",
|
||||
"verständigung": "DSA41.zauber.merkmale.verständigung",
|
||||
},
|
||||
})),
|
||||
|
||||
modifikationen: new SetField(new StringField({
|
||||
choices: {
|
||||
"zauberdauer": "DSA41.zauber.modifikationen.zauberdauer",
|
||||
"erzwingen": "DSA41.zauber.modifikationen.erzwingen",
|
||||
"kosten": "DSA41.zauber.modifikationen.kosten",
|
||||
"mehrere_ziele": "DSA41.zauber.modifikationen.mehrere_ziele",
|
||||
"mehrere_ziele_freiwillig": "DSA41.zauber.modifikationen.mehrere_ziele_freiwillig",
|
||||
"reichweite": "DSA41.zauber.modifikationen.reichweite",
|
||||
"reichweite_beruehrung": "DSA41.zauber.modifikationen.reichweite_beruehrung",
|
||||
"reichweite_selbst": "DSA41.zauber.modifikationen.reichweite_selbst",
|
||||
"wirkungsdauer": "DSA41.zauber.modifikationen.wirkungsdauer",
|
||||
"ziel_objekt": "DSA41.zauber.modifikationen.ziel_objekt",
|
||||
},
|
||||
})),
|
||||
|
||||
haus: new BooleanField({ initial: false }),
|
||||
zauberfertigkeitswert: new NumberField({ integer: true, initial: 0 }),
|
||||
|
||||
beschreibung: new StringField({ initial: "" }),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
function DSA41_ApplicationMixin(BaseApplication) {
|
||||
class DSA41_Application extends HandlebarsApplicationMixin(BaseApplication) {
|
||||
static DEFAULT_OPTIONS= {
|
||||
@ -1329,6 +1424,18 @@ class DSA41_ActorSheet extends DSA41_ApplicationMixin(ActorSheetV2) {
|
||||
const item = this.document.items.get(item_id);
|
||||
item.update({ "system.angelegt": !item.system.angelegt });
|
||||
},
|
||||
|
||||
"post-zauber": async function(event, target) {
|
||||
const item_id = event.target.closest("[data-item-id]").dataset.itemId;
|
||||
const item = this.document.items.get(item_id);
|
||||
|
||||
ChatMessage.create({
|
||||
speaker: ChatMessage.getSpeaker({ actor: this.document }),
|
||||
author: game.user.id,
|
||||
sound: CONFIG.sounds.dice,
|
||||
content: item.system.beschreibung,
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@ -1356,6 +1463,7 @@ class DSA41_ItemSheetV2 extends DSA41_ApplicationMixin(ItemSheetV2) {
|
||||
Kampftalent: { template: "systems/dsa-4th-edition/src/ItemSheets/Kampftalent.hbs" },
|
||||
Sonderfertigkeit: { template: "systems/dsa-4th-edition/src/ItemSheets/Sonderfertigkeit.hbs" },
|
||||
VorNachteil: { template: "systems/dsa-4th-edition/src/ItemSheets/VorNachteil.hbs" },
|
||||
Zauber: { template: "systems/dsa-4th-edition/src/ItemSheets/Zauber.hbs" },
|
||||
};
|
||||
|
||||
static DEFAULT_OPTIONS = {
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
"Gegenstand": {},
|
||||
"Ruestung": {},
|
||||
"Bewaffnung": {},
|
||||
"Zauber": {},
|
||||
|
||||
"Talent": {},
|
||||
"Kampftalent": {},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user