v10 branch - Update manifest
This commit is contained in:
		| @@ -23,7 +23,7 @@ export class SoSActorSheet extends ActorSheet { | |||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   getData() { |   getData() { | ||||||
|     const objectData = SoSUtility.data(this.object); |     const objectData = this.object | ||||||
|     let formData = { |     let formData = { | ||||||
|       title: this.title, |       title: this.title, | ||||||
|       id: objectData.id, |       id: objectData.id, | ||||||
| @@ -32,7 +32,7 @@ export class SoSActorSheet extends ActorSheet { | |||||||
|       name: objectData.name, |       name: objectData.name, | ||||||
|       editable: this.isEditable, |       editable: this.isEditable, | ||||||
|       cssClass: this.isEditable ? "editable" : "locked", |       cssClass: this.isEditable ? "editable" : "locked", | ||||||
|       data: foundry.utils.deepClone(this.object.data), |       data: foundry.utils.deepClone(this.object.system), | ||||||
|       effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)), |       effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)), | ||||||
|       limited: this.object.limited, |       limited: this.object.limited, | ||||||
|       options: this.options, |       options: this.options, | ||||||
| @@ -44,52 +44,52 @@ export class SoSActorSheet extends ActorSheet { | |||||||
|     formData.edgecard = this.actor.getEdgesCard(); |     formData.edgecard = this.actor.getEdgesCard(); | ||||||
|     formData.deckSize = this.actor.getDeckSize(); |     formData.deckSize = this.actor.getDeckSize(); | ||||||
|  |  | ||||||
|     formData.skills   = this.actor.data.items.filter( item => item.type == 'skill').sort( (a, b) =>  {  |     formData.skills   = this.actor.items.filter( item => item.type == 'skill').sort( (a, b) =>  {  | ||||||
|       if ( a.name > b.name ) return 1; |       if ( a.name > b.name ) return 1; | ||||||
|         return -1; |         return -1; | ||||||
|       }); |       }); | ||||||
|      |      | ||||||
|     formData.skill1 = formData.skills.slice(0, Math.ceil(formData.skills.length/2) ) |     formData.skill1 = formData.skills.slice(0, Math.ceil(formData.skills.length/2) ) | ||||||
|     formData.skill2 = formData.skills.slice(Math.ceil(formData.skills.length/2), formData.skills.length ) |     formData.skill2 = formData.skills.slice(Math.ceil(formData.skills.length/2), formData.skills.length ) | ||||||
|     formData.consequences = this.actor.data.items.filter( item => item.type == 'consequence').sort( (a, b) =>  {  |     formData.consequences = this.actor.items.filter( item => item.type == 'consequence').sort( (a, b) =>  {  | ||||||
|       if ( a.name > b.name ) return 1; |       if ( a.name > b.name ) return 1; | ||||||
|       return -1; |       return -1; | ||||||
|     }); |     }); | ||||||
|     formData.gears  = this.actor.data.items.filter( item => item.type == 'gear').concat( this.actor.data.items.filter( item => item.type == 'container') ); |     formData.gears  = this.actor.items.filter( item => item.type == 'gear').concat( this.actor.items.filter( item => item.type == 'container') ); | ||||||
|  |  | ||||||
|     // Build the gear tree |     // Build the gear tree | ||||||
|     formData.gearsRoot = formData.gears.filter(item => item.data.data.containerid == ""); |     formData.gearsRoot = formData.gears.filter(item => item.system.containerid == ""); | ||||||
|     for ( let container of formData.gearsRoot) {       |     for ( let container of formData.gearsRoot) {       | ||||||
|       if ( container.type == 'container') { |       if ( container.type == 'container') { | ||||||
|         container.data.contains = [] |         container.data.contains = [] | ||||||
|         container.data.containerEnc = 0; |         container.data.containerEnc = 0; | ||||||
|         for (let gear of formData.gears) { |         for (let gear of formData.gears) { | ||||||
|           console.log("GEAR", gear, container) |           console.log("GEAR", gear, container) | ||||||
|           if ( gear.data.data.containerid == container.id) { |           if ( gear.system.containerid == container.id) { | ||||||
|             container.data.contains.push( gear ) |             container.data.contains.push( gear ) | ||||||
|             if ( !gear.data.data.neg && !gear.data.data.software ) { |             if ( !gear.system.neg && !gear.system.software ) { | ||||||
|               container.data.containerEnc += (gear.data.data.big > 0) ? gear.data.data.big : 1; |               container.system.containerEnc += (gear.system.big > 0) ? gear.system.big : 1; | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     formData.weapons    = this.actor.data.items.filter( item => item.type == 'weapon'); |     formData.weapons    = this.actor.items.filter( item => item.type == 'weapon'); | ||||||
|     formData.armors     = this.actor.data.items.filter( item => item.type == 'armor'); |     formData.armors     = this.actor.items.filter( item => item.type == 'armor'); | ||||||
|     formData.totalEncumbrance = SoSUtility.computeEncumbrance(this.actor.data.items); |     formData.totalEncumbrance = SoSUtility.computeEncumbrance(this.actor.items); | ||||||
|     formData.wounds     = duplicate(this.actor.data.data.wounds); |     formData.wounds     = duplicate(this.actor.system.wounds); | ||||||
|     formData.isGM       = game.user.isGM; |     formData.isGM       = game.user.isGM; | ||||||
|     formData.currentWounds = this.actor.computeCurrentWounds(); |     formData.currentWounds = this.actor.computeCurrentWounds(); | ||||||
|     formData.totalWounds = this.actor.data.data.scores.wound.value; |     formData.totalWounds = this.actor.system.scores.wound.value; | ||||||
|  |  | ||||||
|     formData.subcultureList = this.actor.data.items.filter( item => item.type == 'subculture'); |     formData.subcultureList = this.actor.items.filter( item => item.type == 'subculture'); | ||||||
|     if ( formData.subculture != "" ) { // background.subculture contains the main subculture ID |     if ( formData.subculture != "" ) { // background.subculture contains the main subculture ID | ||||||
|       formData.mainSubculture = formData.subcultureList.find( subc => subc._id == data.data.subculture); |       formData.mainSubculture = formData.subcultureList.find( subc => subc._id == this.actor.system.subculture); | ||||||
|     } |     } | ||||||
|     formData.languageList  = this.actor.data.items.filter( item => item.type == 'language'); |     formData.languageList  = this.actor.items.filter( item => item.type == 'language'); | ||||||
|     formData.weaknessList  = this.actor.data.items.filter( item => item.type == 'weakness'); |     formData.weaknessList  = this.actor.items.filter( item => item.type == 'weakness'); | ||||||
|     formData.geneline      = this.actor.data.items.find( item => item.type == 'geneline'); |     formData.geneline      = this.actor.items.find( item => item.type == 'geneline'); | ||||||
|     formData.editStatSkill =  this.options.editStatSkill; |     formData.editStatSkill =  this.options.editStatSkill; | ||||||
|  |  | ||||||
|     console.log("stats", formData); |     console.log("stats", formData); | ||||||
| @@ -178,7 +178,7 @@ export class SoSActorSheet extends ActorSheet { | |||||||
|       const li = $(event.currentTarget).parents(".item"); |       const li = $(event.currentTarget).parents(".item"); | ||||||
|       const item = this.actor.items.get(li.data("item-id")); |       const item = this.actor.items.get(li.data("item-id")); | ||||||
|       let severity = $(event.currentTarget).val(); |       let severity = $(event.currentTarget).val(); | ||||||
|       this.actor.updateEmbeddedDocuments( "Item", [ { _id: item.id, 'data.severity': severity} ] ); |       this.actor.updateEmbeddedDocuments( "Item", [ { _id: item.id, 'system.severity': severity} ] ); | ||||||
|       this.render(true); |       this.render(true); | ||||||
|     }); |     }); | ||||||
|     html.find('.lock-unlock-sheet').click((event) => { |     html.find('.lock-unlock-sheet').click((event) => { | ||||||
|   | |||||||
							
								
								
									
										132
									
								
								module/actor.js
									
									
									
									
									
								
							
							
						
						
									
										132
									
								
								module/actor.js
									
									
									
									
									
								
							| @@ -63,7 +63,7 @@ export class SoSActor extends Actor { | |||||||
|   checkDeck() { |   checkDeck() { | ||||||
|     if ( !this.cardDeck && this.hasPlayerOwner ) { |     if ( !this.cardDeck && this.hasPlayerOwner ) { | ||||||
|       this.cardDeck = new SoSCardDeck(); |       this.cardDeck = new SoSCardDeck(); | ||||||
|       this.cardDeck.initCardDeck( this, this.data.data.internals.deck ); |       this.cardDeck.initCardDeck( this, this.system.internals.deck ); | ||||||
|     }  |     }  | ||||||
|     if ( !this.hasPlayerOwner ) { |     if ( !this.hasPlayerOwner ) { | ||||||
|       this.cardDeck = game.system.sos.gmDeck.GMdeck; |       this.cardDeck = game.system.sos.gmDeck.GMdeck; | ||||||
| @@ -87,7 +87,7 @@ export class SoSActor extends Actor { | |||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   resetDeckFull( ) { |   resetDeckFull( ) { | ||||||
|     this.cardDeck.shuffleDeck(); |     this.cardDeck.shuffleDeck(); | ||||||
|     this.cardDeck.drawEdge( this.data.data.scores.edge.value ); |     this.cardDeck.drawEdge( this.system.scores.edge.value ); | ||||||
|     this.saveDeck(); |     this.saveDeck(); | ||||||
|   } |   } | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
| @@ -123,55 +123,55 @@ export class SoSActor extends Actor { | |||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   getDefense( ) { |   getDefense( ) { | ||||||
|     return this.data.data.scores.defense;     |     return this.system.scores.defense;     | ||||||
|   }   |   }   | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   computeDefense() { |   computeDefense() { | ||||||
|     return { value: Math.ceil((this.data.data.stats.speed.value + this.data.data.stats.perception.value + this.data.data.stats.dexterity.value) / 2) + this.data.data.scores.defense.bonusmalus, |     return { value: Math.ceil((this.system.stats.speed.value + this.system.stats.perception.value + this.system.stats.dexterity.value) / 2) + this.system.scores.defense.bonusmalus, | ||||||
|              critical: this.data.data.stats.speed.value + this.data.data.stats.perception.value + this.data.data.stats.dexterity.value + this.data.data.scores.defense.bonusmalus |              critical: this.system.stats.speed.value + this.system.stats.perception.value + this.system.stats.dexterity.value + this.system.scores.defense.bonusmalus | ||||||
|             } |             } | ||||||
|   }   |   }   | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   getEdge( ) { |   getEdge( ) { | ||||||
|     return this.data.data.scores.edge.value; |     return this.system.scores.edge.value; | ||||||
|   }   |   }   | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   getEncumbrance( ) { |   getEncumbrance( ) { | ||||||
|     return this.data.data.scores.encumbrance.value; |     return this.system.scores.encumbrance.value; | ||||||
|   }   |   }   | ||||||
|   computeEncumbrance( ) { |   computeEncumbrance( ) { | ||||||
|     return this.data.data.stats.strength.value + this.data.data.scores.encumbrance.bonusmalus; |     return this.system.stats.strength.value + this.system.scores.encumbrance.bonusmalus; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   computeEdge( ) { |   computeEdge( ) { | ||||||
|     return Math.ceil( (this.data.data.stats.intelligence.value + this.data.data.stats.charisma.value) / 2) + this.data.data.scores.edge.bonusmalus; |     return Math.ceil( (this.system.stats.intelligence.value + this.system.stats.charisma.value) / 2) + this.system.scores.edge.bonusmalus; | ||||||
|   } |   } | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   getShock( ) { |   getShock( ) { | ||||||
|     return this.data.data.scores.shock.value; |     return this.system.scores.shock.value; | ||||||
|   } |   } | ||||||
|   computeShock() { |   computeShock() { | ||||||
|     return Math.ceil( this.data.data.stats.endurance.value + this.data.data.stats.determination.value + this.data.data.scores.dr.value) + this.data.data.scores.shock.bonusmalus; |     return Math.ceil( this.system.stats.endurance.value + this.system.stats.determination.value + this.system.scores.dr.value) + this.system.scores.shock.bonusmalus; | ||||||
|   } |   } | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   getWound( ) { |   getWound( ) { | ||||||
|     return this.data.data.scores.wound.value; |     return this.system.scores.wound.value; | ||||||
|   } |   } | ||||||
|   computeWound() { |   computeWound() { | ||||||
|     return Math.ceil( (this.data.data.stats.strength.value + this.data.data.stats.endurance.value) / 2) + this.data.data.scores.wound.bonusmalus; |     return Math.ceil( (this.system.stats.strength.value + this.system.stats.endurance.value) / 2) + this.system.scores.wound.bonusmalus; | ||||||
|   } |   } | ||||||
|    |    | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   getSkillExperience( skillName ) { |   getSkillExperience( skillName ) { | ||||||
|     return this.data.items.filter( item => item.type == 'skillexperience' && item.data.skill == skillName); |     return this.items.filter( item => item.type == 'skillexperience' && item.system.skill == skillName); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async wornObject( itemID) { |   async wornObject( itemID) { | ||||||
|     let item = this.items.get(itemID); |     let item = this.items.get(itemID); | ||||||
|     if (item && item.data.data) { |     if (item && item.system) { | ||||||
|       let update = { _id: item.id, "data.worn": !item.data.data.worn }; |       let update = { _id: item.id, "system.worn": !item.system.worn }; | ||||||
|       await this.updateEmbeddedDocuments("Item", [update]); |       await this.updateEmbeddedDocuments("Item", [update]); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| @@ -179,8 +179,8 @@ export class SoSActor extends Actor { | |||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async equipObject(itemID) { |   async equipObject(itemID) { | ||||||
|     let item = this.items.get(itemID) |     let item = this.items.get(itemID) | ||||||
|     if (item && item.data.data) { |     if (item && item.system) { | ||||||
|       let update = { _id: item.id, "data.equiped": !item.data.data.equiped }; |       let update = { _id: item.id, "system.equiped": !item.system.equiped }; | ||||||
|       await this.updateEmbeddedDocuments("Item", [update]); |       await this.updateEmbeddedDocuments("Item", [update]); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| @@ -198,7 +198,7 @@ export class SoSActor extends Actor { | |||||||
|       await this.update( {'data.scores.edge.value': this.computeEdge()}); |       await this.update( {'data.scores.edge.value': this.computeEdge()}); | ||||||
|     } |     } | ||||||
|     // Encumbrance |     // Encumbrance | ||||||
|     if ( this.getEncumbrance() != this.data.data.stats.strength.value ) { |     if ( this.getEncumbrance() != this.system.stats.strength.value ) { | ||||||
|       await this.update( {'data.scores.encumbrance.value': this.computeEncumbrance()   }); |       await this.update( {'data.scores.encumbrance.value': this.computeEncumbrance()   }); | ||||||
|     } |     } | ||||||
|     // Shock |     // Shock | ||||||
| @@ -213,31 +213,31 @@ export class SoSActor extends Actor { | |||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async updateWound(woundName, value) { |   async updateWound(woundName, value) { | ||||||
|     let wounds = duplicate(this.data.data.wounds) |     let wounds = duplicate(this.system.wounds) | ||||||
|     wounds[woundName] = value; |     wounds[woundName] = value; | ||||||
|     await this.update( { 'data.wounds': wounds } ); |     await this.update( { 'system.wounds': wounds } ); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async updateSkill(skillName, value) { |   async updateSkill(skillName, value) { | ||||||
|     let skill = this.data.items.find( item => item.name == skillName); |     let skill = this.items.find( item => item.name == skillName); | ||||||
|     if (skill) { |     if (skill) { | ||||||
|       const update = { _id: skill.id, 'data.value': value }; |       const update = { _id: skill.id, 'system.value': value }; | ||||||
|       const updated = await this.updateEmbeddedDocuments("Item", [ update] ); // Updates one EmbeddedEntity |       const updated = await this.updateEmbeddedDocuments("Item", [ update] ); // Updates one EmbeddedEntity | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async updateSkillExperience(skillName, value) { |   async updateSkillExperience(skillName, value) { | ||||||
|     let skill = this.data.items.find( item => item.name == skillName); |     let skill = this.items.find( item => item.name == skillName); | ||||||
|     if (skill) { |     if (skill) { | ||||||
|       const update = { _id: skill.id, 'data.xp': value }; |       const update = { _id: skill.id, 'system.xp': value }; | ||||||
|       const updated = await this.updateEmbeddedDocuments("Item", [update]); // Updates one EmbeddedEntity |       const updated = await this.updateEmbeddedDocuments("Item", [update]); // Updates one EmbeddedEntity | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   getApplicableConsequences( ) { |   getApplicableConsequences( ) { | ||||||
|     let consequences = this.data.items.filter( item => item.type == 'consequence' && item.data.severity != 'none'); |     let consequences = this.items.filter( item => item.type == 'consequence' && item.system.severity != 'none'); | ||||||
|     return consequences; |     return consequences; | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -246,13 +246,13 @@ export class SoSActor extends Actor { | |||||||
|  |  | ||||||
|     let flipData = { |     let flipData = { | ||||||
|       mode: 'stat', |       mode: 'stat', | ||||||
|       stat: duplicate(this.data.data.stats[statKey]), |       stat: duplicate(this.system.stats[statKey]), | ||||||
|       actor: this, |       actor: this, | ||||||
|       modifierList: SoSUtility.fillRange(-10, +10), |       modifierList: SoSUtility.fillRange(-10, +10), | ||||||
|       tnList: SoSUtility.fillRange(6, 20), |       tnList: SoSUtility.fillRange(6, 20), | ||||||
|       consequencesList: duplicate( this.getApplicableConsequences() ), |       consequencesList: duplicate( this.getApplicableConsequences() ), | ||||||
|       weaknessList: this.data.items.filter( item => item.type == 'weakness' ), |       weaknessList: this.items.filter( item => item.type == 'weakness' ), | ||||||
|       wounds: duplicate( this.data.data.wounds), |       wounds: duplicate( this.system.wounds), | ||||||
|       malusConsequence: 0, |       malusConsequence: 0, | ||||||
|       bonusConsequence: 0, |       bonusConsequence: 0, | ||||||
|       woundMalus: 0 |       woundMalus: 0 | ||||||
| @@ -265,10 +265,10 @@ export class SoSActor extends Actor { | |||||||
|   async rollSkill( skill ) { |   async rollSkill( skill ) { | ||||||
|     let flipData = { |     let flipData = { | ||||||
|       mode: 'skill', |       mode: 'skill', | ||||||
|       statList: duplicate(this.data.data.stats), |       statList: duplicate(this.system.stats), | ||||||
|       selectedStat: 'strength', |       selectedStat: 'strength', | ||||||
|       consequencesList: duplicate( this.getApplicableConsequences() ), |       consequencesList: duplicate( this.getApplicableConsequences() ), | ||||||
|       wounds: duplicate( this.data.data.wounds), |       wounds: duplicate( this.system.wounds), | ||||||
|       skillExperienceList: this.getSkillExperience( skill.name), |       skillExperienceList: this.getSkillExperience( skill.name), | ||||||
|       skill: duplicate(skill), |       skill: duplicate(skill), | ||||||
|       actor: this, |       actor: this, | ||||||
| @@ -288,26 +288,26 @@ export class SoSActor extends Actor { | |||||||
|   async rollWeapon( weapon ) { |   async rollWeapon( weapon ) { | ||||||
|     let target = SoSUtility.getTarget(); |     let target = SoSUtility.getTarget(); | ||||||
|     let skill, selectedStatName; |     let skill, selectedStatName; | ||||||
|     if ( weapon.data.data.category == 'ballistic' || weapon.data.data.category == 'laser'  ) { |     if ( weapon.system.category == 'ballistic' || weapon.system.category == 'laser'  ) { | ||||||
|       skill = this.data.items.find( item => item.name == 'Guns'); |       skill = this.items.find( item => item.name == 'Guns'); | ||||||
|       selectedStatName = 'dexterity'; |       selectedStatName = 'dexterity'; | ||||||
|     } else if ( weapon.data.data.category == 'melee' )  { |     } else if ( weapon.system.category == 'melee' )  { | ||||||
|       skill = this.data.items.find( item => item.name == 'Melee'); |       skill = this.items.find( item => item.name == 'Melee'); | ||||||
|       selectedStatName = 'dexterity'; |       selectedStatName = 'dexterity'; | ||||||
|     } else if ( weapon.data.data.category == 'grenade' ) { |     } else if ( weapon.system.category == 'grenade' ) { | ||||||
|       skill = this.data.items.find( item => item.name == 'Athletics'); |       skill = this.items.find( item => item.name == 'Athletics'); | ||||||
|       selectedStatName = 'dexterity'; |       selectedStatName = 'dexterity'; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     let flipData = { |     let flipData = { | ||||||
|       mode: 'weapon', |       mode: 'weapon', | ||||||
|       weapon: duplicate(weapon.data), |       weapon: duplicate(weapon), | ||||||
|       statList: duplicate(this.data.data.stats), |       statList: duplicate(this.system.stats), | ||||||
|       target: target, |       target: target, | ||||||
|       selectedStat: selectedStatName, |       selectedStat: selectedStatName, | ||||||
|       consequencesList: duplicate( this.getApplicableConsequences() ), |       consequencesList: duplicate( this.getApplicableConsequences() ), | ||||||
|       skillExperienceList: this.getSkillExperience( skill.name), |       skillExperienceList: this.getSkillExperience( skill.name), | ||||||
|       wounds: duplicate( this.data.data.wounds), |       wounds: duplicate( this.system.wounds), | ||||||
|       skill: duplicate(skill), |       skill: duplicate(skill), | ||||||
|       actor: this, |       actor: this, | ||||||
|       modifierList: SoSUtility.fillRange(-10, +10), |       modifierList: SoSUtility.fillRange(-10, +10), | ||||||
| @@ -327,12 +327,12 @@ export class SoSActor extends Actor { | |||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async checkDeath( ) { |   async checkDeath( ) { | ||||||
|     if ( this.data.data.scores.currentwounds.value >= this.data.data.scores.wound.value*2) { |     if ( this.system.scores.currentwounds.value >= this.system.scores.wound.value*2) { | ||||||
|       let woundData = { |       let woundData = { | ||||||
|         name: this.name,  |         name: this.name,  | ||||||
|         wounds: this.data.data.wounds, |         wounds: this.system.wounds, | ||||||
|         currentWounds: this.data.data.scores.currentwounds.value, |         currentWounds: this.system.scores.currentwounds.value, | ||||||
|         totalWounds: this.data.data.scores.wound.value   |         totalWounds: this.system.scores.wound.value   | ||||||
|       } |       } | ||||||
|       let html = await renderTemplate('systems/foundryvtt-shadows-over-sol/templates/chat-character-death.html',  woundData ); |       let html = await renderTemplate('systems/foundryvtt-shadows-over-sol/templates/chat-character-death.html',  woundData ); | ||||||
|       ChatMessage.create( { content: html, whisper: [ChatMessage.getWhisperRecipients(this.name), ChatMessage.getWhisperRecipients("GM") ] } ); |       ChatMessage.create( { content: html, whisper: [ChatMessage.getWhisperRecipients(this.name), ChatMessage.getWhisperRecipients("GM") ] } ); | ||||||
| @@ -341,7 +341,7 @@ export class SoSActor extends Actor { | |||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   computeCurrentWounds( ) { |   computeCurrentWounds( ) { | ||||||
|     let wounds = this.data.data.wounds; |     let wounds = this.system.wounds; | ||||||
|     return wounds.light + (wounds.moderate*2) + (wounds.severe*3) + (wounds.critical*4); |     return wounds.light + (wounds.moderate*2) + (wounds.severe*3) + (wounds.critical*4); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -349,14 +349,14 @@ export class SoSActor extends Actor { | |||||||
|   async applyConsequenceWound( severity, consequenceName) { |   async applyConsequenceWound( severity, consequenceName) { | ||||||
|     if ( severity == 'none') return; // Nothing ! |     if ( severity == 'none') return; // Nothing ! | ||||||
|  |  | ||||||
|     let wounds = duplicate(this.data.data.wounds); |     let wounds = duplicate(this.system.wounds); | ||||||
|     if (severity == 'light' ) wounds.light += 1; |     if (severity == 'light' ) wounds.light += 1; | ||||||
|     if (severity == 'moderate' ) wounds.moderate += 1; |     if (severity == 'moderate' ) wounds.moderate += 1; | ||||||
|     if (severity == 'severe' ) wounds.severe += 1; |     if (severity == 'severe' ) wounds.severe += 1; | ||||||
|     if (severity == 'critical' ) wounds.critical += 1; |     if (severity == 'critical' ) wounds.critical += 1; | ||||||
|  |  | ||||||
|     let sumWound = wounds.light + (wounds.moderate*2) + (wounds.severe*3) + (wounds.critical*4); |     let sumWound = wounds.light + (wounds.moderate*2) + (wounds.severe*3) + (wounds.critical*4); | ||||||
|     let currentWounds = duplicate(this.data.data.scores.currentwounds); |     let currentWounds = duplicate(this.system.scores.currentwounds); | ||||||
|     currentWounds.value = sumWound; |     currentWounds.value = sumWound; | ||||||
|     await this.update( { 'data.scores.currentwounds': currentWounds, 'data.wounds': wounds } ); |     await this.update( { 'data.scores.currentwounds': currentWounds, 'data.wounds': wounds } ); | ||||||
|  |  | ||||||
| @@ -366,7 +366,7 @@ export class SoSActor extends Actor { | |||||||
|       severity: severity,  |       severity: severity,  | ||||||
|       wounds: wounds, |       wounds: wounds, | ||||||
|       currentWounds: sumWound, |       currentWounds: sumWound, | ||||||
|       totalWounds: this.data.data.scores.wound.value |       totalWounds: this.system.scores.wound.value | ||||||
|     } |     } | ||||||
|     let html = await renderTemplate('systems/foundryvtt-shadows-over-sol/templates/chat-damage-consequence.html',  woundData ); |     let html = await renderTemplate('systems/foundryvtt-shadows-over-sol/templates/chat-damage-consequence.html',  woundData ); | ||||||
|     ChatMessage.create( { content: html, whisper: ChatMessage.getWhisperRecipients(this.name).concat(ChatMessage.getWhisperRecipients("GM"))  } ); |     ChatMessage.create( { content: html, whisper: ChatMessage.getWhisperRecipients(this.name).concat(ChatMessage.getWhisperRecipients("GM"))  } ); | ||||||
| @@ -376,22 +376,22 @@ export class SoSActor extends Actor { | |||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async addObjectToContainer( itemId, containerId ) { |   async addObjectToContainer( itemId, containerId ) { | ||||||
|     let container = this.data.items.find( item => item.id == containerId && item.type == 'container') |     let container = this.items.find( item => item.id == containerId && item.type == 'container') | ||||||
|     let object = this.data.items.find( item => item.id == itemId ) |     let object = this.items.find( item => item.id == itemId ) | ||||||
|     console.log("Found", container, object) |     console.log("Found", container, object) | ||||||
|     if ( container ) { |     if ( container ) { | ||||||
|       if ( object.type == 'container') { |       if ( object.type == 'container') { | ||||||
|         ui.notifications.warn("Only 1 level of container... sorry"); |         ui.notifications.warn("Only 1 level of container... sorry"); | ||||||
|         return |         return | ||||||
|       } |       } | ||||||
|       let alreadyInside = this.data.items.filter( item => item.data.data.containerid && item.data.data.containerid == containerId); |       let alreadyInside = this.items.filter( item => item.system.containerid && item.system.containerid == containerId); | ||||||
|       if ( alreadyInside.length >= container.data.data.container ) { |       if ( alreadyInside.length >= container.system.container ) { | ||||||
|         ui.notifications.warn("Container is already full !"); |         ui.notifications.warn("Container is already full !"); | ||||||
|       } else {  |       } else {  | ||||||
|         await this.updateEmbeddedDocuments( "Item", [{ _id: object.id, 'data.containerid':containerId }]); |         await this.updateEmbeddedDocuments( "Item", [{ _id: object.id, 'system.containerid':containerId }]); | ||||||
|       } |       } | ||||||
|     } else if ( object && object.data.data.containerid) { // remove from container |     } else if ( object && object.system.containerid) { // remove from container | ||||||
|       await this.updateEmbeddedDocuments( "Item", [{ _id: object.id, 'data.containerid':"" }]); |       await this.updateEmbeddedDocuments( "Item", [{ _id: object.id, 'system.containerid':"" }]); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -403,7 +403,7 @@ export class SoSActor extends Actor { | |||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     let wounds = duplicate(this.data.data.wounds); |     let wounds = duplicate(this.system.wounds); | ||||||
|     for (let wound of flipData.woundsList ) { |     for (let wound of flipData.woundsList ) { | ||||||
|       if (wound == 'L' ) wounds.light += 1; |       if (wound == 'L' ) wounds.light += 1; | ||||||
|       if (wound == 'M' ) wounds.moderate += 1; |       if (wound == 'M' ) wounds.moderate += 1; | ||||||
| @@ -412,30 +412,30 @@ export class SoSActor extends Actor { | |||||||
|     } |     } | ||||||
|     // Compute total |     // Compute total | ||||||
|     let sumWound = wounds.light + (wounds.moderate*2) + (wounds.severe*3) + (wounds.critical*4); |     let sumWound = wounds.light + (wounds.moderate*2) + (wounds.severe*3) + (wounds.critical*4); | ||||||
|     let currentWounds = duplicate(this.data.data.scores.currentwounds); |     let currentWounds = duplicate(this.system.scores.currentwounds); | ||||||
|     currentWounds.value = sumWound; |     currentWounds.value = sumWound; | ||||||
|     if ( sumWound >= this.data.data.scores.wound.value) { |     if ( sumWound >= this.system.scores.wound.value) { | ||||||
|       let bleeding = this.data.items.find( item => item.type == 'consequence' && item.name == 'Bleeding'); |       let bleeding = this.items.find( item => item.type == 'consequence' && item.name == 'Bleeding'); | ||||||
|       let newSeverity = SoSUtility.increaseConsequenceSeverity( bleeding.data.severity ); |       let newSeverity = SoSUtility.increaseConsequenceSeverity( bleeding.system.severity ); | ||||||
|       await this.updateEmbeddedDocuments( "Item", [ { _id: bleeding.id, 'data.severity': newSeverity} ] ); |       await this.updateEmbeddedDocuments( "Item", [ { _id: bleeding.id, 'system.severity': newSeverity} ] ); | ||||||
|       flipData.isBleeding = newSeverity; |       flipData.isBleeding = newSeverity; | ||||||
|     } |     } | ||||||
|     // Stun consequence |     // Stun consequence | ||||||
|     if ( flipData.nbStun > 0) { |     if ( flipData.nbStun > 0) { | ||||||
|       let stun = this.data.items.find( item => item.type == 'consequence' && item.name == 'Stun'); |       let stun = this.items.find( item => item.type == 'consequence' && item.name == 'Stun'); | ||||||
|       let newSeverity = stun.data.severity; |       let newSeverity = stun.system.severity; | ||||||
|       for(let i=0; i<flipData.nbStun; i++) { |       for(let i=0; i<flipData.nbStun; i++) { | ||||||
|         newSeverity = SoSUtility.increaseConsequenceSeverity( newSeverity ); |         newSeverity = SoSUtility.increaseConsequenceSeverity( newSeverity ); | ||||||
|       } |       } | ||||||
|       await this.updateEmbeddedDocuments( "Item", [ { _id: stun.id, 'data.severity': newSeverity} ] ); |       await this.updateEmbeddedDocuments( "Item", [ { _id: stun.id, 'system.severity': newSeverity} ] ); | ||||||
|       flipData.isStun = newSeverity; |       flipData.isStun = newSeverity; | ||||||
|     } |     } | ||||||
|     await this.update( { 'data.scores.currentwounds': currentWounds, 'data.wounds': wounds } ); |     await this.update( { 'data.scores.currentwounds': currentWounds, 'system.wounds': wounds } ); | ||||||
|  |  | ||||||
|     flipData.defenderName = this.name; |     flipData.defenderName = this.name; | ||||||
|     flipData.wounds = wounds; |     flipData.wounds = wounds; | ||||||
|     flipData.currentWounds = sumWound; |     flipData.currentWounds = sumWound; | ||||||
|     flipData.totalWounds = this.data.data.scores.wound.value; |     flipData.totalWounds = this.system.scores.wound.value; | ||||||
|     let html = await renderTemplate('systems/foundryvtt-shadows-over-sol/templates/chat-damage-taken.html', flipData ); |     let html = await renderTemplate('systems/foundryvtt-shadows-over-sol/templates/chat-damage-taken.html', flipData ); | ||||||
|     ChatMessage.create( { content: html, whisper: [ChatMessage.getWhisperRecipients(this.name), ChatMessage.getWhisperRecipients("GM") ] } ); |     ChatMessage.create( { content: html, whisper: [ChatMessage.getWhisperRecipients(this.name), ChatMessage.getWhisperRecipients("GM") ] } ); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -43,7 +43,7 @@ export class SoSItemSheet extends ItemSheet { | |||||||
|    |    | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   async getData() { |   async getData() { | ||||||
|     const objectData = SoSUtility.data(this.object); |     const objectData = this.object | ||||||
|     let formData = { |     let formData = { | ||||||
|       title: this.title, |       title: this.title, | ||||||
|       id: objectData.id, |       id: objectData.id, | ||||||
| @@ -52,8 +52,8 @@ export class SoSItemSheet extends ItemSheet { | |||||||
|       name: objectData.name, |       name: objectData.name, | ||||||
|       editable: this.isEditable, |       editable: this.isEditable, | ||||||
|       cssClass: this.isEditable ? "editable" : "locked", |       cssClass: this.isEditable ? "editable" : "locked", | ||||||
|       data: foundry.utils.deepClone(this.object.data), |       data: foundry.utils.deepClone(this.object.system), | ||||||
|       effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)), |       effects: this.object.effects.map(e => foundry.utils.deepClone(e.system)), | ||||||
|       limited: this.object.limited, |       limited: this.object.limited, | ||||||
|       options: this.options, |       options: this.options, | ||||||
|       owner: this.document.isOwner |       owner: this.document.isOwner | ||||||
| @@ -61,10 +61,10 @@ export class SoSItemSheet extends ItemSheet { | |||||||
|  |  | ||||||
|     formData.isGM = game.user.isGM;  |     formData.isGM = game.user.isGM;  | ||||||
|     if ( objectData.type == 'skillexperience') { |     if ( objectData.type == 'skillexperience') { | ||||||
|       formData.skillList = await SoSUtility.loadCompendiumNames("foundryvtt-shadows-over-sol.skills"); |       formData.skillList = await SoSUtility.loadCompendiumNames("foundryvtt-shadows-over-sol.skills") | ||||||
|     } |     } | ||||||
|     if ( objectData.type == 'skill' && this.object.options?.actor) { |     if ( objectData.type == 'skill' && this.object.options?.actor) { | ||||||
|       formData.skillExperienceList = this.object.options.actor.getSkillExperience( data.item.name ); |       formData.skillExperienceList = this.object.options.actor.getSkillExperience( objectData.name ) | ||||||
|     } |     } | ||||||
|     return formData; |     return formData; | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ export class SoSCombat extends Combat { | |||||||
|       for( let combatant of this.combatants) { |       for( let combatant of this.combatants) { | ||||||
|         this.setInitiative(combatant._id, -1 ); // Reset init |         this.setInitiative(combatant._id, -1 ); // Reset init | ||||||
|         let uniq = randomID(16); |         let uniq = randomID(16); | ||||||
|         const name = combatant.actor ? combatant.actor.data.name : combatant.name; |         const name = combatant.actor ? combatant.actor.name : combatant.name; | ||||||
|         if ( combatant.players[0]) { |         if ( combatant.players[0]) { | ||||||
|           // A player controls this combatant -> message ! |           // A player controls this combatant -> message ! | ||||||
|           ChatMessage.create( { content: `New round ! Click on the button below to declare the actions of ${name} for round ${this.round} !<br> |           ChatMessage.create( { content: `New round ! Click on the button below to declare the actions of ${name} for round ${this.round} !<br> | ||||||
|   | |||||||
| @@ -30,7 +30,7 @@ export class SoSFlipDialog extends Dialog { | |||||||
|     if ( this.flipData.mode == 'skill' || this.flipData.mode == 'weapon' ) { |     if ( this.flipData.mode == 'skill' || this.flipData.mode == 'weapon' ) { | ||||||
|       let statKey = $('#statSelect').val(); |       let statKey = $('#statSelect').val(); | ||||||
|       this.flipData.stat = duplicate( this.flipData.statList[ statKey ] ); |       this.flipData.stat = duplicate( this.flipData.statList[ statKey ] ); | ||||||
|       scoreBase = Math.floor(this.flipData.statList[ statKey ].value / 2) + this.flipData.skill.data.value; |       scoreBase = Math.floor(this.flipData.statList[ statKey ].value / 2) + this.flipData.skill.system.value | ||||||
|     } else { //Stat mode |     } else { //Stat mode | ||||||
|       let statKey = $('#statSelect').val(); |       let statKey = $('#statSelect').val(); | ||||||
|       scoreBase = this.flipData.stat.value;   |       scoreBase = this.flipData.stat.value;   | ||||||
| @@ -62,7 +62,7 @@ export class SoSFlipDialog extends Dialog { | |||||||
|     $('.edge-card').click((event) => { |     $('.edge-card').click((event) => { | ||||||
|       let flipData = this.flipData; |       let flipData = this.flipData; | ||||||
|       flipData.modifier = $('#modifier').val(); |       flipData.modifier = $('#modifier').val(); | ||||||
|       flipData.tn = (flipData.target) ? flipData.target.actor.data.data.scores.defense.value : $('#tn').val(); |       flipData.tn = (flipData.target) ? flipData.target.actor.system.scores.defense.value : $('#tn').val(); | ||||||
|       flipData.edgeName = event.currentTarget.attributes['data-edge-card'].value; |       flipData.edgeName = event.currentTarget.attributes['data-edge-card'].value; | ||||||
|       flipData.edgeLuck = $('#edge-luck').is(":checked"); |       flipData.edgeLuck = $('#edge-luck').is(":checked"); | ||||||
|       flipData.cardOrigin = "Edge"; |       flipData.cardOrigin = "Edge"; | ||||||
| @@ -94,7 +94,7 @@ export class SoSFlipDialog extends Dialog { | |||||||
|     for (let consequenceId of this.flipData.consequencesSelected) { |     for (let consequenceId of this.flipData.consequencesSelected) { | ||||||
|       let consequence = this.flipData.consequencesList.find( item => item._id == consequenceId); |       let consequence = this.flipData.consequencesList.find( item => item._id == consequenceId); | ||||||
|       console.log(consequence, consequenceId); |       console.log(consequence, consequenceId); | ||||||
|       malusConsequence += SoSUtility.getConsequenceMalus( consequence.data.severity );       |       malusConsequence += SoSUtility.getConsequenceMalus( consequence.system.severity );       | ||||||
|     } |     } | ||||||
|     $('#consequence-malus').text(malusConsequence); |     $('#consequence-malus').text(malusConsequence); | ||||||
|     this.flipData.malusConsequence = malusConsequence; |     this.flipData.malusConsequence = malusConsequence; | ||||||
| @@ -108,7 +108,7 @@ export class SoSFlipDialog extends Dialog { | |||||||
|     for (let consequenceId of this.flipData.consequencesSelected) { |     for (let consequenceId of this.flipData.consequencesSelected) { | ||||||
|       let consequence = this.flipData.consequencesList.find( item => item._id == consequenceId); |       let consequence = this.flipData.consequencesList.find( item => item._id == consequenceId); | ||||||
|       console.log(consequence, consequenceId); |       console.log(consequence, consequenceId); | ||||||
|       bonusConsequence += SoSUtility.getConsequenceBonus( consequence.data.severity );       |       bonusConsequence += SoSUtility.getConsequenceBonus( consequence.system.severity );       | ||||||
|     } |     } | ||||||
|     $('#consequence-bonus').text(bonusConsequence); |     $('#consequence-bonus').text(bonusConsequence); | ||||||
|     this.flipData.bonusConsequence = bonusConsequence; |     this.flipData.bonusConsequence = bonusConsequence; | ||||||
| @@ -164,7 +164,7 @@ export class SoSFlipDialog extends Dialog { | |||||||
|         flipData.stat = duplicate( flipData.statList[ statKey ] ); |         flipData.stat = duplicate( flipData.statList[ statKey ] ); | ||||||
|       } |       } | ||||||
|       flipData.cardOrigin = "Deck"; |       flipData.cardOrigin = "Deck"; | ||||||
|       flipData.tn = (flipData.target) ? flipData.target.actor.data.data.scores.defense.value : $('#tn').val(); |       flipData.tn = (flipData.target) ? flipData.target.actor.system.scores.defense.value : $('#tn').val(); | ||||||
|       dialog.flipData.actor.cardDeck.doFlipFromDeckOrEdge(flipData); |       dialog.flipData.actor.cardDeck.doFlipFromDeckOrEdge(flipData); | ||||||
|       dialog.onFlipClose(); |       dialog.onFlipClose(); | ||||||
|     }); |     }); | ||||||
|   | |||||||
| @@ -97,6 +97,7 @@ function registerUsageCount( registerKey ) { | |||||||
|       name: "Unique world key", |       name: "Unique world key", | ||||||
|       scope: "world", |       scope: "world", | ||||||
|       config: false, |       config: false, | ||||||
|  |       default: "XXX", | ||||||
|       type: String |       type: String | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
| @@ -106,7 +107,7 @@ function registerUsageCount( registerKey ) { | |||||||
|       game.settings.set(registerKey, "world-key", worldKey ) |       game.settings.set(registerKey, "world-key", worldKey ) | ||||||
|     } |     } | ||||||
|     // Simple API counter |     // Simple API counter | ||||||
|     let regURL = `https://www.uberwald.me/fvtt_appcount/count.php?name="${registerKey}"&worldKey="${worldKey}"&version="${game.release.generation}.${game.release.build}"&system="${game.system.id}"&systemversion="${game.system.data.version}"` |     let regURL = `https://www.uberwald.me/fvtt_appcount/count.php?name="${registerKey}"&worldKey="${worldKey}"&version="${game.release.generation}.${game.release.build}"&system="${game.system.id}"&systemversion="${game.system.version}"` | ||||||
|     $.ajax(regURL) |     $.ajax(regURL) | ||||||
|     /* -------------------------------------------- */ |     /* -------------------------------------------- */ | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -55,20 +55,6 @@ export class SoSUtility  { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |  | ||||||
|   static data(it) { |  | ||||||
|     if (it instanceof Actor || it instanceof Item || it instanceof Combatant) { |  | ||||||
|       return it.data; |  | ||||||
|     } |  | ||||||
|     return it; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |  | ||||||
|   static templateData(it) { |  | ||||||
|     return SoSUtility.data(it)?.data ?? {} |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   static async loadCompendiumData(compendium) { |   static async loadCompendiumData(compendium) { | ||||||
|     const pack = game.packs.get(compendium); |     const pack = game.packs.get(compendium); | ||||||
| @@ -411,13 +397,14 @@ export class SoSUtility  { | |||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|   static async processItemDropEvent(actorSheet, event) { |   static async processItemDropEvent(actorSheet, event) { | ||||||
|     let dragData = JSON.parse(event.dataTransfer.getData("text/plain")); |     let dragData = JSON.parse(event.dataTransfer.getData("text/plain")); | ||||||
|     let dropID = $(event.target).parents(".item").attr("data-item-id"); // Only relevant if container drop |     const item = fromUuidSync(dragData.uuid) | ||||||
|     let objectID = dragData.id || dragData.data._id; |     let dropId = $(event.target).parents(".item").attr("data-item-id"); // Only relevant if container drop | ||||||
|     //console.log("drag/drop", dragData, actorSheet.actor._id, dropID, objectID); |     let objectId = item.id | ||||||
|     if (dragData.type == 'Item' && dropID) { |     console.log("ID", dragData, dropId, objectId) | ||||||
|       actorSheet.actor.addObjectToContainer(objectID, dropID ); |     if (dragData.type == 'Item' && dropId) { | ||||||
|  |       actorSheet.actor.addObjectToContainer(objectId, dropId ); | ||||||
|     } |     } | ||||||
|     return true; |     return true | ||||||
|   } |   } | ||||||
|  |  | ||||||
| } | } | ||||||
							
								
								
									
										17
									
								
								system.json
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								system.json
									
									
									
									
									
								
							| @@ -1,5 +1,5 @@ | |||||||
| { | { | ||||||
|   "name": "foundryvtt-shadows-over-sol", |   "id": "foundryvtt-shadows-over-sol", | ||||||
|   "title": "Shadows over Sol", |   "title": "Shadows over Sol", | ||||||
|   "description": "Shadows over Sol for FoundryVTT", |   "description": "Shadows over Sol for FoundryVTT", | ||||||
|   "author": "LeRatierBretonnien", |   "author": "LeRatierBretonnien", | ||||||
| @@ -7,9 +7,13 @@ | |||||||
|   "url": "https://www.uberwald.me/gitea/public/foundryvtt-shadows-over-sol/", |   "url": "https://www.uberwald.me/gitea/public/foundryvtt-shadows-over-sol/", | ||||||
|   "license": "LICENSE.txt", |   "license": "LICENSE.txt", | ||||||
|   "flags": {}, |   "flags": {}, | ||||||
|   "version": "2.0.6", |   "version": "10.0.0", | ||||||
|   "minimumCoreVersion": "0.8.0", |   "compatibility": { | ||||||
|   "compatibleCoreVersion": "9", |     "minimum": 10, | ||||||
|  |     "verified": 10, | ||||||
|  |     "maximum": 10 | ||||||
|  |   }, | ||||||
|  |   "templateVersion": 50, | ||||||
|   "scripts": [], |   "scripts": [], | ||||||
|   "esmodules": [ |   "esmodules": [ | ||||||
|     "module/sos-main.js" |     "module/sos-main.js" | ||||||
| @@ -98,11 +102,10 @@ | |||||||
|       "private": false |       "private": false | ||||||
|     } |     } | ||||||
|   ], |   ], | ||||||
|   "system": [], |   "relationships": { }, | ||||||
|   "dependencies": [], |  | ||||||
|   "socket": true, |   "socket": true, | ||||||
|   "manifest": "https://www.uberwald.me/gitea/public/foundryvtt-shadows-over-sol/raw/branch/master/system.json", |   "manifest": "https://www.uberwald.me/gitea/public/foundryvtt-shadows-over-sol/raw/branch/master/system.json", | ||||||
|   "download": "https://www.uberwald.me/gitea/public/foundryvtt-shadows-over-sol/archive/foundryvtt-shadows-over-sol-2.0.6.zip", |   "download": "https://www.uberwald.me/gitea/public/foundryvtt-shadows-over-sol/archive/foundryvtt-shadows-over-sol-10.0.0.zip", | ||||||
|   "protected": false, |   "protected": false, | ||||||
|   "gridDistance": 5, |   "gridDistance": 5, | ||||||
|   "gridUnits": "ft" |   "gridUnits": "ft" | ||||||
|   | |||||||
| @@ -5,8 +5,8 @@ | |||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|       <div class="header-fields"> |       <div class="header-fields"> | ||||||
|         <div class="flexrow"> |         <div class="flexrow"> | ||||||
|           <img class="profile-img" src="{{actor.img}}" data-edit="img" title="{{data.name}}" /> |           <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" /> | ||||||
|           <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |           <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|     </header> |     </header> | ||||||
| @@ -37,23 +37,23 @@ | |||||||
|                   <span class="stat-label flexrow tooltip tooltip-nobottom" name="statlabel">XP</span> |                   <span class="stat-label flexrow tooltip tooltip-nobottom" name="statlabel">XP</span> | ||||||
|                 </li> |                 </li> | ||||||
|  |  | ||||||
|                   {{#each data.data.stats as |stat key|}} |                   {{#each data.stats as |stat key|}} | ||||||
|                     {{#if stat.isLevelUp}} |                     {{#if stat.isLevelUp}} | ||||||
|                     <li class="stat flexrow xp-level-up" data-attribute="{{key}}"> |                     <li class="stat flexrow xp-level-up" data-attribute="{{key}}"> | ||||||
|                       <span class="stat-label flexrow tooltip tooltip-nobottom" name="data.stats.{{key}}.label"> |                       <span class="stat-label flexrow tooltip tooltip-nobottom" name="system.stats.{{key}}.label"> | ||||||
|                         <span class="tooltiptext ttt-xp"> |                         <span class="tooltiptext ttt-xp"> | ||||||
|                           {{localize 'STAT.levelUp'}} |                           {{localize 'STAT.levelUp'}} | ||||||
|                       </span> |                       </span> | ||||||
|                       {{else}} |                       {{else}} | ||||||
|                       <li class="stat flexrow list-item" data-attribute="{{key}}"> |                       <li class="stat flexrow list-item" data-attribute="{{key}}"> | ||||||
|                       {{/if}} |                       {{/if}} | ||||||
|                       <span class="stat-label flexrow tooltip tooltip-nobottom" name="data.stat.{{key}}.label"><a name={{key}}>{{localize stat.label}}</a></span> |                       <span class="stat-label flexrow tooltip tooltip-nobottom" name="system.stat.{{key}}.label"><a name={{key}}>{{localize stat.label}}</a></span> | ||||||
|                       <select class="stat-value flexrow" type="text" name="data.stats.{{key}}.value" value="{{stat.value}}" data-dtype="Number" {{#unless @root.editStatSkill}}disabled{{/unless}}> |                       <select class="stat-value flexrow" type="text" name="system.stats.{{key}}.value" value="{{stat.value}}" data-dtype="Number" {{#unless @root.editStatSkill}}disabled{{/unless}}> | ||||||
|                         {{#select stat.value}} |                         {{#select stat.value}} | ||||||
|                         {{>"systems/foundryvtt-shadows-over-sol/templates/stat-option-list.html"}} |                         {{>"systems/foundryvtt-shadows-over-sol/templates/stat-option-list.html"}} | ||||||
|                         {{/select}} |                         {{/select}} | ||||||
|                       </select>      |                       </select>      | ||||||
|                       <input class="stat-xp flexrow" type="text" name="data.stats.{{key}}.xp" value="{{stat.xp}}" data-dtype="Number" {{#unless @root.editStatSkill}}disabled{{/unless}} /> |                       <input class="stat-xp flexrow" type="text" name="system.stats.{{key}}.xp" value="{{stat.xp}}" data-dtype="Number" {{#unless @root.editStatSkill}}disabled{{/unless}} /> | ||||||
|                       <span class="flexrow"><img class="cardsuit-img" src="systems/foundryvtt-shadows-over-sol/img/cards/{{stat.cardsuit}}.webp" /></span> |                       <span class="flexrow"><img class="cardsuit-img" src="systems/foundryvtt-shadows-over-sol/img/cards/{{stat.cardsuit}}.webp" /></span> | ||||||
|                       </li> |                       </li> | ||||||
|                 {{/each}} |                 {{/each}} | ||||||
| @@ -66,14 +66,14 @@ | |||||||
|                   <span class="generic-label flexrow tooltip tooltip-nobottom" name="statlabel">Value</span> |                   <span class="generic-label flexrow tooltip tooltip-nobottom" name="statlabel">Value</span> | ||||||
|                   <span class="generic-label flexrow tooltip tooltip-nobottom" name="statlabel">Bonus/Malus</span> |                   <span class="generic-label flexrow tooltip tooltip-nobottom" name="statlabel">Bonus/Malus</span> | ||||||
|                 </li> |                 </li> | ||||||
|                 {{#each data.data.scores as |score key|}} |                 {{#each data.scores as |score key|}} | ||||||
|                   <li class="stat flexrow list-item" data-attribute="{{key}}"> |                   <li class="stat flexrow list-item" data-attribute="{{key}}"> | ||||||
|                     <span class="generic-label flexrow tooltip tooltip-nobottom" name="data.scores.{{key}}.label">{{localize score.label}}</span>                     |                     <span class="generic-label flexrow tooltip tooltip-nobottom" name="system.scores.{{key}}.label">{{localize score.label}}</span>                     | ||||||
|                     <input class="stat-value flexrow" type="text" name="data.scores.{{key}}.value" value="{{score.value}}" data-dtype="Number" {{#unless @root.editStatSkill}}disabled{{/unless}} /> |                     <input class="stat-value flexrow" type="text" name="system.scores.{{key}}.value" value="{{score.value}}" data-dtype="Number" {{#unless @root.editStatSkill}}disabled{{/unless}} /> | ||||||
|                     {{#if (eq key 'defense')}} |                     {{#if (eq key 'defense')}} | ||||||
|                     <input class="stat-value flexrow" type="text" name="data.scores.{{key}}.critical" value="{{score.critical}}" data-dtype="Number" {{#unless @root.editStatSkill}}disabled{{/unless}} /> |                     <input class="stat-value flexrow" type="text" name="system.scores.{{key}}.critical" value="{{score.critical}}" data-dtype="Number" {{#unless @root.editStatSkill}}disabled{{/unless}} /> | ||||||
|                     {{/if}} |                     {{/if}} | ||||||
|                     <input class="stat-value flexrow" type="text" name="data.scores.{{key}}.bonusmalus" value="{{score.bonusmalus}}" data-dtype="Number" {{#unless @root.editStatSkill}}disabled{{/unless}} /> |                     <input class="stat-value flexrow" type="text" name="system.scores.{{key}}.bonusmalus" value="{{score.bonusmalus}}" data-dtype="Number" {{#unless @root.editStatSkill}}disabled{{/unless}} /> | ||||||
|                   </li> |                   </li> | ||||||
|                 {{/each}} |                 {{/each}} | ||||||
|               </ul>           |               </ul>           | ||||||
| @@ -116,13 +116,13 @@ | |||||||
|           <div class="flex-group-left flexcol skill-column"> |           <div class="flex-group-left flexcol skill-column"> | ||||||
|             <ul class="item-list alterne-list"> |             <ul class="item-list alterne-list"> | ||||||
|               {{#each skill1 as |skill key|}} |               {{#each skill1 as |skill key|}} | ||||||
|                 {{#if skill.data.isLevelUp}} |                 {{#if skill.system.isLevelUp}} | ||||||
|                 <li class="item flexrow xp-level-up" data-item-id="{{skill.id}}"> |                 <li class="item flexrow xp-level-up" data-item-id="{{skill.id}}"> | ||||||
|                 {{else}} |                 {{else}} | ||||||
|                 <li class="item flexrow list-item" data-item-id="{{skill.id}}"> |                 <li class="item flexrow list-item" data-item-id="{{skill.id}}"> | ||||||
|                 {{/if}} |                 {{/if}} | ||||||
|                   <img class="sheet-skill-img" src="{{skill.img}}"/> |                   <img class="sheet-skill-img" src="{{skill.img}}"/> | ||||||
|                   {{#if skill.data.isLevelUp}} |                   {{#if skill.system.isLevelUp}} | ||||||
|                   <span class="skill-label tooltip tooltip-nobottom"> |                   <span class="skill-label tooltip tooltip-nobottom"> | ||||||
|                     <span class="tooltiptext ttt-xp"> |                     <span class="tooltiptext ttt-xp"> | ||||||
|                     </span> |                     </span> | ||||||
| @@ -130,8 +130,8 @@ | |||||||
|                   {{else}}                           |                   {{else}}                           | ||||||
|                   <span class="skill-label"><a>{{skill.name}}</a></span> |                   <span class="skill-label"><a>{{skill.name}}</a></span> | ||||||
|                   {{/if}} |                   {{/if}} | ||||||
|                   <input class="skill-value" type="text" skillname="{{skill.name}}" value="{{numberFormat skill.data.data.value decimals=0}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> |                   <input class="skill-value" type="text" skillname="{{skill.name}}" value="{{numberFormat skill.system.value decimals=0}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> | ||||||
|                   <input class="skill-xp" type="text" skillname="{{skill.name}}" value="{{skill.data.data.xp}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> |                   <input class="skill-xp" type="text" skillname="{{skill.name}}" value="{{skill.system.xp}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> | ||||||
|                   <div class="item-controls"> |                   <div class="item-controls"> | ||||||
|                     <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> |                     <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> | ||||||
|                     <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> |                     <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> | ||||||
| @@ -144,13 +144,13 @@ | |||||||
|           <div class="flex-group-left flexcol skill-column"> |           <div class="flex-group-left flexcol skill-column"> | ||||||
|             <ul class="item-list alterne-list"> |             <ul class="item-list alterne-list"> | ||||||
|               {{#each skill2 as |skill key|}} |               {{#each skill2 as |skill key|}} | ||||||
|                 {{#if skill.data.isLevelUp}} |                 {{#if skill.system.isLevelUp}} | ||||||
|                 <li class="item flexrow xp-level-up" data-item-id="{{skill.id}}"> |                 <li class="item flexrow xp-level-up" data-item-id="{{skill.id}}"> | ||||||
|                 {{else}} |                 {{else}} | ||||||
|                 <li class="item flexrow list-item" data-item-id="{{skill.id}}"> |                 <li class="item flexrow list-item" data-item-id="{{skill.id}}"> | ||||||
|                 {{/if}} |                 {{/if}} | ||||||
|                   <img class="sheet-skill-img" src="{{skill.img}}"/> |                   <img class="sheet-skill-img" src="{{skill.img}}"/> | ||||||
|                   {{#if skill.data.isLevelUp}} |                   {{#if skill.system.isLevelUp}} | ||||||
|                   <span class="skill-label tooltip tooltip-nobottom"> |                   <span class="skill-label tooltip tooltip-nobottom"> | ||||||
|                     <span class="tooltiptext ttt-xp"> |                     <span class="tooltiptext ttt-xp"> | ||||||
|                     </span> |                     </span> | ||||||
| @@ -158,8 +158,8 @@ | |||||||
|                   {{else}}                           |                   {{else}}                           | ||||||
|                   <span class="skill-label"><a>{{skill.name}}</a></span> |                   <span class="skill-label"><a>{{skill.name}}</a></span> | ||||||
|                   {{/if}} |                   {{/if}} | ||||||
|                   <input class="skill-value" type="text" skillname="{{skill.name}}" value="{{numberFormat skill.data.data.value decimals=0}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> |                   <input class="skill-value" type="text" skillname="{{skill.name}}" value="{{numberFormat skill.system.value decimals=0}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> | ||||||
|                   <input class="skill-xp" type="text" skillname="{{skill.name}}" value="{{skill.data.data.xp}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> |                   <input class="skill-xp" type="text" skillname="{{skill.name}}" value="{{skill.system.xp}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> | ||||||
|                   <div class="item-controls"> |                   <div class="item-controls"> | ||||||
|                     <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> |                     <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> | ||||||
|                     <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> |                     <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> | ||||||
| @@ -182,16 +182,16 @@ | |||||||
|               <ul class="item-list alterne-list"> |               <ul class="item-list alterne-list"> | ||||||
|                 <li class="item flexrow list-item" data-wound-name="light"><h4>Wounds : </h4></li> |                 <li class="item flexrow list-item" data-wound-name="light"><h4>Wounds : </h4></li> | ||||||
|                 <li class="item flexrow list-item" data-wound-name="light"><span class="skill-label">Light :</span> |                 <li class="item flexrow list-item" data-wound-name="light"><span class="skill-label">Light :</span> | ||||||
|                   <input class="wound-value" type="text" woundname="light" value="{{numberFormat data.data.wounds.light decimals=0}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> |                   <input class="wound-value" type="text" woundname="light" value="{{numberFormat data.wounds.light decimals=0}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> | ||||||
|                 </li> |                 </li> | ||||||
|                 <li class="item flexrow list-item" data-wound-name="moderate"><span class="skill-label">Moderate :</span>  |                 <li class="item flexrow list-item" data-wound-name="moderate"><span class="skill-label">Moderate :</span>  | ||||||
|                   <input class="wound-value" type="text" woundname="moderate" value="{{numberFormat data.data.wounds.moderate decimals=0}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> |                   <input class="wound-value" type="text" woundname="moderate" value="{{numberFormat data.wounds.moderate decimals=0}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> | ||||||
|                 </li> |                 </li> | ||||||
|                 <li class="item flexrow list-item" data-wound-name="severe"><span class="skill-label">Severe :</span> |                 <li class="item flexrow list-item" data-wound-name="severe"><span class="skill-label">Severe :</span> | ||||||
|                 <input class="wound-value" type="text" woundname="severe" value="{{numberFormat data.data.wounds.severe decimals=0}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> |                 <input class="wound-value" type="text" woundname="severe" value="{{numberFormat data.wounds.severe decimals=0}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> | ||||||
|                 </li> |                 </li> | ||||||
|                 <li class="item flexrow list-item" data-wound-name="critical"><span class="skill-label">Critical :</span>  |                 <li class="item flexrow list-item" data-wound-name="critical"><span class="skill-label">Critical :</span>  | ||||||
|                   <input class="wound-value" type="text" woundname="critical" value="{{numberFormat data.data.wounds.critical decimals=0}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> |                   <input class="wound-value" type="text" woundname="critical" value="{{numberFormat data.wounds.critical decimals=0}}" data-dtype="number" {{#unless @root.editStatSkill}}disabled{{/unless}}/> | ||||||
|                 </li> |                 </li> | ||||||
|                 <li class="item flexrow list-item" data-wound-name="critical"><span class="skill-label">Total :</span>  |                 <li class="item flexrow list-item" data-wound-name="critical"><span class="skill-label">Total :</span>  | ||||||
|                   <span class="skill-label">{{data.currentWounds}} / {{data.totalWounds}}</span> |                   <span class="skill-label">{{data.currentWounds}} / {{data.totalWounds}}</span> | ||||||
| @@ -204,8 +204,8 @@ | |||||||
|                 <li class="item flexrow list-item" data-item-id="{{conseq.id}}"> |                 <li class="item flexrow list-item" data-item-id="{{conseq.id}}"> | ||||||
|                   <img class="sheet-skill-img" src="{{conseq.img}}"/> |                   <img class="sheet-skill-img" src="{{conseq.img}}"/> | ||||||
|                   <span class="conseq-label">{{conseq.name}}</span> |                   <span class="conseq-label">{{conseq.name}}</span> | ||||||
|                   <select class="consequence-severity" type="text" name="conseq.data.data.severity" value="{{conseq.data.data.severity}}" data-dtype="String"> |                   <select class="consequence-severity" type="text" name="conseq.system.severity" value="{{conseq.system.severity}}" data-dtype="String"> | ||||||
|                     {{#select conseq.data.data.severity}} |                     {{#select conseq.system.severity}} | ||||||
|                     <option value="none">None</option> |                     <option value="none">None</option> | ||||||
|                     <option value="light">Light</option> |                     <option value="light">Light</option> | ||||||
|                     <option value="moderate">Moderate</option> |                     <option value="moderate">Moderate</option> | ||||||
| @@ -236,7 +236,7 @@ | |||||||
|               <img class="sheet-skill-img" src="{{weapon.img}}"/> |               <img class="sheet-skill-img" src="{{weapon.img}}"/> | ||||||
|               <span class="weapon-label"><a>{{weapon.name}}</a></span> |               <span class="weapon-label"><a>{{weapon.name}}</a></span> | ||||||
|               <div class="item-controls"> |               <div class="item-controls"> | ||||||
|                 <a class="item-control item-equip" title="Equipped">{{#if weapon.data.data.equiped}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> |                 <a class="item-control item-equip" title="Equipped">{{#if weapon.system.equiped}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> | ||||||
|                 <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> |                 <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> | ||||||
|                 <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> |                 <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> | ||||||
|               </div> |               </div> | ||||||
| @@ -248,9 +248,9 @@ | |||||||
|             {{#each armors as |armor key|}} |             {{#each armors as |armor key|}} | ||||||
|             <li class="item flexrow list-item" data-item-id="{{armor.id}}"> |             <li class="item flexrow list-item" data-item-id="{{armor.id}}"> | ||||||
|               <img class="sheet-skill-img" src="{{armor.img}}"/> |               <img class="sheet-skill-img" src="{{armor.img}}"/> | ||||||
|               <span class="armor-label">{{armor.data.name}}</span> |               <span class="armor-label">{{armor.name}}</span> | ||||||
|               <div class="item-controls"> |               <div class="item-controls"> | ||||||
|                 <a class="item-control item-worn" title="Worn">{{#if armor.data.data.worn}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> |                 <a class="item-control item-worn" title="Worn">{{#if armor.system.worn}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> | ||||||
|                 <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> |                 <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> | ||||||
|                 <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> |                 <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> | ||||||
|               </div> |               </div> | ||||||
| @@ -262,9 +262,9 @@ | |||||||
|             {{#each gearsRoot as |gear key|}} |             {{#each gearsRoot as |gear key|}} | ||||||
|             <li class="item flexrow list-item" data-item-id="{{gear.id}}"> |             <li class="item flexrow list-item" data-item-id="{{gear.id}}"> | ||||||
|               <img class="sheet-skill-img" src="{{gear.img}}"/> |               <img class="sheet-skill-img" src="{{gear.img}}"/> | ||||||
|               <span class="conseq-label">{{gear.data.name}}</span> |               <span class="conseq-label">{{gear.name}}</span> | ||||||
|               <div class="item-controls"> |               <div class="item-controls"> | ||||||
|                 <a class="item-control item-equip" title="Worn">{{#if gear.data.data.worn}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> |                 <a class="item-control item-equip" title="Worn">{{#if gear.system.worn}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> | ||||||
|                 <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> |                 <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> | ||||||
|                 <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> |                 <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> | ||||||
|               </div> |               </div> | ||||||
| @@ -273,9 +273,9 @@ | |||||||
|                 {{#each data.contains as |subgear key|}} |                 {{#each data.contains as |subgear key|}} | ||||||
|                 <li class="item flexrow list-item" data-item-id="{{subgear.id}}"> |                 <li class="item flexrow list-item" data-item-id="{{subgear.id}}"> | ||||||
|                   <img class="sheet-skill-img" src="{{subgear.img}}"/> |                   <img class="sheet-skill-img" src="{{subgear.img}}"/> | ||||||
|                   <span class="conseq-label">{{subgear.data.name}}</span> |                   <span class="conseq-label">{{subgear.name}}</span> | ||||||
|                   <div class="item-controls"> |                   <div class="item-controls"> | ||||||
|                     <a class="item-control item-equip" title="Worn">{{#if subgear.data.data.worn}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> |                     <a class="item-control item-equip" title="Worn">{{#if subgear.worn}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a> | ||||||
|                     <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> |                     <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a> | ||||||
|                     <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> |                     <a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a> | ||||||
|                   </div> |                   </div> | ||||||
| @@ -292,11 +292,11 @@ | |||||||
|           <ul class="item-list alternate-list"> |           <ul class="item-list alternate-list"> | ||||||
|             <li class="item flexrow list-item"> |             <li class="item flexrow list-item"> | ||||||
|               <label class="description-label generic-label">Geneline : </label> |               <label class="description-label generic-label">Geneline : </label> | ||||||
|               <label class="description-label generic-label item-link"><a data-item-id="{{data.geneline.id}}">{{data.geneline.name}}</a></label> |               <label class="description-label generic-label item-link"><a data-item-id="{{system.geneline.id}}">{{data.geneline.name}}</a></label> | ||||||
|             </li> |             </li> | ||||||
|             <li class="item flexrow list-item"> |             <li class="item flexrow list-item"> | ||||||
|               <label class="description-label generic-label">Main Subculture :</label> |               <label class="description-label generic-label">Main Subculture :</label> | ||||||
|               <select class="stat-value flexrow" type="text" name="data.subculture" value="{{data.subculture}}" data-dtype="String"> |               <select class="stat-value flexrow" type="text" name="system.subculture" value="{{system.subculture}}" data-dtype="String"> | ||||||
|                 {{#select subculture}} |                 {{#select subculture}} | ||||||
|                 {{#each subcultureList as |subculture key|}} |                 {{#each subcultureList as |subculture key|}} | ||||||
|                 <option value="{{subculture.name}}">{{subculture.name}}</option> |                 <option value="{{subculture.name}}">{{subculture.name}}</option> | ||||||
| @@ -306,29 +306,29 @@ | |||||||
|             </li> |             </li> | ||||||
|             <li class="item flexrow list-item"> |             <li class="item flexrow list-item"> | ||||||
|               <label class="description-label stat-label">Genre : </label> |               <label class="description-label stat-label">Genre : </label> | ||||||
|               <input class="description-value flexrow" type="text" name="data.sex" value="{{data.sex}}" data-dtype="String"/> |               <input class="description-value flexrow" type="text" name="system.sex" value="{{data.sex}}" data-dtype="String"/> | ||||||
|             </li> |             </li> | ||||||
|             <li class="item flexrow list-item"> |             <li class="item flexrow list-item"> | ||||||
|               <label class="description-label stat-label">Weight : </label> |               <label class="description-label stat-label">Weight : </label> | ||||||
|               <input class="description-value flexrow" type="text" name="data.weight" value="{{data.weight}}" data-dtype="String"/>               |               <input class="description-value flexrow" type="text" name="system.weight" value="{{data.weight}}" data-dtype="String"/>               | ||||||
|             </li> |             </li> | ||||||
|             <li class="item flexrow list-item"> |             <li class="item flexrow list-item"> | ||||||
|               <label class="description-label stat-label">Size : </label> |               <label class="description-label stat-label">Size : </label> | ||||||
|               <input class="description-value flexrow" type="text" name="data.taille" value="{{data.taille}}" data-dtype="String"/> |               <input class="description-value flexrow" type="text" name="system.taille" value="{{data.taille}}" data-dtype="String"/> | ||||||
|             </li> |             </li> | ||||||
|           </ul> |           </ul> | ||||||
|           <ul class="item-list alterne-list"> |           <ul class="item-list alterne-list"> | ||||||
|             <li class="item flexrow list-item"> |             <li class="item flexrow list-item"> | ||||||
|               <label class="description-label stat-label">Hair : </label> |               <label class="description-label stat-label">Hair : </label> | ||||||
|               <input class="description-value flexrow" type="text" name="data.hair" value="{{data.hair}}" data-dtype="String"/> |               <input class="description-value flexrow" type="text" name="system.hair" value="{{data.hair}}" data-dtype="String"/> | ||||||
|             </li> |             </li> | ||||||
|             <li class="item flexrow list-item"> |             <li class="item flexrow list-item"> | ||||||
|               <label class="description-label stat-label">Eyes : </label> |               <label class="description-label stat-label">Eyes : </label> | ||||||
|               <input class="description-value flexrow" type="text" name="data.eyes" value="{{data.eyes}}" data-dtype="String"/> |               <input class="description-value flexrow" type="text" name="system.eyes" value="{{data.eyes}}" data-dtype="String"/> | ||||||
|             </li> |             </li> | ||||||
|             <li class="item flexrow list-item"> |             <li class="item flexrow list-item"> | ||||||
|               <label class="description-label stat-label">Age : </label> |               <label class="description-label stat-label">Age : </label> | ||||||
|               <input class="description-value flexrow" type="text" name="data.age" value="{{data.age}}" data-dtype="String"/> |               <input class="description-value flexrow" type="text" name="system.age" value="{{data.age}}" data-dtype="String"/> | ||||||
|             </li> |             </li> | ||||||
|           </ul> |           </ul> | ||||||
|         </article> |         </article> | ||||||
| @@ -390,12 +390,12 @@ | |||||||
|           <hr> |           <hr> | ||||||
|           <h3>Biography : </h3> |           <h3>Biography : </h3> | ||||||
|           <div class="form-group editor"> |           <div class="form-group editor"> | ||||||
|             {{editor content=data.data.history target="data.history" button=true owner=owner editable=editable}} |             {{editor data.history target="system.history" button=true owner=owner editable=editable}} | ||||||
|           </div> |           </div> | ||||||
|           <hr> |           <hr> | ||||||
|           <h3>Notes : </h3> |           <h3>Notes : </h3> | ||||||
|           <div class="form-group editor"> |           <div class="form-group editor"> | ||||||
|             {{editor content=data.data.notes target="data.notes" button=true owner=owner editable=editable}} |             {{editor data.notes target="system.notes" button=true owner=owner editable=editable}} | ||||||
|           </div> |           </div> | ||||||
|           <hr> |           <hr> | ||||||
|           {{>"systems/foundryvtt-shadows-over-sol/templates/editor-notes-gm.html"}} |           {{>"systems/foundryvtt-shadows-over-sol/templates/editor-notes-gm.html"}} | ||||||
|   | |||||||
| @@ -53,7 +53,7 @@ | |||||||
|       <select name="combatant2" class='action-select' id="combatant2" data-dtype="String"> |       <select name="combatant2" class='action-select' id="combatant2" data-dtype="String"> | ||||||
|         {{#select combatant2}} |         {{#select combatant2}} | ||||||
|         {{#each combatantsList as |combatant key|}} |         {{#each combatantsList as |combatant key|}} | ||||||
|         <option value={{combatant._id}}>{{combatant.actor.data.name}}</option> |         <option value={{combatant._id}}>{{combatant.actor.name}}</option> | ||||||
|         {{/each}} |         {{/each}} | ||||||
|         {{/select}} |         {{/select}} | ||||||
|       </select> |       </select> | ||||||
| @@ -74,7 +74,7 @@ | |||||||
|         <select name="combatant1" class='action-select' id="combatant1" data-dtype="String"> |         <select name="combatant1" class='action-select' id="combatant1" data-dtype="String"> | ||||||
|           {{#select combatant1}} |           {{#select combatant1}} | ||||||
|           {{#each combatantsList as |combatant key|}} |           {{#each combatantsList as |combatant key|}} | ||||||
|           <option value={{combatant._id}}>{{combatant.actor.data.name}}</option> |           <option value={{combatant._id}}>{{combatant.actor.name}}</option> | ||||||
|           {{/each}} |           {{/each}} | ||||||
|           {{/select}} |           {{/select}} | ||||||
|         </select> |         </select> | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ | |||||||
|           {{/select}} |           {{/select}} | ||||||
|         </select>         |         </select>         | ||||||
|         <span> |         <span> | ||||||
|           <h3 class="dialog-label" id="flipSubTitle">Skill Flip : {{skill.name}} ({{skill.data.value}}) </h3> |           <h3 class="dialog-label" id="flipSubTitle">Skill Flip : {{skill.name}} ({{skill.system.value}}) </h3> | ||||||
|           <h3 class="dialog-label" id="flipSubTitle">Final Score : <span id='score-base'>0</span> </h3> |           <h3 class="dialog-label" id="flipSubTitle">Final Score : <span id='score-base'>0</span> </h3> | ||||||
|         </span> |         </span> | ||||||
|         {{/if}} |         {{/if}} | ||||||
| @@ -44,7 +44,7 @@ | |||||||
|           <select name="consequenceSelect" id="consequenceSelectMalus" data-dtype="String" multiple size="5" width="200"> |           <select name="consequenceSelect" id="consequenceSelectMalus" data-dtype="String" multiple size="5" width="200"> | ||||||
|             {{#select consequencesList}} |             {{#select consequencesList}} | ||||||
|             {{#each consequencesList as |consequence key|}} |             {{#each consequencesList as |consequence key|}} | ||||||
|             <option value={{consequence._id}}>{{localize consequence.name}} - {{consequence.data.severity}}</option> |             <option value={{consequence._id}}>{{localize consequence.name}} - {{consequence.system.severity}}</option> | ||||||
|             {{/each}} |             {{/each}} | ||||||
|             {{/select}} |             {{/select}} | ||||||
|           </select>   |           </select>   | ||||||
| @@ -56,7 +56,7 @@ | |||||||
|           <select name="consequenceSelect" id="consequenceSelectBonus" data-dtype="String" multiple size="5" width="200"> |           <select name="consequenceSelect" id="consequenceSelectBonus" data-dtype="String" multiple size="5" width="200"> | ||||||
|             {{#select consequencesList}} |             {{#select consequencesList}} | ||||||
|             {{#each consequencesList as |consequence key|}} |             {{#each consequencesList as |consequence key|}} | ||||||
|             <option value={{consequence._id}}>{{localize consequence.name}} - {{consequence.data.severity}}</option> |             <option value={{consequence._id}}>{{localize consequence.name}} - {{consequence.system.severity}}</option> | ||||||
|             {{/each}} |             {{/each}} | ||||||
|             {{/select}} |             {{/select}} | ||||||
|           </select>   |           </select>   | ||||||
| @@ -66,7 +66,7 @@ | |||||||
|       <div class="flexcol"> |       <div class="flexcol"> | ||||||
|         <div class="tab" data-group="primary"> |         <div class="tab" data-group="primary"> | ||||||
|           {{#each weaknessList as |weakness key|}} |           {{#each weaknessList as |weakness key|}} | ||||||
|           <span class="dialog-label">{{localize weakness.name}} - {{weakness.data.category}}</span> |           <span class="dialog-label">{{localize weakness.name}} - {{weakness.system.category}}</span> | ||||||
|           {{/each}} |           {{/each}} | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
| @@ -90,7 +90,7 @@ | |||||||
|   <hr> |   <hr> | ||||||
|   {{#if target}} |   {{#if target}} | ||||||
|   <div> |   <div> | ||||||
|     <h4>Target : {{target.actor.name}} - Defense : {{target.actor.data.data.scores.defense.value}}/{{target.actor.data.data.scores.defense.critical}}</h4> |     <h4>Target : {{target.actor.name}} - Defense : {{target.actor.system.scores.defense.value}}/{{target.actor.system.scores.defense.critical}}</h4> | ||||||
|   </div> |   </div> | ||||||
|   {{/if}} |   {{/if}} | ||||||
|  |  | ||||||
| @@ -99,7 +99,7 @@ | |||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label for="categorie" class="dialog-label">Target Number (TN) : </label> |         <label for="categorie" class="dialog-label">Target Number (TN) : </label> | ||||||
|         {{#if target}} |         {{#if target}} | ||||||
|         <label for="categorie" class="dialog-label"> {{target.actor.data.data.scores.defense.value}} </label> |         <label for="categorie" class="dialog-label"> {{target.actor.system.scores.defense.value}} </label> | ||||||
|         {{else}} |         {{else}} | ||||||
|         <select name="tn" id="tn" data-dtype="number"> |         <select name="tn" id="tn" data-dtype="number"> | ||||||
|           {{#select tn}} |           {{#select tn}} | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| {{#if data.isGM}} | {{#if data.isGM}} | ||||||
| <h3>GM Notes : </h3> | <h3>GM Notes : </h3> | ||||||
| <div class="form-group editor"> | <div class="form-group editor"> | ||||||
|   {{editor content=data.gmnotes target="data.gmnotes" button=true owner=owner editable=editable}} |   {{editor data.gmnotes target="system.gmnotes" button=true owner=owner editable=editable}} | ||||||
| </div> | </div> | ||||||
| {{/if}} | {{/if}} | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{item.img}}" data-edit="img" title="{{item.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{item.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
| @@ -13,7 +13,7 @@ | |||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Type</label> |             <label class="generic-label">Type</label> | ||||||
|             <div class="form-group small-editor"> |             <div class="form-group small-editor"> | ||||||
|               <select class="stat-value flexrow" type="text" name="data.type" value="{{data.type}}" data-dtype="String"> |               <select class="stat-value flexrow" type="text" name="system.type" value="{{data.type}}" data-dtype="String"> | ||||||
|                 {{#select data.type}} |                 {{#select data.type}} | ||||||
|                 <option value="reaction">Reaction</option> |                 <option value="reaction">Reaction</option> | ||||||
|                 <option value="move">Move</option> |                 <option value="move">Move</option> | ||||||
| @@ -27,16 +27,16 @@ | |||||||
|           </div> |           </div> | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Minimum Action Point cost</label> |             <label class="generic-label">Minimum Action Point cost</label> | ||||||
|             <input type="text" name="data.minap" value="{{data.minap}}" data-dtype="Number"/> |             <input type="text" name="system.minap" value="{{data.minap}}" data-dtype="Number"/> | ||||||
|           </div> |           </div> | ||||||
|           <div class="flexrow"> |           <div class="flexrow"> | ||||||
|             <label class="generic-label">Target needed ?</label> |             <label class="generic-label">Target needed ?</label> | ||||||
|             <label class="attribute-value checkbox"><input type="checkbox" name="data.targetneeded" {{checked data.targetneeded}}/></label> |             <label class="attribute-value checkbox"><input type="checkbox" name="system.targetneeded" {{checked data.targetneeded}}/></label> | ||||||
|           </div>         |           </div>         | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Description</label> |             <label class="generic-label">Description</label> | ||||||
|             <div class="form-group medium-editor"> |             <div class="form-group medium-editor"> | ||||||
|               {{editor content=data.description target="data.description" button=true owner=owner editable=editable}} |               {{editor data.description target="system.description" button=true owner=owner editable=editable}} | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|   | |||||||
| @@ -1,42 +1,40 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
|     {{!-- Sheet Body --}} |     {{!-- Sheet Body --}} | ||||||
|     <section class="sheet-body"> |     <section class="sheet-body"> | ||||||
|  |  | ||||||
|       {{#with data}} |  | ||||||
|       <div class="tab" data-group="primary"> |       <div class="tab" data-group="primary"> | ||||||
|  |  | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Bulky</label> |         <label class="generic-label">Bulky</label> | ||||||
|         <input type="text" name="data.bulky" value="{{data.bulky}}" data-dtype="Number"/> |         <input type="text" name="system.bulky" value="{{data.bulky}}" data-dtype="Number"/> | ||||||
|       </div>       |       </div>       | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">DR</label> |         <label class="generic-label">DR</label> | ||||||
|         <input type="text" name="data.dr" value="{{data.dr}}" data-dtype="Number"/> |         <input type="text" name="system.dr" value="{{data.dr}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Gel</label> |         <label class="generic-label">Gel</label> | ||||||
|         <input type="text" name="data.gel" value="{{data.gel}}" data-dtype="Number"/> |         <input type="text" name="system.gel" value="{{data.gel}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Reflect</label> |         <label class="generic-label">Reflect</label> | ||||||
|         <input type="text" name="data.reflect" value="{{data.reflect}}" data-dtype="Number"/> |         <input type="text" name="system.reflect" value="{{data.reflect}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Strength Bonus</label> |         <label class="generic-label">Strength Bonus</label> | ||||||
|         <input type="text" name="data.str" value="{{data.str}}" data-dtype="Number"/> |         <input type="text" name="system.str" value="{{data.str}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Is VAC  ?</label> |         <label class="generic-label">Is VAC  ?</label> | ||||||
|         <label class="attribute-value checkbox"><input type="checkbox" name="data.vac" {{checked data.vac}}/></label> |         <label class="attribute-value checkbox"><input type="checkbox" name="system.vac" {{checked data.vac}}/></label> | ||||||
|       </div> |       </div> | ||||||
|       {{/with}} |  | ||||||
|  |  | ||||||
|       {{>"systems/foundryvtt-shadows-over-sol/templates/item-commongear-sheet.html"}} |       {{>"systems/foundryvtt-shadows-over-sol/templates/item-commongear-sheet.html"}} | ||||||
|     </div>   |     </div>   | ||||||
|   | |||||||
| @@ -1,53 +1,51 @@ | |||||||
|   {{#with data}} |  | ||||||
|   <div class="flexrow"> |   <div class="flexrow"> | ||||||
|     <label class="generic-label">Big</label> |     <label class="generic-label">Big</label> | ||||||
|     <input type="text" name="data.big" value="{{data.big}}" data-dtype="Number"/> |     <input type="text" name="system.big" value="{{data.big}}" data-dtype="Number"/> | ||||||
|   </div> |   </div> | ||||||
|   <div class="flexrow"> |   <div class="flexrow"> | ||||||
|     <label class="generic-label">Cost rating </label> |     <label class="generic-label">Cost rating </label> | ||||||
|     <input type="text" name="data.costrating" value="{{data.costrating}}" data-dtype="Number"/> |     <input type="text" name="system.costrating" value="{{data.costrating}}" data-dtype="Number"/> | ||||||
|   </div> |   </div> | ||||||
|   <div class="flexrow"> |   <div class="flexrow"> | ||||||
|     <label class="generic-label">Defensive </label> |     <label class="generic-label">Defensive </label> | ||||||
|     <input type="text" name="data.defensive" value="{{data.defensive}}" data-dtype="Number"/> |     <input type="text" name="system.defensive" value="{{data.defensive}}" data-dtype="Number"/> | ||||||
|   </div> |   </div> | ||||||
|   <div class="flexrow"> |   <div class="flexrow"> | ||||||
|     <label class="generic-label">Quantity </label> |     <label class="generic-label">Quantity </label> | ||||||
|     <input type="text" name="data.quantity" value="{{data.quantity}}" data-dtype="Number"/> |     <input type="text" name="system.quantity" value="{{data.quantity}}" data-dtype="Number"/> | ||||||
|   </div> |   </div> | ||||||
|   <div class="flexrow"> |   <div class="flexrow"> | ||||||
|     <label class="generic-label">Computer</label> |     <label class="generic-label">Computer</label> | ||||||
|     <input type="text" name="data.computer" value="{{data.computer}}" data-dtype="Number"/> |     <input type="text" name="system.computer" value="{{data.computer}}" data-dtype="Number"/> | ||||||
|   </div> |   </div> | ||||||
|   <div class="flexrow"> |   <div class="flexrow"> | ||||||
|     <label class="generic-label">Software</label> |     <label class="generic-label">Software</label> | ||||||
|     <input type="text" name="data.software" value="{{data.software}}" data-dtype="Number"/> |     <input type="text" name="system.software" value="{{data.software}}" data-dtype="Number"/> | ||||||
|   </div> |   </div> | ||||||
|   <div class="flexrow"> |   <div class="flexrow"> | ||||||
|     <label class="generic-label">Conceal</label> |     <label class="generic-label">Conceal</label> | ||||||
|     <input type="text" name="data.conceal" value="{{data.conceal}}" data-dtype="Number"/> |     <input type="text" name="system.conceal" value="{{data.conceal}}" data-dtype="Number"/> | ||||||
|   </div> |   </div> | ||||||
|   <div class="flexrow"> |   <div class="flexrow"> | ||||||
|     <label class="generic-label">Implant</label> |     <label class="generic-label">Implant</label> | ||||||
|     <input type="text" name="data.implant" value="{{data.implant}}" data-dtype="Number"/> |     <input type="text" name="system.implant" value="{{data.implant}}" data-dtype="Number"/> | ||||||
|   </div> |   </div> | ||||||
|   <div class="flexrow"> |   <div class="flexrow"> | ||||||
|     <label class="generic-label">Negligeable ?</label> |     <label class="generic-label">Negligeable ?</label> | ||||||
|     <label class="attribute-value checkbox"><input type="checkbox" name="data.neg" {{checked data.neg}}/></label> |     <label class="attribute-value checkbox"><input type="checkbox" name="system.neg" {{checked data.neg}}/></label> | ||||||
|   </div> |   </div> | ||||||
|   <div class="flexrow"> |   <div class="flexrow"> | ||||||
|     <label class="generic-label">Military ?</label> |     <label class="generic-label">Military ?</label> | ||||||
|     <label class="attribute-value checkbox"><input type="checkbox" name="data.mil" {{checked data.mil}}/></label> |     <label class="attribute-value checkbox"><input type="checkbox" name="system.mil" {{checked data.mil}}/></label> | ||||||
|   </div> |   </div> | ||||||
|   <div class="flexrow"> |   <div class="flexrow"> | ||||||
|     <label class="generic-label">Worn ?</label> |     <label class="generic-label">Worn ?</label> | ||||||
|     <label class="attribute-value checkbox"><input type="checkbox" name="data.worn" {{checked data.worn}}/></label> |     <label class="attribute-value checkbox"><input type="checkbox" name="system.worn" {{checked data.worn}}/></label> | ||||||
|   </div> |   </div> | ||||||
|   {{/with}} |  | ||||||
|  |  | ||||||
|   <div class="flexcol"> |   <div class="flexcol"> | ||||||
|     <label class="generic-label">Description</label> |     <label class="generic-label">Description</label> | ||||||
|     <div class="form-group medium-editor"> |     <div class="form-group medium-editor"> | ||||||
|       {{editor content=data.data.description target="data.description" button=true owner=owner editable=editable}} |       {{editor data.description target="system.description" button=true owner=owner editable=editable}} | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
| @@ -13,8 +13,8 @@ | |||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Severity</label> |             <label class="generic-label">Severity</label> | ||||||
|             <div class="form-group small-editor"> |             <div class="form-group small-editor"> | ||||||
|               <select class="stat-value flexrow" type="text" name="data.severity" value="{{data.data.severity}}" data-dtype="String"> |               <select class="stat-value flexrow" type="text" name="system.severity" value="{{data.severity}}" data-dtype="String"> | ||||||
|                 {{#select data.data.severity}} |                 {{#select data.severity}} | ||||||
|                 <option value="none">None</option> |                 <option value="none">None</option> | ||||||
|                 <option value="light">Light</option> |                 <option value="light">Light</option> | ||||||
|                 <option value="moderate">Moderate</option> |                 <option value="moderate">Moderate</option> | ||||||
| @@ -27,7 +27,7 @@ | |||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Description</label> |             <label class="generic-label">Description</label> | ||||||
|             <div class="form-group medium-editor"> |             <div class="form-group medium-editor"> | ||||||
|               {{editor content=data.data.description target="data.description" button=true owner=owner editable=editable}} |               {{editor data.description target="system.description" button=true owner=owner editable=editable}} | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
| @@ -13,7 +13,7 @@ | |||||||
|  |  | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Container</label> |         <label class="generic-label">Container</label> | ||||||
|         <input type="text" name="data.container" value="{{data.data.container}}" data-dtype="Number"/> |         <input type="text" name="system.container" value="{{data.container}}" data-dtype="Number"/> | ||||||
|       </div>       |       </div>       | ||||||
|       {{>"systems/foundryvtt-shadows-over-sol/templates/item-commongear-sheet.html"}} |       {{>"systems/foundryvtt-shadows-over-sol/templates/item-commongear-sheet.html"}} | ||||||
|     </div>   |     </div>   | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,42 +1,40 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
|     {{!-- Sheet Body --}} |     {{!-- Sheet Body --}} | ||||||
|     <section class="sheet-body"> |     <section class="sheet-body"> | ||||||
|         {{#with data}} |  | ||||||
|  |  | ||||||
|         <div class="tab" data-group="primary"> |         <div class="tab" data-group="primary"> | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Description</label> |             <label class="generic-label">Description</label> | ||||||
|             <div class="form-group medium-editor"> |             <div class="form-group medium-editor"> | ||||||
|               {{editor content=data.description target="data.description" button=true owner=owner editable=editable}} |               {{editor data.description target="system.description" button=true owner=owner editable=editable}} | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Experiences</label> |             <label class="generic-label">Experiences</label> | ||||||
|             <div class="form-group small-editor"> |             <div class="form-group small-editor"> | ||||||
|               <input type="text" name="data.experiences" value="{{data.experiences}}" data-dtype="String"/> |               <input type="text" name="system.experiences" value="{{data.experiences}}" data-dtype="String"/> | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Edge</label> |             <label class="generic-label">Edge</label> | ||||||
|             <div class="form-group small-editor"> |             <div class="form-group small-editor"> | ||||||
|               <input type="text" name="data.edge" value="{{data.edge}}" data-dtype="String"/> |               <input type="text" name="system.edge" value="{{data.edge}}" data-dtype="String"/> | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Weakness</label> |             <label class="generic-label">Weakness</label> | ||||||
|             <div class="form-group small-editor"> |             <div class="form-group small-editor"> | ||||||
|               {{editor content=data.weakness target="data.weakness" button=true owner=owner editable=editable}} |               {{editor data.weakness target="system.weakness" button=true owner=owner editable=editable}} | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|         {{/with}} |  | ||||||
|  |  | ||||||
|     </section> |     </section> | ||||||
| </form> | </form> | ||||||
|   | |||||||
| @@ -1,27 +1,26 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
|     {{!-- Sheet Body --}} |     {{!-- Sheet Body --}} | ||||||
|     <section class="sheet-body"> |     <section class="sheet-body"> | ||||||
|       {{#with data}} |  | ||||||
|  |  | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Card</label> |             <label class="generic-label">Card</label> | ||||||
|             <input type="text" name="data.card" value="{{data.card}}" data-dtype="String"/> |             <input type="text" name="system.card" value="{{data.card}}" data-dtype="String"/> | ||||||
|           </div> |           </div> | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Description</label> |             <label class="generic-label">Description</label> | ||||||
|             <div class="form-group medium-editor"> |             <div class="form-group medium-editor"> | ||||||
|               {{editor content=data.description target="data.description" button=true owner=owner editable=editable}} |               {{editor data.description target="system.description" button=true owner=owner editable=editable}} | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|       {{/with}} |  | ||||||
|  |  | ||||||
|     </section> |     </section> | ||||||
| </form> | </form> | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
| @@ -13,7 +13,7 @@ | |||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Description</label> |             <label class="generic-label">Description</label> | ||||||
|             <div class="form-group medium-editor"> |             <div class="form-group medium-editor"> | ||||||
|               {{editor content=data.ata.description target="data.description" button=true owner=owner editable=editable}} |               {{editor data.description target="system.description" button=true owner=owner editable=editable}} | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|   | |||||||
| @@ -1,33 +1,32 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
|     {{!-- Sheet Body --}} |     {{!-- Sheet Body --}} | ||||||
|     <section class="sheet-body"> |     <section class="sheet-body"> | ||||||
|         {{#with data}} |  | ||||||
|       <div class="flexcol"> |       <div class="flexcol"> | ||||||
|             <label class="generic-label">Vector</label> |             <label class="generic-label">Vector</label> | ||||||
|             <input type="text" name="data.vector" value="{{data.vector}}" data-dtype="String"/> |             <input type="text" name="system.vector" value="{{data.vector}}" data-dtype="String"/> | ||||||
|           </div> |           </div> | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Action</label> |             <label class="generic-label">Action</label> | ||||||
|             <input type="text" name="data.action" value="{{data.action}}" data-dtype="String"/> |             <input type="text" name="system.action" value="{{data.action}}" data-dtype="String"/> | ||||||
|           </div> |           </div> | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Effect</label> |             <label class="generic-label">Effect</label> | ||||||
|             <input type="text" name="data.effect" value="{{data.effect}}" data-dtype="String"/> |             <input type="text" name="system.effect" value="{{data.effect}}" data-dtype="String"/> | ||||||
|           </div> |           </div> | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Notes</label> |             <label class="generic-label">Notes</label> | ||||||
|             <div class="form-group medium-editor"> |             <div class="form-group medium-editor"> | ||||||
|               {{editor content=data.notes target="data.notes" button=true owner=owner editable=editable}} |               {{editor data.notes target="system.notes" button=true owner=owner editable=editable}} | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|         {{/with}} |  | ||||||
|     </section> |     </section> | ||||||
| </form> | </form> | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
| @@ -11,7 +11,7 @@ | |||||||
|  |  | ||||||
|         <div class="tab" data-group="primary"> |         <div class="tab" data-group="primary"> | ||||||
|           <ul> |           <ul> | ||||||
|             <li class="flexrow"><label class="generic-label">Value</label><input type="text" name="data.data.value" value="{{data.data.value}}" data-dtype="Number"/></li> |             <li class="flexrow"><label class="generic-label">Value</label><input type="text" name="system.value" value="{{data.value}}" data-dtype="Number"/></li> | ||||||
|             <ul class="stat-list alternate-list">               |             <ul class="stat-list alternate-list">               | ||||||
|               <li class="stat flexrow list-item" data-attribute="{{key}}"> |               <li class="stat flexrow list-item" data-attribute="{{key}}"> | ||||||
|                 <span class="generic-label flexrow tooltip tooltip-nobottom" name="">Experiences list : </span> |                 <span class="generic-label flexrow tooltip tooltip-nobottom" name="">Experiences list : </span> | ||||||
| @@ -27,7 +27,7 @@ | |||||||
|               {{/each}} |               {{/each}} | ||||||
|             </ul> |             </ul> | ||||||
|           <label class="generic-label">Description</label> |           <label class="generic-label">Description</label> | ||||||
|           {{editor content=data.data.description target="data.description" button=true owner=owner editable=editable}} |           {{editor data.description target="system.description" button=true owner=owner editable=editable}} | ||||||
|         </div> |         </div> | ||||||
|  |  | ||||||
|     </section> |     </section> | ||||||
|   | |||||||
| @@ -1,19 +1,19 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
|     {{!-- Sheet Body --}} |     {{!-- Sheet Body --}} | ||||||
|     <section class="sheet-body"> |     <section class="sheet-body"> | ||||||
|       {{#with data}} |  | ||||||
|       <div class="tab" data-group="primary"> |       <div class="tab" data-group="primary"> | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Type</label> |             <label class="generic-label">Type</label> | ||||||
|             <div class="form-group small-editor"> |             <div class="form-group small-editor"> | ||||||
|               <select class="stat-value flexrow" type="text" name="data.skill" value="{{data.skill}}" data-dtype="String"> |               <select class="stat-value flexrow" type="text" name="system.skill" value="{{data.skill}}" data-dtype="String"> | ||||||
|                 {{#select data.skill}} |                 {{#select data.skill}} | ||||||
|                 {{#each skillList as |skill key|}} |                 {{#each skillList as |skill key|}} | ||||||
|                 <option value="{{skill.name}}">{{skill.name}}</option> |                 <option value="{{skill.name}}">{{skill.name}}</option> | ||||||
| @@ -25,11 +25,10 @@ | |||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Description</label> |             <label class="generic-label">Description</label> | ||||||
|             <div class="form-group medium-editor"> |             <div class="form-group medium-editor"> | ||||||
|               {{editor content=data.description target="data.description" button=true owner=owner editable=editable}} |               {{editor data.description target="system.description" button=true owner=owner editable=editable}} | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|       {{/with}} |  | ||||||
|  |  | ||||||
|     </section> |     </section> | ||||||
| </form> | </form> | ||||||
|   | |||||||
| @@ -1,30 +1,28 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
|     {{!-- Sheet Body --}} |     {{!-- Sheet Body --}} | ||||||
|     <section class="sheet-body"> |     <section class="sheet-body"> | ||||||
|       {{#with data}} |  | ||||||
|  |  | ||||||
|         <div class="tab" data-group="primary"> |         <div class="tab" data-group="primary"> | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Description</label> |             <label class="generic-label">Description</label> | ||||||
|             <div class="form-group medium-editor"> |             <div class="form-group medium-editor"> | ||||||
|               {{editor content=data.description target="data.description" button=true owner=owner editable=editable}} |               {{editor data.description target="system.description" button=true owner=owner editable=editable}} | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Experiences</label> |             <label class="generic-label">Experiences</label> | ||||||
|             <div class="form-group small-editor"> |             <div class="form-group small-editor"> | ||||||
|               <input type="text" name="data.experiences" value="{{data.experiences}}" data-dtype="String"/> |               <input type="text" name="system.experiences" value="{{data.experiences}}" data-dtype="String"/> | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|         {{/with}} |  | ||||||
|  |  | ||||||
|     </section> |     </section> | ||||||
| </form> | </form> | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
| @@ -10,32 +10,30 @@ | |||||||
|     <section class="sheet-body"> |     <section class="sheet-body"> | ||||||
|  |  | ||||||
|       <div class="tab" data-group="primary"> |       <div class="tab" data-group="primary"> | ||||||
|       {{#with data}} |  | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Cruise</label> |         <label class="generic-label">Cruise</label> | ||||||
|         <input type="text" name="data.cruise" value="{{data.cruise}}" data-dtype="Number"/> |         <input type="text" name="system.cruise" value="{{data.cruise}}" data-dtype="Number"/> | ||||||
|       </div>       |       </div>       | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Defense</label> |         <label class="generic-label">Defense</label> | ||||||
|         <input type="text" name="data.defense" value="{{data.defense}}" data-dtype="Number"/> |         <input type="text" name="system.defense" value="{{data.defense}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">DR</label> |         <label class="generic-label">DR</label> | ||||||
|         <input type="text" name="data.dr" value="{{data.dr}}" data-dtype="Number"/> |         <input type="text" name="system.dr" value="{{data.dr}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Handling</label> |         <label class="generic-label">Handling</label> | ||||||
|         <input type="text" name="data.handling" value="{{data.handling}}" data-dtype="Number"/> |         <input type="text" name="system.handling" value="{{data.handling}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Shock</label> |         <label class="generic-label">Shock</label> | ||||||
|         <input type="text" name="data.shock" value="{{data.shock}}" data-dtype="Number"/> |         <input type="text" name="system.shock" value="{{data.shock}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Structure</label> |         <label class="generic-label">Structure</label> | ||||||
|         <input type="text" name="data.structure" value="{{data.structure}}" data-dtype="Number"/> |         <input type="text" name="system.structure" value="{{data.structure}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       {{/with}} |  | ||||||
|  |  | ||||||
|       {{>"systems/foundryvtt-shadows-over-sol/templates/item-commongear-sheet.html"}} |       {{>"systems/foundryvtt-shadows-over-sol/templates/item-commongear-sheet.html"}} | ||||||
|     </div>   |     </div>   | ||||||
|   | |||||||
| @@ -1,20 +1,19 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
|     {{!-- Sheet Body --}} |     {{!-- Sheet Body --}} | ||||||
|     <section class="sheet-body"> |     <section class="sheet-body"> | ||||||
|       {{#with data}} |  | ||||||
|  |  | ||||||
|         <div class="tab" data-group="primary"> |         <div class="tab" data-group="primary"> | ||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Type</label> |             <label class="generic-label">Type</label> | ||||||
|             <div class="form-group small-editor"> |             <div class="form-group small-editor"> | ||||||
|               <select class="stat-value flexrow" type="text" name="data.category" value="{{data.category}}" data-dtype="String"> |               <select class="stat-value flexrow" type="text" name="system.category" value="{{data.category}}" data-dtype="String"> | ||||||
|                 {{#select data.category}} |                 {{#select data.category}} | ||||||
|                 <option value="impairment">Impairment</option> |                 <option value="impairment">Impairment</option> | ||||||
|                 <option value="disability">Disablity</option> |                 <option value="disability">Disablity</option> | ||||||
| @@ -27,11 +26,10 @@ | |||||||
|           <div class="flexcol"> |           <div class="flexcol"> | ||||||
|             <label class="generic-label">Description</label> |             <label class="generic-label">Description</label> | ||||||
|             <div class="form-group medium-editor"> |             <div class="form-group medium-editor"> | ||||||
|               {{editor content=data.description target="data.description" button=true owner=owner editable=editable}} |               {{editor data.description target="system.description" button=true owner=owner editable=editable}} | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|         {{/with}} |  | ||||||
|  |  | ||||||
|     </section> |     </section> | ||||||
| </form> | </form> | ||||||
|   | |||||||
| @@ -1,20 +1,19 @@ | |||||||
| <form class="{{cssClass}}" autocomplete="off"> | <form class="{{cssClass}}" autocomplete="off"> | ||||||
|     <header class="sheet-header"> |     <header class="sheet-header"> | ||||||
|         <img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/> |         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}"/> | ||||||
|         <div class="header-fields"> |         <div class="header-fields"> | ||||||
|             <h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1> |             <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||||
|         </div> |         </div> | ||||||
|     </header> |     </header> | ||||||
|  |  | ||||||
|     {{!-- Sheet Body --}} |     {{!-- Sheet Body --}} | ||||||
|     <section class="sheet-body"> |     <section class="sheet-body"> | ||||||
|       {{#with data}} |  | ||||||
|  |  | ||||||
|       <div class="tab" data-group="primary"> |       <div class="tab" data-group="primary"> | ||||||
|  |  | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Category</label> |         <label class="generic-label">Category</label> | ||||||
|         <select class="stat-value flexrow" type="text" name="data.category" value="{{data.category}}" data-dtype="String"> |         <select class="stat-value flexrow" type="text" name="system.category" value="{{data.category}}" data-dtype="String"> | ||||||
|           {{#select data.category}} |           {{#select data.category}} | ||||||
|           <option value="ballistic">Ballistic</option> |           <option value="ballistic">Ballistic</option> | ||||||
|           <option value="laser">Laser</option> |           <option value="laser">Laser</option> | ||||||
| @@ -27,63 +26,62 @@ | |||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Damage : </label> |         <label class="generic-label">Damage : </label> | ||||||
|         <img class="cardsuit-img" src="systems/foundryvtt-shadows-over-sol/img/cards/spade.webp" /> |         <img class="cardsuit-img" src="systems/foundryvtt-shadows-over-sol/img/cards/spade.webp" /> | ||||||
|         <input type="text" name="data.damage_spade" value="{{data.damage_spade}}" data-dtype="String"/> |         <input type="text" name="system.damage_spade" value="{{data.damage_spade}}" data-dtype="String"/> | ||||||
|         <img class="cardsuit-img" src="systems/foundryvtt-shadows-over-sol/img/cards/hearts.webp" /> |         <img class="cardsuit-img" src="systems/foundryvtt-shadows-over-sol/img/cards/hearts.webp" /> | ||||||
|         <input type="text" name="data.damage_hearts" value="{{data.damage_hearts}}" data-dtype="String"/> |         <input type="text" name="system.damage_hearts" value="{{data.damage_hearts}}" data-dtype="String"/> | ||||||
|         <img class="cardsuit-img" src="systems/foundryvtt-shadows-over-sol/img/cards/diamond.webp" /> |         <img class="cardsuit-img" src="systems/foundryvtt-shadows-over-sol/img/cards/diamond.webp" /> | ||||||
|         <input type="text" name="data.damage_diamond" value="{{data.damage_diamond}}" data-dtype="String"/> |         <input type="text" name="system.damage_diamond" value="{{data.damage_diamond}}" data-dtype="String"/> | ||||||
|         <img class="cardsuit-img" src="systems/foundryvtt-shadows-over-sol/img/cards/club.webp" /> |         <img class="cardsuit-img" src="systems/foundryvtt-shadows-over-sol/img/cards/club.webp" /> | ||||||
|         <input type="text" name="data.damage_club" value="{{data.damage_club}}" data-dtype="String"/> |         <input type="text" name="system.damage_club" value="{{data.damage_club}}" data-dtype="String"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Range</label> |         <label class="generic-label">Range</label> | ||||||
|         <input type="text" name="data.range" value="{{data.range}}" data-dtype="Number"/> |         <input type="text" name="system.range" value="{{data.range}}" data-dtype="Number"/> | ||||||
|       </div>       |       </div>       | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Area</label> |         <label class="generic-label">Area</label> | ||||||
|         <input type="text" name="data.area" value="{{data.area}}" data-dtype="Number"/> |         <input type="text" name="system.area" value="{{data.area}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Shots</label> |         <label class="generic-label">Shots</label> | ||||||
|         <input type="text" name="data.shots" value="{{data.shots}}" data-dtype="Number"/> |         <input type="text" name="system.shots" value="{{data.shots}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Autofire</label> |         <label class="generic-label">Autofire</label> | ||||||
|         <input type="text" name="data.autofire" value="{{data.autofire}}" data-dtype="Number"/> |         <input type="text" name="system.autofire" value="{{data.autofire}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Hands needed</label> |         <label class="generic-label">Hands needed</label> | ||||||
|         <input type="text" name="data.hands" value="{{data.hands}}" data-dtype="Number"/> |         <input type="text" name="system.hands" value="{{data.hands}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Pierce</label> |         <label class="generic-label">Pierce</label> | ||||||
|         <input type="text" name="data.pierce" value="{{data.pierce}}" data-dtype="Number"/> |         <input type="text" name="system.pierce" value="{{data.pierce}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Reload</label> |         <label class="generic-label">Reload</label> | ||||||
|         <input type="text" name="data.reload" value="{{data.reload}}" data-dtype="Number"/> |         <input type="text" name="system.reload" value="{{data.reload}}" data-dtype="Number"/> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Stun ?</label> |         <label class="generic-label">Stun ?</label> | ||||||
|         <label class="attribute-value checkbox"><input type="checkbox" name="data.stun" {{checked data.stun}}/></label> |         <label class="attribute-value checkbox"><input type="checkbox" name="system.stun" {{checked data.stun}}/></label> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Thrown ?</label> |         <label class="generic-label">Thrown ?</label> | ||||||
|         <label class="attribute-value checkbox"><input type="checkbox" name="data.thrown" {{checked data.thrown}}/></label> |         <label class="attribute-value checkbox"><input type="checkbox" name="system.thrown" {{checked data.thrown}}/></label> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Reach ?</label> |         <label class="generic-label">Reach ?</label> | ||||||
|         <label class="attribute-value checkbox"><input type="checkbox" name="data.reach" {{checked data.reach}}/></label> |         <label class="attribute-value checkbox"><input type="checkbox" name="system.reach" {{checked data.reach}}/></label> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Shallow ?</label> |         <label class="generic-label">Shallow ?</label> | ||||||
|         <label class="attribute-value checkbox"><input type="checkbox" name="data.shallow" {{checked data.shallow}}/></label> |         <label class="attribute-value checkbox"><input type="checkbox" name="system.shallow" {{checked data.shallow}}/></label> | ||||||
|       </div> |       </div> | ||||||
|       <div class="flexrow"> |       <div class="flexrow"> | ||||||
|         <label class="generic-label">Spread ?</label> |         <label class="generic-label">Spread ?</label> | ||||||
|         <label class="attribute-value checkbox"><input type="checkbox" name="data.spread" {{checked data.spread}}/></label> |         <label class="attribute-value checkbox"><input type="checkbox" name="system.spread" {{checked data.spread}}/></label> | ||||||
|       </div>   |       </div>   | ||||||
|       {{/with}} |  | ||||||
|        |        | ||||||
|       {{>"systems/foundryvtt-shadows-over-sol/templates/item-commongear-sheet.html"}} |       {{>"systems/foundryvtt-shadows-over-sol/templates/item-commongear-sheet.html"}} | ||||||
|     </div>   |     </div>   | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user