add darksight

This commit is contained in:
Mike Bloy 2024-05-15 21:30:40 -05:00
parent 2caa2a4633
commit 57caeccad2
2 changed files with 70 additions and 67 deletions

View File

@ -0,0 +1,69 @@
import { PowerEffect } from './basePowers.js';
export class DarksightEffect extends PowerEffect {
get name() {
return 'Darksight';
}
get icon() {
return 'icons/magic/perception/eye-ringed-glow-angry-small-teal.webp';
}
get duration() {
return 600;
}
get basePowerPoints() {
return 1;
}
get isTargeted() {
return true;
}
get hasAdditionalRecipients() {
return true;
}
get additionalRecipientCost() {
return 1;
}
get modifiers() {
const mods = super.modifiers;
mods.push({
name: 'Greater Darksight',
type: 'checkbox',
value: 2,
id: 'greater',
epic: true,
effect: false,
});
return mods;
}
get description() {
let desc = super.description;
desc += '<p>';
if (this.data.greater) {
desc += `Can see in all darkness, ignoring all illumination penalties and
4 points of penalties from invisible creatures`;
} else if (this.data.raise) {
desc += 'Can see in Pitch Darkness and ignore up to 6 points of illumination penalties';
} else {
desc += 'Can see in darkness and ignore 4 points of illumination penalties';
}
desc += '</p>';
return desc;
}
get effectName() {
if (this.data.greater) {
return 'Greater Darksight';
} else if (this.data.raise) {
return 'Major Darksight';
} else {
return 'Darksignt';
}
}
}

View File

@ -14,73 +14,7 @@ import { BurstEffect } from './burst.js';
import { ConfusionEffect } from './confusion.js';
import { CurseEffect } from './curse.js';
import { DamageFieldEffect } from './damageField.js';
class DarksightEffect extends PowerEffect {
get name() {
return 'Darksight';
}
get icon() {
return 'icons/magic/perception/eye-ringed-glow-angry-small-teal.webp';
}
get duration() {
return 600;
}
get basePowerPoints() {
return 1;
}
get isTargeted() {
return true;
}
get hasAdditionalRecipients() {
return true;
}
get additionalRecipientCost() {
return 1;
}
get modifiers() {
const mods = super.modifiers;
mods.push({
name: 'Greater Darksight',
value: 2,
id: 'greater',
epic: true,
effect: false,
});
return mods;
}
get description() {
let desc = super.description;
desc += '<p>';
if (this.data.mods.has('greater')) {
desc += `Can see in all darkness, ignoring all illumination penalties and
4 points of penalties from invisible creatures`;
} else if (this.data.raise) {
desc += 'Can see in Pitch Darkness and ignore up to 6 points of illumination penalties';
} else {
desc += 'Can see in darkness and ignore 4 points of illumination penalties';
}
desc += '</p>';
return desc;
}
get effectName() {
if (this.data.mods.has('greater')) {
return 'Greater Darksight';
} else if (this.data.raise) {
return 'Major Darksight';
} else {
return 'Darksignt';
}
}
}
import { DarksightEffect } from './darksight.js';
class DeflectionEffect extends PowerEffect {
get name() {