Added Movemenmt and action tab

This commit is contained in:
Ender 2024-05-20 23:26:42 +02:00
parent aef48dd46b
commit 976cd83a04
4 changed files with 156 additions and 46 deletions

View File

@ -16,6 +16,7 @@
"midgard5": { "midgard5": {
"phase-action": "Handlungsphase", "phase-action": "Handlungsphase",
"actionThisTurn": "Handlung",
"phase-movement": "Bewegungsphase", "phase-movement": "Bewegungsphase",
"no-encounter": "Kein Kampf", "no-encounter": "Kein Kampf",
"encounter-not-started": "Kein aktiver Kampf", "encounter-not-started": "Kein aktiver Kampf",
@ -23,6 +24,8 @@
"initiativeRoll": "Initiative würfeln", "initiativeRoll": "Initiative würfeln",
"unableToAct": "Handlungsunfähig", "unableToAct": "Handlungsunfähig",
"unablesToAct": "Macht handlungsunfähig", "unablesToAct": "Macht handlungsunfähig",
"continue": "Weiter",
"endTurn": "Zug beenden",
"group": "Gruppe", "group": "Gruppe",
"leader": "Anführer", "leader": "Anführer",
"actionrank": "Handlungsrang", "actionrank": "Handlungsrang",
@ -98,6 +101,7 @@
"maximum": "Max.", "maximum": "Max.",
"attrvalue": "Wert", "attrvalue": "Wert",
"movementRange": "Bewegungsweite", "movementRange": "Bewegungsweite",
"movedThisTurn": "Bewegt",
"base_values": "Grundwerte", "base_values": "Grundwerte",
"skills": "Fertigkeiten", "skills": "Fertigkeiten",

View File

@ -95,6 +95,12 @@ Hooks.on("getChatLogEntryContext", function (html, options) {
); );
}); });
Hooks.on("createCombatant", async function () {
const test="Dritter Test";
console.log("Test: ", test);
await (game as Game).combat.setFlag('world', 'Test', test);
});
Hooks.on("updateCombat", function (combat: Combat, updateData: { round: number; turn: number }, updateOptions: { advanceTime: number; direction: number }) { Hooks.on("updateCombat", function (combat: Combat, updateData: { round: number; turn: number }, updateOptions: { advanceTime: number; direction: number }) {
if (combat.round % 2 === 0 && combat.turn !== null) { if (combat.round % 2 === 0 && combat.turn !== null) {
const tokenId = combat.current.tokenId; const tokenId = combat.current.tokenId;

View File

@ -6,6 +6,7 @@
.flexbox { .flexbox {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: stretch;
flex-wrap: wrap; flex-wrap: wrap;
} }
@ -15,28 +16,33 @@
} }
.flexcolumn-1 { .flexcolumn-1 {
flex-basis: 100%; flex-basis: 99%;
flex-wrap: wrap; flex-wrap: wrap;
flex-direction: column;
} }
.flexcolumn-2 { .flexcolumn-2 {
flex-basis: 50%; flex-basis: 49%;
flex-wrap: wrap; flex-wrap: wrap;
flex-direction: column;
} }
.flexcolumn-3 { .flexcolumn-3 {
flex-basis: 33%; flex-basis: 32%;
flex-wrap: wrap; flex-wrap: wrap;
flex-direction: column;
} }
.flexcolumn-4 { .flexcolumn-4 {
flex-basis: 25%; flex-basis: 24%;
flex-wrap: wrap; flex-wrap: wrap;
flex-direction: column;
} }
.flexcolumn-5 { .flexcolumn-5 {
flex-basis: 20%; flex-basis: 19%;
flex-wrap: wrap; flex-wrap: wrap;
flex-direction: column;
} }
.flexpart { .flexpart {
@ -80,6 +86,11 @@
border-radius: 10px; border-radius: 10px;
} }
.fixed-value {
width: 3rem;
text-align: center;
}
.profile-img { .profile-img {
display: block; display: block;
margin-left: auto; margin-left: auto;

View File

@ -1,51 +1,140 @@
<h3>{{localize "midgard5.combatPhases"}}</h3>
<div class="flexbox"> <div class="flexbox">
<div class="flexcolumn-2 flexpart">
<div class="flexcolumn-3"> <div class="flexpart-header"><img src="icons/magic/time/arrows-circling-pink.webp" class="flexpart-icon">{{localize "midgard5.initiative"}}</div>
<div class="flexpart"> <br>
<div class="flexpart-header"><img src="icons/magic/time/arrows-circling-pink.webp" class="flexpart-icon">{{localize "midgard5.initiative"}}: {{data.calc.initiative}}</div> <div class="flexrow">
<br> <div style="font-weight: 800;">{{localize "midgard5.group"}}:</div>
<div class="flexrow"> <div class="fixed-value" style="font-weight: 800;">{{data.calc.group}}</div>
<div style="font-weight: 800;">{{localize "midgard5.group"}}:</div> </div>
<div class="fixed-value" style="font-weight: 800;">{{data.calc.group}}</div> <div class="flexrow">
</div> <div style="font-weight: 800;">{{localize "midgard5.anfuehren"}}:</div>
{{#if data.calc.unableToAct.enabled}} <div class="fixed-value" style="font-weight: 800;">{{data.calc.initiative}}</div>
<div class="flexrow"> </div>
<div>{{localize "midgard5.unableToAct"}}</div> <br>
<div class="fixed-value;"><input type="checkbox" name="data.calc.unableToAct.enabled" {{checked data.calc.unableToAct.enabled}} disabled="disabled"></div> {{#if data.calc.unableToAct.enabled}}
<div class="fixed-value"><button class="roll-button roll-unableToAct-button"></button></div> <div class="flexrow">
</div> <div>{{localize "midgard5.unableToAct"}}</div>
<div class="flexrow"> <div class="fixed-value;"><input type="checkbox" name="data.calc.unableToAct.enabled" {{checked data.calc.unableToAct.enabled}} disabled="disabled"></div>
&nbsp; &nbsp; <div class="fixed-value"><button class="roll-button roll-unableToAct-button"></button></div>
<div>{{localize "midgard5.time-round"}}</div> </div>
<div class="fixed-value"><input type="number" name="data.calc.unableToAct.roundsRemaining" value="{{data.calc.unableToAct.roundsRemaining}}"></div> <div class="flexrow">
</div> &nbsp; &nbsp;
{{/if}} <div>{{localize "midgard5.time-round"}}</div>
{{#unless data.calc.unableToAct.enabled}} <div class="fixed-value"><input type="number" name="data.calc.unableToAct.roundsRemaining" value="{{data.calc.unableToAct.roundsRemaining}}"></div>
<div class="flexrow"> </div>
<div>{{localize "midgard5.leader"}}</div> {{/if}}
<div class="fixed-value;"><input type="checkbox" name="data.info.leader" {{checked data.info.leader}}></div> {{#unless data.calc.unableToAct.enabled}}
</div> <div class="flexrow">
{{#if data.info.leader}} <div>{{localize "midgard5.leader"}}</div>
<div class="flexrow"> <div class="fixed-value;"><input type="checkbox" name="data.info.leader" {{checked data.info.leader}}></div>
<button class="wide-button roll-initiative-button">{{localize "midgard5.initiativeRoll"}}</button> </div>
</div> {{#if data.info.leader}}
{{/if}} <div class="flexrow">
{{/unless}} <button class="wide-button rollInitiative">{{localize "midgard5.initiativeRoll"}}</button>
</div>
{{/if}}
{{/unless}}
<div class="flexpart-header"><img src="icons/magic/time/arrows-circling-pink.webp" class="flexpart-icon">{{localize "midgard5.phase-movement"}}</div>
<br>
<div class="flexrow">
<div style="font-weight: 800;">{{localize "midgard5.movementRange"}}:</div>
<div class="fixed-value" style="font-weight: 800;">{{data.calc.stats.movement.value}}</div>
</div>
<br>
<div class="flexrow">
<div><label for="tM1">{{localize "midgard5.movedThisTurn"}}: max. 1m</label></div>
<div><input type="radio" id="tM1" name="gwModificator" value="1"></div>
</div>
<div class="flexrow">
<div><label for="tM2">{{localize "midgard5.movedThisTurn"}}: max.B/2m</label></div>
<div><input type="radio" id="tM2" name="gwModificator" value="0.5"></div>
</div>
<div class="flexrow">
<div><label for="tM3">{{localize "midgard5.movedThisTurn"}}: max. {{data.calc.stats.movement.value}}m</label></div>
<div><input type="radio" id="tm3" name="gwModificator" value="0"></div>
</div>
<div class="flexrow">
<div><label for="tM4">Eigener GW Multiplikator</label></div>
<div><input type="radio" id="tm4" name="dedicatedgwModificator" value="1"></div>
</div>
<div class="flexrow">
<div>&nbsp;&nbsp;<label for="tM5">GW Multiplikator:</label></div>
<div class="fixed-value;"><input type="float" id="tm5" name="gwModificator" value="0" ></div>
</div>
<div class="flexrow">
<button class="wide-button continueToAction">{{localize "midgard5.continue"}}</button>
</div> </div>
</div> </div>
<div class="flexcolumn-3"> <div class="flexcolumn-2 flexpart">
<div class="flexpart"> <div class="flexpart-header"><img src="icons/magic/time/arrows-circling-pink.webp" class="flexpart-icon">{{localize "midgard5.phase-action"}}</div>
<div class="flexpart-header"><img src="icons/magic/time/arrows-circling-pink.webp" class="flexpart-icon">{{localize "midgard5.movementPhase"}}</div> <br>
</div> <div class="flexrow">
</div> <div style="font-weight: 800;">{{localize "midgard5.actionrank"}} :</div>
<div class="fixed-value" style="font-weight: 800;">{{data.calc.attributes.gw.value}}</div>
<div class="flexcolumn-3"> </div>
<div class="flexpart"> <br>
<div class="flexpart-header"><img src="icons/magic/time/arrows-circling-pink.webp" class="flexpart-icon">{{localize "midgard5.actionPhase"}}</div> <div class="flexrow">
<div><label for="a1">{{localize "midgard5.actionThisTurn"}}: 10s</label></div>
<div><input type="radio" id="a1" name="gwModificator" value="1"></div>
</div>
<div class="flexrow">
<div><label for="a2">{{localize "midgard5.actionThisTurn"}}: 5s</label></div>
<div><input type="radio" id="a2" name="gwModificator" value="0.5"></div>
</div>
<div class="flexrow">
<div><label for="a3">{{localize "midgard5.actionThisTurn"}}: 1s</label></div>
<div><input type="radio" id="a3" name="gwModificator" value="0"></div>
</div>
<div class="flexrow">
<div><label for="a4">Manuelle Eingabe</label></div>
<div><input type="radio" id="a4" name="dedicatedgwModificator" value="1"></div>
</div>
<div class="flexrow">
<div>&nbsp;&nbsp;<label for="a5">{{localize "midgard5.actionrank"}}:</label></div>
<div class="fixed-value;"><input type="float" id="a5" name="midgard5.actionThisTurn" value="0" ></div>
</div>
<div class="flexrow">
<button class="wide-button endTurn">{{localize "midgard5.endTurn"}}</button>
</div>
<div class="flexpart-header"><img src="icons/magic/time/arrows-circling-pink.webp" class="flexpart-icon">{{localize "midgard5.phase-action"}}</div>
<br>
<div class="flexrow">
<div style="font-weight: 800;">{{localize "midgard5.actionrank"}} :</div>
<div class="fixed-value" style="font-weight: 800;">{{data.calc.attributes.gw.value}}</div>
</div>
<br>
<div class="flexrow">
<div><label for="a1">{{localize "midgard5.actionThisTurn"}}: 10s</label></div>
<div><input type="radio" id="a1" name="gwModificator" value="1"></div>
</div>
<div class="flexrow">
<div><label for="a2">{{localize "midgard5.actionThisTurn"}}: 5s</label></div>
<div><input type="radio" id="a2" name="gwModificator" value="0.5"></div>
</div>
<div class="flexrow">
<div><label for="a3">{{localize "midgard5.actionThisTurn"}}: 1s</label></div>
<div><input type="radio" id="a3" name="gwModificator" value="0"></div>
</div>
<div class="flexrow">
<div><label for="a4">Manuelle Eingabe</label></div>
<div><input type="radio" id="a4" name="dedicatedgwModificator" value="1"></div>
</div>
<div class="flexrow">
<div>&nbsp;&nbsp;<label for="a5">{{localize "midgard5.actionrank"}}:</label></div>
<div class="fixed-value;"><input type="float" id="a5" name="midgard5.actionThisTurn" value="0" ></div>
</div>
<div class="flexrow">
<button class="wide-button endTurn">{{localize "midgard5.endTurn"}}</button>
</div> </div>
</div> </div>
</div>
<h3>{{localize "midgard5.combat"}}</h3>
<div class="flexbox">
<div class="flexcolumn-2"> <div class="flexcolumn-2">
<div class="flexpart"> <div class="flexpart">
<div class="flexpart-header"><img src="icons/magic/time/arrows-circling-pink.webp" class="flexpart-icon">{{localize "midgard5.calculated-values"}}</div> <div class="flexpart-header"><img src="icons/magic/time/arrows-circling-pink.webp" class="flexpart-icon">{{localize "midgard5.calculated-values"}}</div>