/
User_Manual.txt
executable file
·568 lines (456 loc) · 42.3 KB
/
User_Manual.txt
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
====================================
= Illydth's Monster Creator =
====================================
See "Why Illydth's Monster Creator?" at the end of this document if you wonder what the capabiltiies of this library are
or why you should choose to use this in your campaign.
Requirements:
==========================
GENERALLY SPEAKING This library should be usable on any recent version of MapTool. It was devoped in MapTool 1.7.0 and
has only been tested in the 1.7 version of MapTool so YMMV if you choose to use this library in prior versions. That said,
MOST functionality in the library works with any "Recet" version of MT. If you're using something prior to like 1.6 you
might run into functionality within the macros that isn't implemented...and the farther back from 1.6 you go, the more
likely you are to run into specfiic macro functionality to fail.
That said, for 5eTools, the form for that input IS a dialog5 form with a small amount of Javascript behind the scenes.
This form may not need HTML5 functionality, but again modifying this for HTML3 to support older versions of MT might cause
issues in the input.
For best use, use MT 1.6+ for this mod.
The next requirement depends upon how you're entering data to the Monster. If you are using the 5eAPI REST calls for
creating 5e SRD monsters, you'll need an interenet connection and an ability to connect with the 5eAPI website.
Usage Best Practices:
===================================
First, lets talk "best practice". While this can be used to generate monsters in a running campaign, the intent of Illydth's
Monster Creator (IMC / imcMonsterCreator) is to generate Monsters outside of the campaign gameplay time and then use those
generated monsters in your actual campaign. This means creating a campaign specific to generating monsters. This is
important because IMC uses token and portrait images to setup the tokens and those images can take LOTS Of space in a campaign.
While you CAN add a token/portrait image before creating a monster, having a campaign which you can load up with images and
then generate whatever you'd like to generate is arguably a better method of doing it than trying to come up with Token/Portrait
images in the middle of a game.
The installation here assumes this best practice, as such it will cover the following:
* Using the provided campaign file for generating monsters.
* Using installing the Lib and important tokens into your campaign for using generated monsters.
* Optional Functionality Additions
Installation:
==========================
Using the provided imcMonsterCreator5e.cmpgn file provides an already setup/ready to go creation campaign without requiring
a lot of work on your part. However, creating that campaign or (not recommended but possible) adding this to your own
campaign as follows:
* Unpack the distribution.
* Create a new Campaign.
* Add the Lib_MonsterCreator.rptok file onto your Library map.
* Add the BasicMonster.rptok file to the Library map.
* Create a new Map called "Tokens"
* Add "01_generic_token.rptok" to the Tokens Map
* Create a new Map called "Portraits"
* Add "01_generic_portrait.rptok" to the Tokens Map
* Select the Lib_MonsterCreator token on the Library Map
* Copy "Create New Monster", "Process Monster", and "Set Portrait Image" buttons to the GM Window.
* (If Needed) Run setLibProperties on the Lib_MonsterCreator to set basic properties for monster creation.
If you are going to use this campaign to test monsters you generate, you'll also want the following optional additions:
* LairActionEffects.rptok
* (Optional) issSpellStates (See issSpellStates archive for Installation).
The only other step is to ensure that any Tokens and Portraits placed into the Tokens and Portraits map are the name of the
creature you wish to create. So if you are attempting to create an Aboleth, have the token image and the portrait image
both named "Aboleth" on the respective maps. Any missing images will automatically hook the generic token or portrait images
on the Token or Portrait maps to fill in for missing images.
To use the tokens, you'll still need to have the Library Token (Lib_MonsterCreator) in your actual campaign map. Once the
monsters are generated they still have hooks to the Library, so installation into your campaign falls as follows:
* Unpack the Distribution
* Open your Campaign file.
* Add Lib_MonsterCreator.rptok to your campaign Library map.
* Add LiarActionEffects.rptok
* Add Monsters generated by imcMosnterCreator to the various maps.
* Add the Campaign Properties in "Campaign_Properties.txt" to the campaign properties for your campaign.
* (Optional) Add issSpellStates to your campaign file to unlock the full functionality of monster spell casting.
(See issSpellStates archive for installation instructions)
If you also intend to generate monsters in your real campaign (not recommended due to image sizes, but possible) you'll want
to do the following:
* Add BasicMonster.rptok to the Library Map
* Add new "Tokens" and "Portraits" maps to your campaign.
* Add the 01_generic_* tokens to the respective maps to allow for the generic token images.
How to Use imcMonsterCreator
=================================
--------------------------
Generating Monsters in a Campaign
--------------------------
As per the best practices, the easiest way to generate new monster tokens is to open the pre-canned IMC campaign file and
generate your monsters through it.
* Open the Campaign file.
* Add token and portrat images to the "Tokens" and "Portraits" maps.
* Make sure each token and portrait image are named for the monster they belong to (If you are creating an "Aboleth" you should
name the token image for the Aboleth as "Aboleth" and the portrait image "Aboleth".
* If you are mass adding images from an outside source, you can use the "sortImages" button on the Library Token within a map with
images on it to automatically alphabetically spread and sort images on the map.
* Click the "Create New Monster" button. There are 2 options: 5eAPI and 5eTools (See "Monster Import Options" later), the other
two options (Table and Library Token) are not implimented and may or may not be removed in a future version of this Drop-In.
* Fill in the Monster's Name. This should be the full, real name of a D&D 5th Edition Dungeon's and Dragon's Monster that exists
in the data source you've selected above. There is a check of name against import name which will prompt if the names are
different.
* Select the Data source and hit OK.
* If you have selected 5eAPI, the monster token should be generated on the board and be ready for processing. If you selected
5eTools, you will be prompted for importing the JSON Data from that import source.
* Select the new token that's been created on your map and click the "Process Monster" button to read the JSON data and generate
the Stat block and monster abilities tracked within the data source.
* If you have a portrait that is being used for multiple monsters (such as a dragon portrait that can be used for all the
various ages of the same dragon), you can use the "Set Portrait Image" to select from the various portraits to assign to
the new token.
* Once the monster is generated and images are set, right click the monster and click "Save" to save the monster off as a token
to your Resource Library for use later.
--------------------------
Using the Generated Monsters
--------------------------
Once you have a host of monsters generated, using them is easy.
* Open your real campaign file.
* Add the Library token and the Lair Actions token to the Library map.
* Add the Campaign Properties to your campaign.
* For full functionality, add issSpellStates to your campaign (not required but functionality is hooked by IMC if you have it
installed).
* Drag the created tokens from your Resource Library to the Battle Map and use the token like you would any other.
NOTE: If you wish to generate monsters in your campaign on the fly or at least have the capability of doing so, make sure to
follow the installation instructions above.
For full usage and a full set of features, it's HIGHLY recommended to read / work through the imcMonsterCreator_by_Example.txt
file. It should walk you through every feature provided by IMC.
-------------------------------
Setting the Critical Damage Formula
-------------------------------
IMC takes into account that various DMs have various ways of handling Critical Damage in a campaign. For instance, the Player's
Handbook lays out two different formula in it's own description of critical damage: Roll 2 Dice, Add them and then Add Bonuses;
and Roll 1 Die, Multiply it's outcome by 2 and then add bonuses. There are also several "homebrew" methods for critical damage,
some of which multiply all damage including bonuses while others force maximum damage on one or more dice. While the system does
not support EVERY POSSIBLE option (for instance, there is no method by which to "force" a die roll to max), it does use a formula
system defined in a property to allow GMs/DMs to set their own methods of calculating critical strike damage. By default, the
base "formula" property is stored on the Library Token (Lib_MonsterCreator) in the property "pCriticalFormula". It's set to:
%{dice1}+%{dice2}+%{add}
Where:
%{} - identifies the markings around a variable.
%{dice1} - identifies the first die roll of damage, for multiple dice of damage such as 2d10 or 4d6, "dice1" identifies the damage
added up across all the damage dice on the first roll. For multiple damage sources (such as 2d10 piercing damage and 3d6 fire
damage) "dice1" equates to all damage from all damage types added together into a single number. For example, for 4d6, with
rolls of 2, 4, 2, 6, dice1 would equal 14...2+4+2+6. NOTE: This does NOT include bonus damage applied by, for instance, a
Proficiency or Strength Bonus, only the damage rolled by the damage die/dice.
%{dice2} - As with dice1 above, this identifies the second roll of damage, and for multiple damage dice or multiple damage types,
the combined total of the second roll of the damage dice and types, again, not including any bonus damage.
%{add} - is the "additional" damage on the attack, generally provided by proficiency and stat bonuses. "add" is any additional
damage applied to the damage roll that would NOT be doubled in the case of a normal critical strike damage calculation.
We've seen the basic formula:
%{dice1}+%{dice2}+%{add}
In short this is "damage dice roll 1" + "damage dice roll 2" + "additional damage", or...the base formula for 5e. If, instead
you wanted 2x dice + add you'd change this formula to read:
2*%{dice1}+%{add}
Which would give you 2 times the first set of dice rolled + additional damage. If you like huge criticals and use another
common formula of 2x(all dice + bonus damage) you could use:
2*(%{dice1}+%{add})
These "formula" are in "strformat()" format in MapTool. While I haven't tested anything too spectacular or complicated,
any formula that would properly "eval" should be able to be used in that property to create critical damage.
Can I use imcMonsterCreator for systems other than 5e?
=================================
Unfortunately, imcMonsterCreator is VERY tuned to the input sources of 5eAPI and 5eTools. These input sources are very very
specific to the D&D 5th Edition system. It's not impossible to use the JSON format from either 5eAPI or 5eTools to fill in
your own NPCs, but this is going to be a significant amount of manual effort.
That said, for systems like Pathfinder 1e/2e or AD&D 2nd/3rd/3.5/4th Edition, which tend to use the same basic monsters like
Kobolds or Orcs, it's not impossible to take a JSON output from one of the two input sources (I recommend 5eTools) and modify
it for the statistics and abilties set forth by your system.
For instance:
In Pathfinder First Edition, a Kobold has an AC of 15, Darkvision to 60', a Perception of +5, and 5 HP (1d10 Hitdice). It
attacks with a spear with a +1 to hit and damage of 1d6-1 or a sling with +3 to hit and 1d3-1 damage. It has Stats of
9, 13, 10, 10, 9, 8.
In 5th Edition, a Kobold has an AC of 12, Darkvision to 60', a perception of 8, and 5 HP (2d6 Hitdice). It attacks with
a dagger (+4 to hit, 1d4+2 Damage) or a Sling (+4 to Hit, 1d4+2 Damage). It has stats of 7, 15, 9, 8, 7, 8.
The 5eAPI or 5eTools JSON could be mostly directly moidifed by copying it to a text file, changing the stats, attacks, and
other information in the JSON, and then using that modified JSON to generate the Kobold for PF1e instead of D&D5e.
This process isn't easy, but given the system similarity between all of the D&D variants it's possible to hack up the JSON
to change the stats and create the revised version of the monster.
However, the creation system is very much based around the JSON header names / 5e/D&D statistics (like speed, armor_class,
strength, or alignment. If your system uses, for instance, "spirit" instead of "wisdom", it's unlikely you'll be able to
make this creation system work for you.
See "Monster Import Options" for additional information.
Why Illydth's Monster Creator?
================================
Unlike issSpellStates (my other Dropin), IMC isn't really solving any problems that can't be solved by the system or DMs
themselves. However, the problem currently has to do with time. Lets face it, creating monsters in MapTool (or pretty
much any other VTT) from scratch is a difficult process. Even with a stat block in front of you from the DMG or a viable
electronic copy of it, creating the token, creating the properties, hand entering each of the monster's stats and then
coding up each of it's abilities...or even just writing down all the ability information in a single macro...is a LONG
process. Attacks, Special Abilties, Defenses, Lair Actions, Spells...all of these require some kind of entry and, if not
using it just as a text reminder of an ability, a button and underlying macro to "do a thing" or "roll the dice". Creating
a complex creature like a Dragon or a Lich could take literally hours to "do it right" and more than a couple minutes simply
to create things on the token that could be used as placeholders for it's abilities...I mean a Lich, alone, has over 20
different and unique abilties it can use on a turn, closer to 30 if you count lair actions and special abilities.
And, unforutnately, no one seems to have solved this problem yet. There are monsters available for use in MapTool, many
of them provided by other content creators and Drop-in Systems, but those solutions are limited, non-extendable and also
rather locked in to specific frameworks. To my knowlege, a general "create a monster" system has never really been produced
for this VTT.
The problem is how to provide a system by which to create content without distributing that content, and thus breaking
copyright and piracy laws...after all, WotC and electronic content creators like D&D Beyond don't exactly make it easy or
even legal to use their data in a format that would be condusive to content generation. Other VTTs "solve" some of these
problems through browser plugins or other "scrapeing" methods that, at the end of the day, are prone to being intentionally
broken by the content producers.
Illydth's Monster Creator (imcMonsterCreator or IMC) takes the approach of using two unique and independent data sources to
generate content, allowing users to provide the data for a monster to the generation system using one of two formats. ALL
data for the generation of a monster using IMC lives OUTSIDE the IMC distribution for MapTool and is brought in to the tool
by the end user. The truely free source of this data is hooked up to require a minimum of work on the end user/GM's part,
simply type the name of a Monster in the 5th Edition SRD and it will automatically pull down and generate that monster from
it's data. For non-free sources, GMs/DMs will need to manually input (cut/copy/paste) the JSON formatted data for the
monster being created for the system to generate the monster as needed. Both systems require the GM to have a source of token
and portrait images for each monster generated or to use the generic monster image/portrait...portraits and token images
are not downloaded/provided by the tool by default...these will need to be supplied by the GM/DM.
The first data sorce is a project who's data is based around the 5th Edition SRD...the free content that WotC provides as
a systems reference for the 5e system. It also happens to be the exact same project other content producers produce their
monster content from...allowing for one-for-one generation of content through this tool or other tools. The cool part
about this project is that it's the default, it's free to use, and anything generated through this content project is freely
usable without license problems. As well, this data is accessible through a button click, using REST API calls to retrieve
the monster data directly from the project source. Further, because the data is coming "from the source" in real time,
updates or bug fixes to that data don't rely upon other content creators to update their content, simply click a button and
your data is automatically refreshed. Lastly, because creation is quick, there's no reason to have to parse through hundreds
of monsters to find the one you want. If you want an "Adult Red Dragon" generate an adult red dragon and then put it where
you want it...no need to have to sort through all age groups of all 15 types of chromatic/metalic dragons to find the one
you want.
The second project is more fully featured...but also more prone to "legality" issues. As noted on the project page, the
content is produced and available for use by those who legally have a right to use this content. Generating monsters from
this second content project is more involved, requiring data to be cut/copy/pasted into boxes from the original source. It
produces a higher quality of mosnter with more abilities and can generate data from more sources (not just the free SRD), but
should only be used to generate content you are legally allowed to have access to. You'll find references to this second
system throughout this document and in the Monster Creator itself, but I provide no support on how to use this second source
of data...this isn't intended to annoy or upset people, I simply believe that content providers have a right to receive
compensation for their work, and by providing easy to use instructions for how to obtain content you don't own and then use
that content to easily create "things" within MapTool, I am both contributing to a broader global electronic piracy problem
and potentially creating challenges for MapTool, the applciation we all love.
Still, for those who have paid for their content, I have specifically enabled the use of this second data source so that you
can generate and use content specific to 5e published references and even monsters specific to 5e published modules. It's not
that much more difficult to create a monster from this content and it is the ONLY solution you'll find to being able to
generate monsters not in the SRD...a system such as this is the ONLY way I can figure out how to provide the ability to create
paid-for content in MapTool without breaking TOS or copyright laws. Please see the "Advanced Topics" section for more
information.
So, who should be interested in using this?
* If you are a DM/GM of a D&D 5th Edition Game OR
* If you are a DM/GM of a 2nd, 3rd, 3.5, 4th Edition or Pathifinder 1st or 2nd Edition Game and don't mind putting in some
elbow greese.
AND:
* If you need the ability to generate monsters on the fly OR
* If you need the ability to generate monsters that aren't in the 5e SRD (and you have paid for the content you wish to generate) OR
* If you need the ability to generate single monsters instead of loading your Resources section with hundreds of pre-canned
monsters you will then need to sort through later OR
* If you need the ability to keep mosnters up-to-date with the original data sources and fix (manually or automatically) problems
with monster stats or abilities OR
* If you need the abillity to generate one-off monsters based off of other monsters in the system...like creating a "boss" version
of an Ogre or to generically double the hitpoints on all orc tokens due to the number of players or the power level of the
campaign OR
* If you simply want a somewhat estetically pleasing monster with consistent macro button sizes and color coded macro buttons based
upon the type of attack or ability being used OR
* If you like an estetically pleasing output for dice rolls from monster attacks / abilities that takes into account Advantage,
Disadvantage, and Critical Damage via a formula YOU define OR
* You want a monster attack/macro system that allows you the flexibility of rolling your own dice or having MapTool roll those dice
for you...
You should probably check out imcMonsterCreator. This system has so far saved me and a couple other DMs a significant amount of time
in their camapaigns. I'd love to hear how it's saved you time as well (or conversely what bothers you about it). See "How Do I Get
Support" later in the document.
Advanced Topics
===========================
--------------------------
imcMonsterCreator vs. Bobifle's Drop-In Tokens
--------------------------
What's the difference between Bobifle's Drop-In Tokens and imcMonsterCreator?
Why would I use one or the other of these Drop-Ins?
Is one easier to use than the other?
To begin this topic, both of these Drop-Ins are excellent to have "installed" within your campaign. Melek's Simple 5e comes
pre-installed with the Library Token that makes Bobifle's Tokens work, and if you are using Simple 5e, it makes Bobifle's
drop-in tokens easier to use than my imcMonsterCreator system. If all you want is access to the SRD monsters there's a good
chance that Bobifle's Drop-in tokens does about 90% of what you might want. (See below for why you might want to use this
system instead to cover the missing 10%).
That said, if Bobifle's Tokens were all anyone needed, i'd never have created this drop-in. :)
The largest difference between Bobifle's Tokens and my creation system are around campaign properties. The drop-in tokens
system mostly uses Simple5e's "Basic" properties. The problem with this is that if your 5e Framework uses different
campaign properties (for instance STR instead of Strength), many of the Drop-In Tokens systems properties are going to
be hidden from you. That doesn't make the tokens unusable, it just makes them difficult to modify or maintain.
And that is probably the most challenging difference between that system and this one: The drop-in-tokens system is
all pre-created and the underlying data is simply inaccessible. This leads to the two largest problems that caused me to
build imcMonsterCreator: Lack of ability to extend the Drop-in Tokens to additional monsters, and lack of ability to fix
data problems within the drop in tokens system.
For those who don't know, the drop-in-tokens system generates it's data from outside of MapTool using python scritps and
downloaded data / images for each of the tokens. This basically means there's no way to reproduce these tokens without
reverse-engineering Bobifle's process. This makes these tokens very static. During my work on imcMonsterCreator, I found
a few data problems with both 5eAPI and 5eTools, all of which I reported to the respective systems and for which those
systems have updated their underlying data. For every data issue found on 5eAPI's system, those data issues will exist
on the Drop-in Tokens system...and there's no way to fix that data without Bobifle re-releasing a new version of those
tokens...leaving you reliant on a MapTool creator for consistent updates if/when something changes.
Also, because of the generation process, there's no real way to add additional monsters to these drop in tokens...there's
just no way to extend the system to allow additional content. By generating tokens through an external code tool and
requiring a set of undocumented resources for that code tool to properly generate these tokens, it's very diffciult to
randomly throw in a home brew monster here or create a one-off "boss" version of a monster there and unless you happen to
be using the Simple5e Framework, it's also signfiicantly difficult to get access to the underlying properties that these
monsters rely upon to make the modifications manually.
imcMonsterCreator is a very different system to this. Whereas Bobifle's monster tokens are VERY static, imcMonsterCreator
goes the opposite direction and allows for users to generate tokens individually, through MapTool, one at a time/monster-
by-monster, and provides access to the underlying source of data. This allows users to modify that data at will, making
it easy to create one-off versions or even entirely new monsters on the fly. It also supports two different input data
types, allowing for the use of more than just what's available in the SRD.
I solve the "Campaign Properties" problem by using my own block of campaign properties for the monsters I generate. The
benefit here is that beacuse the properties are different, these mosnters are usable in ANY campaign, regardless of how
that campaign's properties were named. As an added benefit, the "mouse over stat sheet" can be modified to provide players
and DMs as much or as little information on a monster as the DM wants without limiting what the player stat sheet can show.
If you want players to be able to see EACH OTHER'S Armor Class, but NOT the monster's armor class, that's basically
impossible with the current Drop-in Tokens system, because those tokens use the same properites sheet as the players do,
the same display rules apply...to not show Monster AC to players you'd have to restrict AC display to token owner only...
removing the ability for other players to see each other's AC. With my system, the monster's AC is an entirely different
property than the player's AC, meaning that the player's AC can be set publicly visible while the Monster's AC can be set
as visible to token owner or GM only.
I solve the Data update problem by saving the underlying JSON Data that I process as a property on the token itself,
meaning that every monster includes a visable and editable version of it's base data stored on each copy of the token.
I further provide tools on each token to modify/edit that JSON data, wipe and reset the token based upon that data, or
re-load that data from it's original source. This provides several benefits: One-Off or home-brew monsters can be
created by simply dragging a copy of the base monster to the board and then editing it's JSON property set to modify THAT
copy of the token, which can then be thrown away or saved as a different monster based upon it's usefulness in the future.
* Generating a one off version of a monster is as easy as dragging a copy of it to the MapTool interface and clicking it's
JSON Modification button, modifying the JSON data for the changes you want, and clicking the button to reprocess the
Token.
* Need to reset a token back to default? One button click will blow away everyhing on the token and re-generate all of the
buttons and stats from the base data.
* Need to fix a data discrepancy with a generated token? Click the button to re-load the token's data from it's external
source. This allows you to re-pull or re-provide the underlying JSON that updates that token.
Note that using the 5eAPI data source in imcMonsterCreator provides 100% one for one access to the EXACT same content as
is being used by Bobifle's system. Bobifle uses 5eAPI to generate those tokens so there are no differences between system
data sources. Generating anything from a Kobold to an Ancient Dragon in imcMonsterCreator using the 5eAPI data source
will create a token that matches Bobifle's token one for one.
SO what's the bottom line here?
* If you just need access to the 5th Edition SRD Monsters and you happen to be using Melek's Simple5e System, and you have
no need to update or modify those monsters at all, Bobifle's drop in tokens system is a GREAT way to provide mosnters to
your campaign without having to go through the work of seting up imcMonsterCreator or generating monsters.
* If you need access to anything other than the SRD Monsters, want to keep all mosnters data up to date with their original
sources, want to create one-off or home-brew monster content, want access to the underlying properties or original data for
each monster token, like the idea of separated campaign properties for NPC and PC tokens, or just want to be able to generate
monsters in your campaigns as you need them instead of having to install 750ish monsters into your Resource Library that you
then need to parse/find, imcMonsterCreator is a flexible system you should take a look at.
Bobifle's System is easier to use, mine is much more flexible. That's pretty much the one liner.
--------------------------
Setting up Your Own 5eAPI or 5eTools
--------------------------
Both 5eAPI and 5eTools are open source efforts surrounding 5e data. Both have the capability of being run locally (on your
own systems).
* https://github.com/bagelbits/5e-srd-api - 5eAPI, the Database is at a different location, see the "Data Issues" section
of their GitHub page above to get to the database.
* https://github.com/TheGiddyLimit/TheGiddyLimit.github.io.git - 5eTools. You can also get to 5eTools Download from the
https://get.5e.tools/ location.
It is actually encouraged to run 5eTools / 5eAPI from your local systems. This ensures that even if you lose access to the
internet for a period, you still have access to the data. As well, too many people accessing these resources from their source
sites raises the price of maintaining those sites...requiring more resources to host the data for more people. If you do
stand up one or more of the sources above on your own hardware/infrastructure/computer, you can right click the Lib_MonsterCreator
token and modify the "p5aURL" and/or the "p5tURL" property to point at your local URL for these soruces instead of the internet
based URL for these sources.
------------------------- PLEASE READ THIS -----------------------------
*** The data sets above are intended to provide an electronic dataset for data which you have already paid for and already ***
*** own in another form. You are strongly discouraged from using datasources such as these to "pirate" content you do not ***
*** own. ***
Why is this important? First, and foremost, because publishers, writers, copy writers, and yes, even businesses, diserve to
be paid for works they create. People are employed and effort is put in on products that sell, products that don't sell tend
to lose their funding, their reosurces, and their employees. If you like 5th Edition and want, at some point, to see more
content created for this wonderful system or a 6th edition of D&D published at some point in the future, it's important that
WotC sees financial compensation for it's efforts.
If that doesn't sway you (and similar arguements for other forms of piracy didn't sway me long ago when I was younger) then
try this:
By using data from reosurces you have not paid for and do not own, you make it more cost effective for companies like WotC
to crack down on efforts like 5eAPI or 5eTools, elminiating these sources of data for ALL OF US, including those who HAVE
paid for the reosurces and who are using this data arguably within our rights to do so. You also give companies like
WotC Pause in allowing electronic copies of their data, making it harder for sites like D&D Beyond to even exist.
Electronic sources of data for WotC published information outside of the SRD are few and far between. Standard sources of
electronic data, such as D&D Beyond, HEAVILY control how that data is used and generally ensure it is not available for use in
a VTT program such as MapTool or Foundry or other VTTs that don't sell their own packages of data such as Roll20. For open
source platforms like MapTool to remain viable against platforms with paid for content like D&D Beyond or Roll20, it's important
that electronic versions of system data exist and are available to system content creators (read GMs/DMs). With a lack of data,
being able to do something like create monsters via imcMonsterCreator would be impossible...making systems like 5e MUCH less
useful overall, and forcing DMs/GMs to invest more heavily into "lock in" content creators. If you like MapTool or Foundry or
any other VTT that doesn't sell packages of data to you for use in their VTT, realise that the more people who use data they
haven't paid for the more likely it is we'll all be living in a world where tools like MapTool don't exist anymore.
As the 5etools website says: "5etools is intended as an easily-accessible digital reference for products you already own. Please
ensure you only access content in accordance with your local laws."
And here's the thing: You don't NEED to pirate data to have fun with D&D. The 5th Edition SRD has something in the
neighborhood of 750 monsters available to you for use...and these aren't the no-name stuff, ALL of the most iconic 5e Monsters
like Dragons, Liches, Beholders, Mind Flayers, Drow, etc. are available within the SRD. It's pretty much impossible, even if
you're developing a campaign that will last for years, to exhaust the monsters available JUST through the SRD.
And imcMonsterCreator is 100% compatable with all of these SRD monsters. Just select 5eAPI as your source and go to town...if
you can generate it using that data source, you're freely available to use that data as much as you want however you want with
no fears of pirating content.
There's also the capabilty of creating your own content using the 5eTools JSON format. Have a monster in mind? Modifying the
5eTools JSON for your monster isn't that difficult.
Lastly: Please don't broadly and publicly post about these sources. I'm sure the existance of these sources are well known by
WotC, but some level of availability of "non-approved" sources of data actually benefits the continued dominance of 5e as a TTRPG
system. After all, WotC isn't providing electronic versions of their data, and it's difficult to argue that the availability of
an electronic version of their data isn't beneficial to WotC so long as it's available to DMs who have already paid for the content.
That said, broadly and publicly posting about these sources of data is simply asking to change the formula around the cost/benefits
of this data being availble. There is a discord dedicated to each of these data sources as well as a GitHub (linked above) for
posting about data problems or other issues of the system overall. Use those resources. See "How do I get Support" below.
-------------------------------
Monster Import Options
-------------------------------
Upon generating a monster, there are 4 listed options:
* 5eAPI
* 5eTools
* Table
* LibToken
Only the first two of these data sources are available as of the release of this system. So if 5eAPI and 5eTools are the only
usable options, why do the other two sources exist?
First, they're the only other possible methods: A library token with all the monster data baked into it and a MapTool Table
with the monster JSON Data for a given group of monsters are the only other two methods for storing and retrieving data within
MapTool. So first and foremost those options exist to cover all bases.
Next, I've left the "Table" and "LibToken" options available in the case someone wants to use one of those systems for homebrew
content. For instance, if a given DM has a bunch of homebrewed monsters, the DM could create a table or LibToken with those
Homebrew monsters and then generate them via different methods. While this would likely require some new macro developemnt to
manage the new source and read data from it, so long as the data was stored in either 5eAPI or 5eTools format, the translation
to using a LibToken or a Table would not be significantly different than what's there already...likely a set of functions to
find and read the source data from the datasource and store it on the newly created token.
Lastly, it provides a path to growth for the Drop-In. Allowing Table or LibToken reads allows other content creators to create
monster content that imcMonsterCreator could read through a minor amount of work. For instance, there are a HOST of D&D 5e
compatable modules being created by non-WotC companies, and many of these modules have monsters specific to their content.
Having the ability to drop a table or library token on the map with that data pre-formatted on it and then read from it as an
entirely new content source in the IMC makes IMC a central point for the BUSINESS LOGIC of creating monsters without it having
to support EVERY source of monsters available in the wild.
That said, as of the point of this release, and with no plans to change this in the future, only 5eAPI and 5eTools are valid
options for importing data into the system to generate monsters. The other two tools remain available for others to extend
IMC for their own uses, but there are no plans (at this point) to directly enable use of those options for monster creation.
-------------------------------------
How Do I Get Support
-------------------------------------
Generally speaking, the best way to get support for this Drop-In is through Discord. Join the MapTools discord and @Illydth
on that platform to get my attention. I'm not on there day in and day out, but I do check the platform regularly and will
be happy to respond to most questions (keep reading). I also don't mind DMs on Discord, but please make sure if you do DM me
you are clear about why you are DMing me...please make sure you tell me you're a MapTool User, what product you're having a
problem with, what your problem is, and what help you'd like me to provide. "Help, I can't get it to work in my campaign!"
is completely unhelpful and a waste of my time...and yours. I am not attention deficit or mentally challenged...I promise not
to ignore you, even if you write more than two sentences.
If you believe you've found a bug in the software don't hesitate to head to the GitHub project and file an issue. I will
periodically but regularly be checking GitHub issues to see what needs to be prioritized and/or what functionality updates
I need to make. If you have a suggestion for how to make imcMonsterCreator better, don't hesitate to post a feature request
to Issues as well. Any constructive feedback about the product, i'd be happy to take on Discord chat. Also I LOVE
contributions and pull requests.
That said, my standard caveaut applies here: I have a full time job and really can't afford to make Illydth's
Monster Creator my next one. While I am as dedicated as any creator with regards to his or her creations, I also have
limited time available to me.
More specifically, imcMonsterCreator is MUCH more challenging to provide support for. There are THOUSANDS of monsters
in 5th Edition. With two different data sources and all the possible different creatures there are to generate, there's
not just possibly but HIGHLY LIKELY a couple that won't work right. Knowing what creature and what datasource you are
using to generate that creature is imperitive to debugging why content isn't functioning for you. From there, please
understand that there may just not BE a way to properly generate the creature you're trying to generate. The software
is explicitly coded to understand certain aspects of the incoming data, however none of the data projects follow a
published or strict JSON format structure, meaning that "one off" data elements for "one off" monsters might very well
make a particular monster simply not possible for the system to generate outside of an extensive rework or re-coding
effort.
TOO, I am a slave to the data i'm being sent. The old statement of "crap in crap out" is very much at play here. If the
base data source has something wrong (for instance a damage type wrong or missing a tagged data element on an ability) the
monster I'm generating will also surely have that thing wrong.
Please, for MY SANITY SAKE, validate the data you are sending into the Drop-In BEFORE pinging me that there's something
wrong. If you point me at a monster who's input data says it rolls 1d10 damage and you try to tell me it's 2d10 in the
Monster Manual, I'm not sure what evil and nasty thing i'll do, but i'll think of something...you've been warned! :)
Again, each data source has it's own Website/GitHub and Discord, so please utilize those for reporting data discrepencies.
Please don't ask me to open a problem with someone else's project on your behalf.
Acknowledgements:
=====================================
In this case, I'd like to thank one MAJOR Contributor to this project, OokOok, who acted in all sorts of aspects during
the time developing this: In many ways Business Analyst, Quality Assurance, Project Management, and Software Developer,
OokOok is responsible for a sincere amount of bug fixing and development ideas and architecture of the project. For every
monster you generate that you DO NOT find a problem with, you can probably thank Ookook.
Also, if you like the "look and feel" of the output from the software (all of the "roll" output in chat text) you can DIRECTLY
thank Ookook since all of that work is ENTIRELY (well mostly) his. Ookook has been a true colaborator on this project and
I cannot be more thankful for the ongoing advice, consultation and pairing up on design and bug fixing.
That said, there's pretty much no way to develop something these days without throwing giant Kudos and thanks at the Maptool
community at large and the MapTool Discord community more specifically for all the help and support they've given during
the writing of this software. Specific shout outs to those most helpful would both take WAY too much space and tragically
leave out major contributors, so if you've answered ANY of my questions ANY TIME in the last couple months, you're probably
in line for the thanks above. THANK YOU for being awesome.