Fix #28 - Spec selection
This commit is contained in:
parent
9f8d9f56bd
commit
109ce4f192
@ -191,11 +191,24 @@ export class PegasusActorCreate {
|
|||||||
this.nbPerks--;
|
this.nbPerks--;
|
||||||
this.rolePerks = this.rolePerks.filter( item => item._id != itemId);//Remove selected perk
|
this.rolePerks = this.rolePerks.filter( item => item._id != itemId);//Remove selected perk
|
||||||
if (this.nbPerks == 0 || this.rolePerks.length == 0) {
|
if (this.nbPerks == 0 || this.rolePerks.length == 0) {
|
||||||
this.showCharacterEnd()
|
this.nbGlobalSpec = 5
|
||||||
|
this.showGlobalSpec()
|
||||||
} else {
|
} else {
|
||||||
this.showRolePerks()
|
this.showRolePerks()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (step == 'select-global-spec') {
|
||||||
|
PegasusUtility.removeChatMessageId(PegasusUtility.findChatMessageId(event.currentTarget));
|
||||||
|
let spec = this.specs.find( item => item._id == itemId);
|
||||||
|
this.actor.addIncSpec(spec, 1)
|
||||||
|
this.nbGlobalSpec--;
|
||||||
|
if (this.nbGlobalSpec == 0 ) {
|
||||||
|
this.showCharacterEnd()
|
||||||
|
} else {
|
||||||
|
this.showGlobalSpec()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -373,6 +386,7 @@ export class PegasusActorCreate {
|
|||||||
this.renderChatMessage( formData)
|
this.renderChatMessage( formData)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async showRolePerks() {
|
async showRolePerks() {
|
||||||
let formData = this.createFormData("select-role-perk")
|
let formData = this.createFormData("select-role-perk")
|
||||||
@ -381,6 +395,27 @@ export class PegasusActorCreate {
|
|||||||
this.renderChatMessage( formData)
|
this.renderChatMessage( formData)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async showGlobalSpec() {
|
||||||
|
let formData = this.createFormData("select-global-spec")
|
||||||
|
let excludedSpecs = this.actor.items.filter(it => it.type =="specialisation" && it.system.level >= 4)
|
||||||
|
formData.specs = []
|
||||||
|
for( let spec of this.specs) {
|
||||||
|
let isOK = true
|
||||||
|
for (let excluded of excludedSpecs) {
|
||||||
|
if (excluded.name == spec.name) {
|
||||||
|
isOK = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isOK) {
|
||||||
|
formData.specs.push(spec)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
formData.specs.sort( function compare(a, b) { if (a.name < b.name) {return -1} else {return 1} } )
|
||||||
|
this.renderChatMessage( formData )
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async showCharacterEnd() {
|
async showCharacterEnd() {
|
||||||
await this.actor.computeNRGHealth()
|
await this.actor.computeNRGHealth()
|
||||||
|
@ -134,6 +134,19 @@
|
|||||||
</table>
|
</table>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if (eq step "select-global-spec")}}
|
||||||
|
<div>Now select a Specialisation at +1DT.
|
||||||
|
</div>
|
||||||
|
<table class="table-create-actor">
|
||||||
|
{{#each specs as |spec index|}}
|
||||||
|
<tr>
|
||||||
|
<td><a class="view-item-from-chat" data-step="{{@root.step}}" data-item-id="{{spec._id}}">{{spec.name}}</a></td>
|
||||||
|
<td><a class="chat-card-button chat-create-actor" data-step-name="{{@root.step}}" data-item-id="{{spec._id}}" >Select it !</a></td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</table>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{#if (eq step "character-end")}}
|
{{#if (eq step "character-end")}}
|
||||||
<div>Follow the next steps from the rulebook page 50 !. You can now spend 150 CDPs to customise your character.
|
<div>Follow the next steps from the rulebook page 50 !. You can now spend 150 CDPs to customise your character.
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user