|
|
- Hooks.once("ready", async function () {
- if (!game.automatedevocations) {
- game.automatedevocations = {};
- game.automatedevocations[game.system.id] = {};
- }
- if(game.system.id == "dnd5e"){
- game.automatedevocations.dnd5e = {
- "Arcane Hand":[
- {
- creature: "Arcane Hand",
- number: 1,
- },
- ],
- "Flaming Sphere":[
- {
- creature: "Flaming Sphere",
- number: 1,
- },
- ],
- "Spiritual Weapon":[
- {
- creature: "Spiritual Weapon",
- number: 1,
- },
- ],
- "Guardian of Faith":[
- {
- creature: "Spectral Guardian",
- number: 1,
- },
- ],
- "Faithful Hound":[
- {
- creature: "Phantom Watchdog",
- number: 1,
- },
- ],
- "Find Steed":[
- {
- creature: "Warhorse",
- number: 1,
- },
- {
- creature: "Pony",
- number: 1,
- },
- {
- creature: "Camel",
- number: 1,
- },
- {
- creature: "Elk",
- number: 1,
- },
- {
- creature: "Mastiff",
- number: 1,
- },
- ],
- "Giant Insect":[
- {
- creature: "Giant Centipede",
- number: 10,
- },
- {
- creature: "Giant Spider",
- number: 3,
- },
- {
- creature: "Giant Wasp",
- number: 5,
- },
- {
- creature: "Giant Scorpion",
- number: 1,
- },
- ],
- "Arcane Sword":[
- {
- creature: "Arcane Sword",
- number: 1,
- },
- ],
- "Conjure Animals": (data) => {
- let multiplier = 1;
- if (data.level >= 5) multiplier = 2;
- if (data.level >= 7) multiplier = 3;
- let beasts = game.actors
- .filter(
- (a) =>
- a.system.details.type?.value == "beast" &&
- a.system.details.cr <= 2
- )
- .sort((a, b) => {
- return a.system.details.cr < b.system.details.cr ? 1 : -1;
- });
- let creatures = [];
- for (let beast of beasts) {
- let number = 1;
- const cr = beast.system.details.cr;
- if(cr==2) number = 1;
- else if(cr==1) number = 2;
- else if(cr==0.5) number = 4;
- else if(cr<=0.25) number = 8;
- creatures.push({
- creature: beast.name,
- number: number*multiplier,
- });
- }
- return creatures;
- },
- "Conjure Celestial": (data) => {
- let celestials = game.actors
- .filter(
- (a) =>
- a.system.details.type?.value == "celestial" &&
- a.system.details.cr <= 4
- )
- .sort((a, b) => {
- return a.system.details.cr < b.system.details.cr ? 1 : -1;
- });
- let creatures = [];
- for (let celestial of celestials) {
- creatures.push({
- creature: celestial.name,
- number: 1,
- });
- }
- return creatures;
- },
- "Conjure Elemental": (data) => {
- let elementals = game.actors
- .filter(
- (a) =>
- a.system.details.type?.value == "elemental" &&
- a.system.details.cr <= data.level
- )
- .sort((a, b) => {
- return a.system.details.cr < b.system.details.cr ? 1 : -1;
- });
- let creatures = [];
- for (let elemental of elementals) {
- creatures.push({
- creature: elemental.name,
- number: 1,
- });
- }
- return creatures;
- },
- "Conjure Fey": (data) => {
- let feys = game.actors
- .filter(
- (a) =>
- a.system.details.type?.value == "fey" &&
- a.system.details.cr <= data.level
- )
- .sort((a, b) => {
- return a.system.details.cr < b.system.details.cr ? 1 : -1;
- });
- let creatures = [];
- for (let fey of feys) {
- creatures.push({
- creature: fey.name,
- number: 1,
- });
- }
- return creatures;
- },
- "Conjure Minor Elementals": (data) => {
- let multiplier = 1;
- if (data.level >= 6) multiplier = 2;
- if (data.level >= 8) multiplier = 3;
- let elementals = game.actors
- .filter(
- (a) =>
- a.system.details.type?.value == "elemental" &&
- a.system.details.cr <= 2
- )
- .sort((a, b) => {
- return a.system.details.cr < b.system.details.cr ? 1 : -1;
- });
-
- let creatures = [];
- for (let elemental of elementals) {
- let number = 1;
- const cr = elemental.system.details.cr;
- if(cr==2) number = 1;
- else if(cr==1) number = 2;
- else if(cr==0.5) number = 4;
- else if(cr<=0.25) number = 8;
- creatures.push({
- creature: elemental.name,
- number: number*multiplier,
- });
- }
- return creatures;
- },
- "Conjure Woodland Beings": (data) => {
- let multiplier = 1;
- if (data.level >= 6) multiplier = 2;
- if (data.level >= 8) multiplier = 3;
- let feys = game.actors
- .filter(
- (a) =>
- a.system.details.type?.value == "fey" &&
- a.system.details.cr <= data.level
- )
- .sort((a, b) => {
- return a.system.details.cr < b.system.details.cr ? 1 : -1;
- });
- let creatures = [];
- for (let fey of feys) {
- let number = 1;
- const cr = fey.system.details.cr;
- if(cr==2) number = 1;
- else if(cr==1) number = 2;
- else if(cr==0.5) number = 4;
- else if(cr<=0.25) number = 8;
- creatures.push({
- creature: fey.name,
- number: number*multiplier,
- });
- }
- return creatures;
- },
- "Animate Dead": (data) => {
- let multiplier = 1 + (data.level-3)*2;
- return [
- {
- creature: "Skeleton",
- number: multiplier,
- },
- {
- creature: "Zombie",
- number: multiplier,
- }
- ]
- },
- "Create Undead": (data) => {
- let multiplier = data.level-3
- if(data.level == 8){
- return [
- {
- creature: "Ghoul",
- number: 5,
- },
- {
- creature: "Ghast",
- number: 2,
- },
- {
- creature: "Wights",
- number: 2,
- }
- ]
- };
- if(data.level == 9){
- return [
- {
- creature: "Ghoul",
- number: 6,
- },
- {
- creature: "Ghast",
- number: 3,
- },
- {
- creature: "Wights",
- number: 3,
- },
- {
- creature: "Mummy",
- number: 2,
- }
- ]
- };
- return [
- {
- creature: "Ghoul",
- number: multiplier,
- }
- ]
- },
- "Find Familiar": [
- {
- creature: "Bat",
- number: 1,
- },
- {
- creature: "Cat",
- number: 1,
- },
- {
- creature: "Crab",
- number: 1,
- },
- {
- creature: "Frog",
- number: 1,
- },
- {
- creature: "Hawk",
- number: 1,
- },
- {
- creature: "Lizard",
- number: 1,
- },
- {
- creature: "Octopus",
- number: 1,
- },
- {
- creature: "Owl",
- number: 1,
- },
- {
- creature: "Poisonous Snake",
- number: 1,
- },
- {
- creature: "Quipper",
- number: 1,
- },
- {
- creature: "Rat",
- number: 1,
- },
- {
- creature: "Raven",
- number: 1,
- },
- {
- creature: "Sea Horse",
- number: 1,
- },
- {
- creature: "Spider",
- number: 1,
- },
- {
- creature: "Weasel",
- number: 1,
- },
- ],
- };
- }
- game.automatedevocations.originalBindings = deepClone(game.automatedevocations[game.system.id]);
- game.automatedevocations[game.system.id] = mergeObject(game.automatedevocations[game.system.id],game.settings.get(AECONSTS.MN, "customautospells"))
- });
|