✨
This commit is contained in:
@@ -1,6 +1,332 @@
|
||||
const api = foundry.applications.api;
|
||||
const sheets = foundry.applications.sheets;
|
||||
|
||||
effectivenessChart = {
|
||||
"normal": {
|
||||
"normal": 1,
|
||||
"fire": 1,
|
||||
"water": 1,
|
||||
"electric": 1,
|
||||
"grass": 1,
|
||||
"ice": 1,
|
||||
"fighting": 1,
|
||||
"poison": 1,
|
||||
"ground": 1,
|
||||
"flying": 1,
|
||||
"psychic": 1,
|
||||
"bug": 1,
|
||||
"rock": 0.5,
|
||||
"ghost": 0,
|
||||
"dragon": 1,
|
||||
"dark": 1,
|
||||
"steel": 0.5
|
||||
},
|
||||
"fire": {
|
||||
"normal": 1,
|
||||
"fire": 0.5,
|
||||
"water": 0.5,
|
||||
"electric": 1,
|
||||
"grass": 2,
|
||||
"ice": 2,
|
||||
"fighting": 1,
|
||||
"poison": 1,
|
||||
"ground": 1,
|
||||
"flying": 1,
|
||||
"psychic": 1,
|
||||
"bug": 2,
|
||||
"rock": 0.5,
|
||||
"ghost": 1,
|
||||
"dragon": 0.5,
|
||||
"dark": 1,
|
||||
"steel": 2
|
||||
},
|
||||
"water": {
|
||||
"normal": 1,
|
||||
"fire": 2,
|
||||
"water": 0.5,
|
||||
"electric": 1,
|
||||
"grass": 0.5,
|
||||
"ice": 1,
|
||||
"fighting": 1,
|
||||
"poison": 1,
|
||||
"ground": 2,
|
||||
"flying": 1,
|
||||
"psychic": 1,
|
||||
"bug": 1,
|
||||
"rock": 2,
|
||||
"ghost": 1,
|
||||
"dragon": 0.5,
|
||||
"dark": 1,
|
||||
"steel": 1
|
||||
},
|
||||
"electric": {
|
||||
"normal": 1,
|
||||
"fire": 1,
|
||||
"water": 2,
|
||||
"electric": 0.5,
|
||||
"grass": 0.5,
|
||||
"ice": 1,
|
||||
"fighting": 1,
|
||||
"poison": 1,
|
||||
"ground": 0,
|
||||
"flying": 2,
|
||||
"psychic": 1,
|
||||
"bug": 1,
|
||||
"rock": 1,
|
||||
"ghost": 1,
|
||||
"dragon": 0.5,
|
||||
"dark": 1,
|
||||
"steel": 1
|
||||
},
|
||||
"grass": {
|
||||
"normal": 1,
|
||||
"fire": 0.5,
|
||||
"water": 2,
|
||||
"electric": 1,
|
||||
"grass": 0.5,
|
||||
"ice": 1,
|
||||
"fighting": 1,
|
||||
"poison": 0.5,
|
||||
"ground": 2,
|
||||
"flying": 0.5,
|
||||
"psychic": 1,
|
||||
"bug": 0.5,
|
||||
"rock": 2,
|
||||
"ghost": 1,
|
||||
"dragon": 0.5,
|
||||
"dark": 1,
|
||||
"steel": 0.5
|
||||
},
|
||||
"ice": {
|
||||
"normal": 1,
|
||||
"fire": 0.5,
|
||||
"water": 0.5,
|
||||
"electric": 1,
|
||||
"grass": 2,
|
||||
"ice": 0.5,
|
||||
"fighting": 1,
|
||||
"poison": 1,
|
||||
"ground": 2,
|
||||
"flying": 2,
|
||||
"psychic": 1,
|
||||
"bug": 1,
|
||||
"rock": 1,
|
||||
"ghost": 1,
|
||||
"dragon": 2,
|
||||
"dark": 1,
|
||||
"steel": 0.5
|
||||
},
|
||||
"fighting": {
|
||||
"normal": 2,
|
||||
"fire": 1,
|
||||
"water": 1,
|
||||
"electric": 1,
|
||||
"grass": 1,
|
||||
"ice": 2,
|
||||
"fighting": 1,
|
||||
"poison": 0.5,
|
||||
"ground": 1,
|
||||
"flying": 0.5,
|
||||
"psychic": 0.5,
|
||||
"bug": 0.5,
|
||||
"rock": 2,
|
||||
"ghost": 0,
|
||||
"dragon": 1,
|
||||
"dark": 2,
|
||||
"steel": 2
|
||||
},
|
||||
"poison": {
|
||||
"normal": 1,
|
||||
"fire": 1,
|
||||
"water": 1,
|
||||
"electric": 1,
|
||||
"grass": 2,
|
||||
"ice": 1,
|
||||
"fighting": 1,
|
||||
"poison": 0.5,
|
||||
"ground": 0.5,
|
||||
"flying": 1,
|
||||
"psychic": 1,
|
||||
"bug": 1,
|
||||
"rock": 0.5,
|
||||
"ghost": 0.5,
|
||||
"dragon": 1,
|
||||
"dark": 1,
|
||||
"steel": 0
|
||||
},
|
||||
"ground": {
|
||||
"normal": 1,
|
||||
"fire": 2,
|
||||
"water": 1,
|
||||
"electric": 2,
|
||||
"grass": 0.5,
|
||||
"ice": 1,
|
||||
"fighting": 1,
|
||||
"poison": 2,
|
||||
"ground": 1,
|
||||
"flying": 0,
|
||||
"psychic": 1,
|
||||
"bug": 0.5,
|
||||
"rock": 2,
|
||||
"ghost": 1,
|
||||
"dragon": 1,
|
||||
"dark": 1,
|
||||
"steel": 2
|
||||
},
|
||||
"flying": {
|
||||
"normal": 1,
|
||||
"fire": 1,
|
||||
"water": 1,
|
||||
"electric": 0.5,
|
||||
"grass": 2,
|
||||
"ice": 1,
|
||||
"fighting": 2,
|
||||
"poison": 1,
|
||||
"ground": 1,
|
||||
"flying": 1,
|
||||
"psychic": 1,
|
||||
"bug": 2,
|
||||
"rock": 0.5,
|
||||
"ghost": 1,
|
||||
"dragon": 1,
|
||||
"dark": 1,
|
||||
"steel": 0.5
|
||||
},
|
||||
"psychic": {
|
||||
"normal": 1,
|
||||
"fire": 1,
|
||||
"water": 1,
|
||||
"electric": 1,
|
||||
"grass": 1,
|
||||
"ice": 1,
|
||||
"fighting": 2,
|
||||
"poison": 2,
|
||||
"ground": 1,
|
||||
"flying": 1,
|
||||
"psychic": 0.5,
|
||||
"bug": 1,
|
||||
"rock": 1,
|
||||
"ghost": 1,
|
||||
"dragon": 1,
|
||||
"dark": 0,
|
||||
"steel": 0.5
|
||||
},
|
||||
"bug": {
|
||||
"normal": 1,
|
||||
"fire": 0.5,
|
||||
"water": 1,
|
||||
"electric": 1,
|
||||
"grass": 2,
|
||||
"ice": 1,
|
||||
"fighting": 0.5,
|
||||
"poison": 0.5,
|
||||
"ground": 1,
|
||||
"flying": 0.5,
|
||||
"psychic": 2,
|
||||
"bug": 1,
|
||||
"rock": 1,
|
||||
"ghost": 0.5,
|
||||
"dragon": 1,
|
||||
"dark": 2,
|
||||
"steel": 0.5
|
||||
},
|
||||
"rock": {
|
||||
"normal": 1,
|
||||
"fire": 2,
|
||||
"water": 1,
|
||||
"electric": 1,
|
||||
"grass": 1,
|
||||
"ice": 2,
|
||||
"fighting": 0.5,
|
||||
"poison": 1,
|
||||
"ground": 0.5,
|
||||
"flying": 2,
|
||||
"psychic": 1,
|
||||
"bug": 2,
|
||||
"rock": 1,
|
||||
"ghost": 1,
|
||||
"dragon": 1,
|
||||
"dark": 1,
|
||||
"steel": 0.5
|
||||
},
|
||||
"ghost": {
|
||||
"normal": 0,
|
||||
"fire": 1,
|
||||
"water": 1,
|
||||
"electric": 1,
|
||||
"grass": 1,
|
||||
"ice": 1,
|
||||
"fighting": 1,
|
||||
"poison": 1,
|
||||
"ground": 1,
|
||||
"flying": 1,
|
||||
"psychic": 2,
|
||||
"bug": 1,
|
||||
"rock": 1,
|
||||
"ghost": 2,
|
||||
"dragon": 1,
|
||||
"dark": 0.5,
|
||||
"steel": 0.5
|
||||
},
|
||||
"dragon": {
|
||||
"normal": 1,
|
||||
"fire": 1,
|
||||
"water": 1,
|
||||
"electric": 1,
|
||||
"grass": 1,
|
||||
"ice": 1,
|
||||
"fighting": 1,
|
||||
"poison": 1,
|
||||
"ground": 1,
|
||||
"flying": 1,
|
||||
"psychic": 1,
|
||||
"bug": 1,
|
||||
"rock": 1,
|
||||
"ghost": 1,
|
||||
"dragon": 2,
|
||||
"dark": 1,
|
||||
"steel": 0.5
|
||||
},
|
||||
"dark": {
|
||||
"normal": 1,
|
||||
"fire": 1,
|
||||
"water": 1,
|
||||
"electric": 1,
|
||||
"grass": 1,
|
||||
"ice": 1,
|
||||
"fighting": 0.5,
|
||||
"poison": 1,
|
||||
"ground": 1,
|
||||
"flying": 1,
|
||||
"psychic": 2,
|
||||
"bug": 1,
|
||||
"rock": 1,
|
||||
"ghost": 2,
|
||||
"dragon": 1,
|
||||
"dark": 0.5,
|
||||
"steel": 0.5
|
||||
},
|
||||
"steel": {
|
||||
"normal": 1,
|
||||
"fire": 0.5,
|
||||
"water": 0.5,
|
||||
"electric": 0.5,
|
||||
"grass": 1,
|
||||
"ice": 2,
|
||||
"fighting": 1,
|
||||
"poison": 1,
|
||||
"ground": 1,
|
||||
"flying": 1,
|
||||
"psychic": 1,
|
||||
"bug": 1,
|
||||
"rock": 2,
|
||||
"ghost": 1,
|
||||
"dragon": 1,
|
||||
"dark": 1,
|
||||
"steel": 0.5
|
||||
}
|
||||
}
|
||||
|
||||
export default class pokemonCharacterSheet extends api.HandlebarsApplicationMixin(sheets.ActorSheetV2) {
|
||||
|
||||
sheetContext = {};
|
||||
@@ -84,13 +410,25 @@ export default class pokemonCharacterSheet extends api.HandlebarsApplicationMixi
|
||||
context.system.spArmorClass += 2;
|
||||
}
|
||||
|
||||
context.defenses = ["1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1"]
|
||||
context.defenses = context.types.map(type => this.calcEffectiveness(context, type));
|
||||
|
||||
context.system.speed = 30+5*context.system.stats.speed;
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
calcEffectiveness(context, type) {
|
||||
effectiveness = 1
|
||||
|
||||
effectiveness *= effectivenessChart[type][context.system.type1]
|
||||
|
||||
if (context.system.type2 != "") {
|
||||
effectiveness *= effectivenessChart[type][context.system.type2]
|
||||
}
|
||||
|
||||
return effectiveness
|
||||
}
|
||||
|
||||
/** @override */
|
||||
_onRender(context, options) {
|
||||
const tabs = new foundry.applications.ux.Tabs({navSelector: ".tabs", contentSelector: ".content", initial: this.tab});
|
||||
|
||||
Reference in New Issue
Block a user