ENH: AC bonus

master
U~man 2020-07-14 20:02:30 +02:00
parent 853225545d
commit f8affb720b
9 changed files with 62 additions and 15 deletions

View File

@ -109,6 +109,7 @@
"OSE.ArmorClass": "Armor Class",
"OSE.ArmorClassShort": "AC",
"OSE.AscArmorClassShort": "AAC",
"OSE.ArmorClassBonus": "Armor Class Bonus",
"OSE.Thac0": "THAC0",
"OSE.ABShort": "AB",
"OSE.AB": "Attack Bonus",
@ -157,8 +158,6 @@
"OSE.Setting.AscendingACHint": "The more the better",
"OSE.Setting.Morale": "Enable monsters Morale Rating",
"OSE.Setting.MoraleHint": "Morale Rating is shown on monster sheets",
"OSE.Setting.THAC0Attacks": "Attacks with THAC0",
"OSE.Setting.THAC0AttacksHint": "Attacks are resolved using the THAC0 value, not compatible with AAC",
"OSE.Setting.VariableWeaponDamage": "Variable Weapon Damage",
"OSE.Setting.VariableWeaponDamageHint": "Weapons have different damage dice",
"OSE.Setting.Encumbrance": "Encumbrance",

View File

@ -4,6 +4,7 @@
"OSE.Show": "Montrer",
"OSE.Add": "Ajouter",
"OSE.Ok": "Ok",
"OSE.Update": "Mettre à jour",
"OSE.Reset": "Réinitialiser",
"OSE.Cancel": "Annuler",
"OSE.Roll": "Lancer",
@ -12,6 +13,8 @@
"OSE.dialog.tweaks": "Ajuster",
"OSE.dialog.partysheet": "Fiche de Groupe",
"OSE.dialog.selectActors": "Choisir PJs",
"OSE.dialog.dealXP": "Donner XP",
"OSE.Formula": "Formule",
"OSE.SitMod": "Mod. de situation",
@ -106,6 +109,7 @@
"OSE.ArmorClass": "Classe d'Armure",
"OSE.ArmorClassShort": "CA",
"OSE.AscArmorClassShort": "CAA",
"OSE.ArmorClassBonus": "Bonus d'Armure",
"OSE.Thac0": "THAC0",
"OSE.ABShort": "BBA",
"OSE.AB": "Bonus d'Attaque",

View File

@ -148,7 +148,6 @@ export class OseActor extends Actor {
}
rollReaction(options = {}) {
const label = game.i18n.localize(`OSE.details.reaction`);
const rollParts = ["2d6"];
const data = {
@ -566,8 +565,8 @@ export class OseActor extends Actor {
shield = a.data.ac.value;
}
});
data.aac.value = baseAac + data.scores.dex.mod + shield;
data.ac.value = baseAc - data.scores.dex.mod - shield;
data.aac.value = baseAac + data.scores.dex.mod + shield + data.aac.mod;
data.ac.value = baseAc - data.scores.dex.mod - shield - data.ac.mod;
data.shield = shield;
}

View File

@ -33,6 +33,7 @@ export class OseEntityTweaks extends FormApplication {
data.isCharacter = true;
}
data.user = game.user;
data.config = CONFIG.OSE;
return data;
}

View File

@ -39,8 +39,7 @@ export class OsePartySheet extends FormApplication {
_onDrop(event) {
event.preventDefault();
console.log("DROPPING");
// WIP Drop Items
let data;
try {
data = JSON.parse(event.dataTransfer.getData("text/plain"));
@ -48,7 +47,6 @@ export class OsePartySheet extends FormApplication {
} catch (err) {
return false;
}
console.log(data);
}
/* -------------------------------------------- */
@ -117,10 +115,13 @@ export class OsePartySheet extends FormApplication {
html
.find("button[data-action='select-actors']")
.click(this._selectActors.bind(this));
html.find("button[data-action='deal-xp']").click(this._dealXP.bind(this));
html.find("button[data-action='deal-xp']").click(this._dealXP.bind(this));
html.find("a.resync").click(() => this.render(true));
html.find(".field-img").click((ev) => {
let actorId = ev.currentTarget.parentElement.dataset.actorId;
html.find(".field-img button[data-action='open-sheet']").click((ev) => {
let actorId = ev.currentTarget.parentElement.parentElement.parentElement.dataset.actorId;
game.actors.get(actorId).sheet.render(true);
})
}

View File

@ -34,11 +34,37 @@
text-align: center;
.field-img {
flex: 0 0 50px;
position: relative;
&:hover {
.img-btns button {
display: block;
}
}
img {
border: none;
width: 50px;
height: 50px;
}
.img-btns {
position: absolute;
bottom: 0;
left: 0;
width: 50px;
height: 12px;
button {
display: none;
cursor: pointer;
font-size: 10px;
height: 18px;
width: 14px;
line-height: 13px;
margin: 0 1px;
border: 1px solid $colorOlive;
padding: 2px;
background: $colorFaint;
box-shadow: inset 0 0px 3px $colorTan;
}
}
}
}
}

View File

@ -14,10 +14,12 @@
"max": 20
},
"ac": {
"value": 0
"value": 0,
"mod": 0
},
"aac": {
"value": 0
"value": 0,
"mod": 0
},
"thac0": {
"value": 19,

View File

@ -46,6 +46,18 @@
data-dtype="Number" />
</div>
</div>
<div class="form-group">
<label>{{localize "OSE.ArmorClassBonus"}}</label>
<div class="form-fields">
{{#if config.ascending}}
<input type="text" name="data.aac.mod" id="ac" value="{{data.aac.mod}}"
data-dtype="Number" />
{{else}}
<input type="text" name="data.ac.mod" id="ac" value="{{data.ac.mod}}"
data-dtype="Number" />
{{/if}}
</div>
</div>
<div class="form-group">
<label>{{localize "OSE.Encumbrance"}}</label>
<div class="form-fields">

View File

@ -18,7 +18,10 @@
{{#each data.entities as |e|}} {{#if e.data.flags.ose.party}}
<li class="actor flexrow" data-actor-id="{{e.id}}">
<div class="field-img">
<a><img src="{{e.img}}" /></a>
<img src="{{e.img}}" />
<div class="img-btns flexrow">
<button type="button" data-action="open-sheet"><i class="fas fa-user"></i></button>
</div>
</div>
<div>
<div class="flexrow">
@ -61,7 +64,7 @@
{{#each e.data.data.saves as |s i|}}
<span>{{lookup @root.config.saves_short i}} {{s.value}}</span>
{{/each}}
{{#if (eq e.data.type 'character')}}<i class="fas fa-magic"></i>{{mod e.data.data.scores.wis.mod}}{{/if}}
<span>{{#if (eq e.data.type 'character')}}<i class="fas fa-magic"></i>{{mod e.data.data.scores.wis.mod}}{{/if}}</span>
</div>
</div>
</div>