First setup
This commit is contained in:
@ -67,15 +67,13 @@ export class SoSActorSheet extends ActorSheet {
|
||||
this.actor.rollStat(statName);
|
||||
});
|
||||
html.find('.edge-draw').click((event) => {
|
||||
this.actor.drawEdge();
|
||||
this.actor.resetDeck();
|
||||
this.render(true);
|
||||
});
|
||||
html.find('.lock-unlock-sheet').click((event) => {
|
||||
this.options.editStatSkill = !this.options.editStatSkill;
|
||||
this.render(true);
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
@ -42,7 +42,7 @@ export class SoSActor extends Actor {
|
||||
|
||||
if ( !this.cardDeck ) {
|
||||
this.cardDeck = new SoSCardDeck();
|
||||
this.cardDeck.initCardDeck( this );
|
||||
this.cardDeck.initCardDeck( this, this.data.data.internals.deck );
|
||||
}
|
||||
this.controlScores();
|
||||
}
|
||||
@ -55,8 +55,19 @@ export class SoSActor extends Actor {
|
||||
return edgesCard;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
drawEdge( ) {
|
||||
resetDeck( ) {
|
||||
this.cardDeck.shuffleDeck();
|
||||
this.cardDeck.drawEdge();
|
||||
this.saveDeck();
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
saveDeck( ) {
|
||||
let deck = { deck: duplicate(this.cardDeck.data.deck),
|
||||
discard: duplicate(this.cardDeck.data.discard),
|
||||
cardEdge: duplicate(this.cardDeck.data.cardEdge)
|
||||
}
|
||||
this.update( { 'data.internals.deck': deck });
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -79,7 +90,7 @@ export class SoSActor extends Actor {
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
computeEdge( ) {
|
||||
return Math.ceil( (this.data.data.stats.intelligence.value + this.data.data.stats.charisma.value) / 2);
|
||||
return Math.ceil( (this.data.data.stats.intelligence.value + this.data.data.stats.charisma.value) / 2) + this.data.data.scores.edge.bonus;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getShock( ) {
|
||||
|
24
module/sample-code.js
Normal file
24
module/sample-code.js
Normal file
@ -0,0 +1,24 @@
|
||||
html.find('.item .item-name h4').click(event => this._onItemSummary(event));
|
||||
|
||||
/**
|
||||
* Handle toggling of an item from the Actor sheet
|
||||
* @private
|
||||
*/
|
||||
_onItemSummary(event) {
|
||||
event.preventDefault();
|
||||
let li = $(event.currentTarget).parents(".item"),
|
||||
item = this.actor.getOwnedItem(li.data("item-id"));
|
||||
|
||||
// Toggle summary
|
||||
if (item.data.data.description !== undefined && item.data.data.description !== null){
|
||||
if ( li.hasClass("expanded") ) {
|
||||
let summary = li.children(".item-summary");
|
||||
summary.slideUp(200, () => summary.remove());
|
||||
} else {
|
||||
let div = $(`<div class="item-summary">${item.data.data.description}</div>`);
|
||||
li.append(div.hide());
|
||||
div.slideDown(200);
|
||||
}
|
||||
li.toggleClass("expanded");
|
||||
}
|
||||
}
|
@ -7,16 +7,26 @@ const IDX2CARDFAMILY = ['c', 'd', 'h', 's'];
|
||||
export class SoSCardDeck {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
initCardDeck(actor) {
|
||||
initCardDeck(actor, savedDeck = undefined ) {
|
||||
|
||||
this.data = {};
|
||||
|
||||
this.data.deck = [];
|
||||
this.data.discard = [];
|
||||
this.data.cardState = [];
|
||||
this.data.cardEdge = [];
|
||||
this.data.actor = actor;
|
||||
|
||||
this.shuffleDeck();
|
||||
|
||||
if ( savedDeck.deck && savedDeck.deck.length > 0 ) {}
|
||||
this.data.deck = duplicate(savedDeck.deck);
|
||||
if ( savedDeck.discard && savedDeck.discard.length > 0 ) {}
|
||||
this.data.discard = duplicate(savedDeck.discard);
|
||||
if ( savedDeck.cardEdge && savedDeck.cardEdge.length > 0 ) {}
|
||||
this.data.cardEdge = duplicate(savedDeck.cardEdge);
|
||||
|
||||
this.data.actor = actor;
|
||||
if ( this.data.deck.length == 0 && this.data.discard.length == 0) {
|
||||
this.shuffleDeck();
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
@ -8,7 +8,8 @@ export class SoSUtility {
|
||||
'systems/foundryvtt-shadows-over-sol/templates/actor-sheet.html',
|
||||
'systems/foundryvtt-shadows-over-sol/templates/editor-notes-gm.html',
|
||||
'systems/foundryvtt-shadows-over-sol/templates/stat-option-list.html',
|
||||
'systems/foundryvtt-shadows-over-sol/templates/item-sheet.html'
|
||||
'systems/foundryvtt-shadows-over-sol/templates/item-sheet.html',
|
||||
'systems/foundryvtt-shadows-over-sol/templates/stat-name-list.html'
|
||||
]
|
||||
return loadTemplates(templatePaths);
|
||||
}
|
||||
|
Reference in New Issue
Block a user