forked from moo-man/WFRP4e-FoundryVTT
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwfrp4e.js
129 lines (121 loc) · 5.37 KB
/
wfrp4e.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
// Import Modules
import ActorSheetWfrp4e from "./modules/actor/sheet/actor-sheet.js"
import ActorSheetWfrp4eCharacter from "./modules/actor/sheet/character-sheet.js";
import ActorSheetWfrp4eNPC from "./modules/actor/sheet/npc-sheet.js";
import ActorSheetWfrp4eCreature from "./modules/actor/sheet/creature-sheet.js";
import ActorSheetWfrp4eVehicle from "./modules/actor/sheet/vehicle-sheet.js";
import ItemSheetWfrp4e from "./modules/item/item-sheet.js";
import ActorWfrp4e from "./modules/actor/actor-wfrp4e.js";
import ItemWfrp4e from "./modules/item/item-wfrp4e.js";
import registerHooks from "./modules/system/hooks.js"
import CharGenWfrp4e from "./modules/apps/chargen/char-gen.js"
import MarketWfrp4e from "./modules/apps/market-wfrp4e.js";
import NameGenWfrp from "./modules/apps/name-gen.js";
import StatBlockParser from "./modules/apps/stat-parser.js";
import BrowserWfrp4e from "./modules/apps/wfrp-browser.js";
import WFRP_Audio from "./modules/system/audio-wfrp4e.js";
import WFRP4E from "./modules/system/config-wfrp4e.js"
import ChatWFRP from "./modules/system/chat-wfrp4e.js";
import OpposedWFRP from "./modules/system/opposed-wfrp4e.js";
import WFRP_Tables from "./modules/system/tables-wfrp4e.js";
import WFRP_Utility from "./modules/system/utility-wfrp4e.js";
import AOETemplate from "./modules/system/aoe.js"
import ActorSettings from "./modules/apps/actor-settings.js";
import WFRPActiveEffectConfig from "./modules/apps/active-effect.js";
import Migration from "./modules/system/migrations.js";
import HomebrewSettings from "./modules/apps/homebrew-settings.js"
import CareerSelector from "./modules/apps/career-selector.js"
import CombatHelpers from "./modules/system/combat.js"
import ActiveEffectWfrp4e from "./modules/system/effect-wfrp4e.js"
import TagManager from "./modules/system/tag-manager.js";
import ItemProperties from "./modules/apps/item-properties.js"
import TestWFRP from "./modules/system/rolls/test-wfrp4e.js";
import CharacteristicTest from "./modules/system/rolls/characteristic-test.js";
import SkillTest from "./modules/system/rolls/skill-test.js";
import WeaponTest from "./modules/system/rolls/weapon-test.js";
import CastTest from "./modules/system/rolls/cast-test.js";
import WomCastTest from "./modules/system/rolls/wom-cast-test.js";
import ChannelTest from "./modules/system/rolls/channel-test.js";
import PrayerTest from "./modules/system/rolls/prayer-test.js";
import TraitTest from "./modules/system/rolls/trait-test.js";
import ModuleUpdater from "./modules/apps/module-updater.js"
import ModuleInitializer from "./modules/apps/module-initialization.js";
import WFRPTableConfig from "./modules/apps/table-config.js";
import ItemDialog from "./modules/apps/item-dialog.js";
import { WFRPJournalTextPageSheet } from "./modules/system/journal-sheet.js";
import { ChargenStage } from "./modules/apps/chargen/stage.js";
/* -------------------------------------------- */
/* Foundry VTT Initialization */
/* -------------------------------------------- */
Hooks.once("init", async function () {
// #if _ENV === "development"
CONFIG.debug.wfrp4e = true;
WFRP_Utility.log("Development Mode: Logs on")
//#endif
// Register sheet application classes
Actors.unregisterSheet("core", ActorSheet);
Actors.registerSheet("wfrp4e", ActorSheetWfrp4eCharacter, { types: ["character"], makeDefault: true });
Actors.registerSheet("wfrp4e", ActorSheetWfrp4eNPC, { types: ["npc"], makeDefault: true });
Actors.registerSheet("wfrp4e", ActorSheetWfrp4eCreature, { types: ["creature"], makeDefault: true });
Actors.registerSheet("wfrp4e", ActorSheetWfrp4eVehicle, { types: ["vehicle"], makeDefault: true });
Items.unregisterSheet("core", ItemSheet);
Items.registerSheet("wfrp4e", ItemSheetWfrp4e, { makeDefault: true });
DocumentSheetConfig.registerSheet(RollTable, "wfrp4e", WFRPTableConfig, {makeDefault: true})
DocumentSheetConfig.registerSheet(ActiveEffect, "wfrp4e", WFRPActiveEffectConfig, {makeDefault :true})
// DocumentSheetConfig.registerSheet(JournalEntry, "wfrp4e", WFRPJournalSheet, {makeDefault :true})
DocumentSheetConfig.registerSheet(JournalEntryPage, "wfrp4e", WFRPJournalTextPageSheet, {types: ["text"], makeDefault: true, label : "WFRP Journal Sheet (ProseMirror)"})
game.wfrp4e = {
apps: {
ActorSheetWfrp4e,
ActorSheetWfrp4eCharacter,
ActorSheetWfrp4eCreature,
ActorSheetWfrp4eNPC,
ActorSheetWfrp4eVehicle,
ItemSheetWfrp4e,
CharGenWfrp4e,
StatBlockParser,
BrowserWfrp4e,
ActorSettings,
WFRPActiveEffectConfig,
HomebrewSettings,
CareerSelector,
ItemProperties,
ModuleUpdater,
ModuleInitializer,
ItemDialog,
ChargenStage
},
entities: {
ActorWfrp4e,
ItemWfrp4e
},
rolls : {
TestWFRP,
CharacteristicTest,
SkillTest,
WeaponTest,
CastTest,
WomCastTest,
ChannelTest,
PrayerTest,
TraitTest
},
utility: WFRP_Utility,
tables: WFRP_Tables,
config: WFRP4E,
chat: ChatWFRP,
market: MarketWfrp4e,
audio: WFRP_Audio,
opposed: OpposedWFRP,
names: NameGenWfrp,
combat: CombatHelpers,
aoe: AOETemplate,
migration: Migration,
tags : new TagManager()
}
// Assign the actor class to the CONFIG
CONFIG.Actor.documentClass = ActorWfrp4e;
CONFIG.Item.documentClass = ItemWfrp4e;
CONFIG.ActiveEffect.documentClass = ActiveEffectWfrp4e
});
registerHooks()