ENH: Feedback

- Collapsible inventory categories
- Roll details on dialog
- Abbreviations
- Reload AAC
master
U~man 2020-07-06 21:28:39 +02:00
parent 02881e8e2b
commit f694f7888e
10 changed files with 51 additions and 14 deletions

View File

@ -21,11 +21,13 @@
"OSE.Level": "Level",
"OSE.Experience": "Experience",
"OSE.ExperienceBonus": "Bonus Experience",
"OSE.ExperienceAward": "XP Award",
"OSE.Treasure": "Treasure type",
"OSE.TreasureTable": "Table",
"OSE.TreasureTableHint": "Drop a rollable table here to roll the monster treasure",
"OSE.Size": "Size",
"OSE.Morale": "Morale",
"OSE.MoraleCheckDetails": "Roll 2d6 <= Morale for success",
"OSE.Retainer": "Retainer",
"OSE.Appearing": "NA",
"OSE.Attack": "Attack",
@ -34,7 +36,8 @@
"OSE.Loyalty": "Loyalty Rating",
"OSE.LoyaltyShort": "LR",
"OSE.AbilityCheck": "Ability Check",
"OSE.AttributeCheck": "Attribute Check",
"OSE.AttributeCheckDetails": "Roll 1d20 <= {score} for success",
"OSE.scores.str.long": "Strength",
"OSE.scores.str.short": "STR",
"OSE.scores.wis.long": "Wisdom",
@ -49,6 +52,7 @@
"OSE.scores.cha.short": "CHA",
"OSE.SavingThrow": "Save",
"OSE.SavingThrowDetails": "Roll 1d20 >= {save} for success",
"OSE.saves.death.short": "D",
"OSE.saves.death.long": "Death, Poison",
"OSE.saves.wand.short": "W",
@ -68,9 +72,10 @@
"OSE.HitDiceShort": "HD",
"OSE.Movement": "Movement Rate",
"OSE.MovementEncounter": "Encounter Movement Rate",
"OSE.MovementEncounterShort": "ENC",
"OSE.MovementEncounterShort": "En",
"OSE.MovementOverland": "Overland Movement Rate",
"OSE.MovementOverlandShort": "OVE",
"OSE.MovementOverlandShort": "Ov",
"OSE.MovementExplorationShort": "Ex",
"OSE.MovementShort": "MV",
"OSE.ArmorClassNaked": "Naked Armor Class",
"OSE.ArmorClass": "Armor Class",
@ -158,14 +163,19 @@
"OSE.abilities.Requirements": "Requirements",
"OSE.ExplorationCheck": "Check",
"OSE.ExplorationCheckDetails": "Roll 1d6 <= {expl} for success",
"OSE.exploration.ld.long": "Listen at Door",
"OSE.exploration.ld.short": "Listen Door",
"OSE.exploration.ld.abrev": "LD",
"OSE.exploration.od.long": "Open Stuck Door",
"OSE.exploration.od.short": "Open Door",
"OSE.exploration.od.abrev": "OD",
"OSE.exploration.sd.long": "Find Secret Door",
"OSE.exploration.sd.short": "Secret Door",
"OSE.exploration.sd.abrev": "SD",
"OSE.exploration.ft.long": "Find Room Trap",
"OSE.exploration.ft.short": "Find Trap",
"OSE.exploration.ft.abrev": "FT",
"OSE.messages.GetExperience": "{name} gained {value} experience points!",
"OSE.messages.AttackSuccess": "<b>Hits AC {result}!</b> ({bonus})",

View File

@ -157,10 +157,20 @@ export class OseActorSheetCharacter extends OseActorSheet {
let box = $(event.currentTarget.parentElement.parentElement.parentElement);
box.children('.attribute-bonuses').slideDown(200);
})
html.find(".ability-score .attribute-bonuses a").click(ev => {
$(event.currentTarget.parentElement.parentElement).slideUp(200);
})
html.find(".inventory .item-titles").click(ev => {
let items = $(event.currentTarget.parentElement).children('.item-list');
if (items.css('display') == "none") {
items.slideDown(200);
} else {
items.slideUp(200);
}
})
// Handle default listeners last so system listeners are triggered first
super.activateListeners(html);
}

View File

@ -72,6 +72,7 @@ export class OseActor extends Actor {
rollData: {
type: "Above",
target: this.data.data.saves[save].value,
details: game.i18n.format("OSE.SavingThrowDetails", {save: label}),
},
},
};
@ -100,6 +101,7 @@ export class OseActor extends Actor {
rollData: {
type: "Below",
target: this.data.data.details.morale,
details: game.i18n.format("OSE.MoraleCheckDetails"),
},
},
};
@ -126,6 +128,7 @@ export class OseActor extends Actor {
rollData: {
type: "Check",
target: this.data.data.scores[score].value,
details: game.i18n.format("OSE.AttributeCheckDetails", {score: label}),
},
},
};
@ -139,8 +142,8 @@ export class OseActor extends Actor {
data: data,
skipDialog: skip,
speaker: ChatMessage.getSpeaker({ actor: this }),
flavor: `${label} ${game.i18n.localize("OSE.AbilityCheck")}`,
title: `${label} ${game.i18n.localize("OSE.AbilityCheck")}`,
flavor: `${label} ${game.i18n.localize("OSE.AttributeCheck")}`,
title: `${label} ${game.i18n.localize("OSE.AttributeCheck")}`,
});
}
@ -179,6 +182,7 @@ export class OseActor extends Actor {
rollData: {
type: "Below",
target: this.data.data.exploration[expl],
details: game.i18n.format("OSE.ExplorationCheckDetails", {expl: label}),
},
},
};

View File

@ -15,6 +15,7 @@ export const registerSettings = function () {
scope: "world",
type: Boolean,
config: true,
onChange: _ => window.location.reload()
});
game.settings.register("ose", "morale", {
@ -38,11 +39,10 @@ export const registerSettings = function () {
game.settings.register("ose", "encumbranceOption", {
name: game.i18n.localize("OSE.Setting.Encumbrance"),
hint: game.i18n.localize("OSE.Setting.EncumbranceHint"),
default: false,
default: "detailed",
scope: "world",
type: String,
config: true,
default: "detailed",
choices: {
basic: "OSE.Setting.EncumbranceBasic",
detailed: "OSE.Setting.EncumbranceDetailed",

View File

@ -192,6 +192,7 @@
line-height: 30px;
}
.item-titles {
cursor: pointer;
text-align: center;
padding: 4px 0;
border: 1px solid $colorDark;

View File

@ -1,3 +1,10 @@
.ose.roll-dialog {
.roll-details {
font-weight: bold;
text-align: center;
}
}
.ose.chat-block {
margin: 0;
.chat-title {

View File

@ -1,26 +1,26 @@
<ul class="attributes exploration flexrow">
<li class="attribute flexrow" data-exploration="ld">
<h4 class="attribute-name box-title" title="{{localize 'OSE.exploration.ld.long'}}"><a>{{ localize "OSE.exploration.ld.short" }}</a></h4>
<h4 class="attribute-name box-title" title="({{localize 'OSE.exploration.ld.abrev'}}) {{localize 'OSE.exploration.ld.long'}}"><a>{{ localize "OSE.exploration.ld.short" }}</a></h4>
<div class="attribute-value">
<input name="data.exploration.ld" type="text" value="{{data.exploration.ld}}" data-dtype="Number" placeholder="0" />
</div>
</li>
<li class="attribute flexrow" data-exploration="od">
<h4 class="attribute-name box-title" title="{{localize 'OSE.exploration.od.long'}}"><a>{{ localize "OSE.exploration.od.short" }}</a>
<h4 class="attribute-name box-title" title="({{localize 'OSE.exploration.od.abrev'}}) {{localize 'OSE.exploration.od.long'}}"><a>{{ localize "OSE.exploration.od.short" }}</a>
</h4>
<div class="attribute-value">
<input name="data.exploration.od" type="text" value="{{data.exploration.od}}" placeholder="0" data-dtype="String" />
</div>
</li>
<li class="attribute flexrow" data-exploration="sd">
<h4 class="attribute-name box-title" title="{{localize 'OSE.exploration.sd.long'}}"><a>{{ localize "OSE.exploration.sd.short" }}</a>
<h4 class="attribute-name box-title" title="({{localize 'OSE.exploration.sd.abrev'}}) {{localize 'OSE.exploration.sd.long'}}"><a>{{ localize "OSE.exploration.sd.short" }}</a>
</h4>
<div class="attribute-value">
<input name="data.exploration.sd" type="text" value="{{data.exploration.sd}}" placeholder="0" data-dtype="String" />
</div>
</li>
<li class="attribute flexrow" data-exploration="ft">
<h4 class="attribute-name box-title" title="{{localize 'OSE.exploration.ft.long'}}"><a>{{ localize "OSE.exploration.ft.short" }}</a>
<h4 class="attribute-name box-title" title="({{localize 'OSE.exploration.ft.abrev'}}) {{localize 'OSE.exploration.ft.long'}}"><a>{{ localize "OSE.exploration.ft.short" }}</a>
</h4>
<div class="attribute-value">
<input name="data.exploration.ft" type="text" value="{{data.exploration.ft}}" placeholder="0" data-dtype="String" />

View File

@ -221,7 +221,7 @@
</li>
<li class="attribute">
<h4 class="attribute-name box-title" title="{{ localize 'OSE.Movement' }}">
{{ localize "OSE.MovementShort" }}</h4>
{{ localize "OSE.MovementExplorationShort" }}</h4>
<div class="attribute-value flexrow">
<input name="data.movement.base" type="text" value="{{data.movement.base}}" placeholder="0"
data-dtype="Number" />

View File

@ -25,7 +25,7 @@
<ul class="summary flexrow">
<li class="flex3">
<input type="text" name="data.details.xp" value="{{data.details.xp}}" />
<label>{{localize 'OSE.Experience'}}</label>
<label>{{localize 'OSE.ExperienceAward'}}</label>
</li>
<li class="flex3">
<input type="text" name="data.details.treasure.type" value="{{data.details.treasure.type}}" />

View File

@ -1,4 +1,9 @@
<form>
<form class="ose roll-dialog">
{{#if data.rollData.details}}
<div class="roll-details">
{{data.rollData.details}}
</div>
{{/if}}
<div class="form-group">
<label>{{localize "OSE.Formula"}}</label>
<input type="text" name="formula" value="{{formula}}" disabled />