0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2026-01-10 02:42:43 +00:00
Files
homebrewery/client/homebrew/pages/homePage/migrate_gmb.md
2021-12-07 22:09:01 -06:00

6.5 KiB

How to Convert a GMBinder Document to Homebrewery

Here you will find a number of steps to guide you through converting a GMBinder document into a Homebrewery document.

This document will evolve as users like yourself inform us of issues with it, or areas of conversion that it does not cover. Please reach out if you have any suggestions for this document.

The first thing you'll want to do is switch the editor's rendering engine from Legacy to v3. This will be the renderer we design features for moving forward.

Simple Text Replacements

To make your life a little easier with this section, we recommend using a text editor like VSCode or Notepad.

The following table describes GMBinder elements and their Homebrewery counterparts. A simple find/replace should get these in working order.

GMBinder Homebrewery
\pagebreak \page
====== \page
\pagebreaknum {{pageNumber,auto}}\n\page
@===== {{pageNumber,auto}}\n\page
\columnbreak \column
.phb .page

Margins and Padding

Any manual margins and padding to push text down the page will likely need to be updated. Something to note is immediately after a column break

\page

Stat Blocks

{{wide There are pretty significant differences between stat blocks on GMBinder and Homebrewery. In this section we will describe a list of find/replace commands you can run against your GMB stat block to help make migrating them easier. }}

GMBinder Example:

___
> ## Centaur
> *Large Monstrosity, neutral good*
>___
> - **Armor Class** 12
> - **Hit Points** 45(6d10 + 12)
> - **Speed** 50ft.
>___
>|STR|DEX|CON|INT|WIS|CHA|
>|:---:|:---:|:---:|:---:|:---:|:---:|
>|18 (+4)|14 (+2)|14 (+2)|9 (-1)|13 (+1)|11 (+0)|
>___
> - **Skills** Athletics +6, Perception +3, Survival +3
> - **Senses** passive Perception 13
> - **Languages** Elvish, Sylvan
> - **Challenge** 2 (450 XP)
> ___
> ***Charge.*** If the centaur moves at least 30 feet straight toward a target and then hits it with a pike attack on the same turn, the target takes an extra 10 (3d6) piercing damage.
>
> ***Second Thing*** More details.
>
> ### Actions
> ***Multiattack.*** The centaur makes two attacks: one with its pike and one with its hooves or two with its longbow.
>
> ***Pike.*** *Melee Weapon Attack:* +6 to hit, reach 10 ft., one target. *Hit:* 9 (1d10 + 4) piercing damage.
>
> ***Hooves.*** *Melee Weapon Attack:* +6 to hit, reach 5 ft., one target. *Hit:* 11 (2d6 + 4) bludgeoning damage.
>
> ***Longbow.*** *Ranged Weapon Attack:* +4 to hit, range 150/600 ft., one target. *Hit:* 6 (1d8 + 2) piercing damage.

\column

Homebrewery example:

{{monster
## Centaur
*Large monstrosity, neutral good*
___
**Armor Class** :: 12
**Hit Points**  :: 45(6d10 + 12)
**Speed**       :: 50ft.
___
|  STR  |  DEX  |  CON  |  INT  |  WIS  |  CHA  |
|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|
|18 (+4)|14 (+2)|14 (+2)|9 (-1) |13 (+1)|11 (+0)|
___
**Skills** :: Athletics +6, Perception +3, Survival +3
**Senses** :: passive Perception 13
**Languages** :: Elvish, Sylvan
**Challenge** :: 2 (450 XP)
___
***Charge.*** If the centaur moves at least 30 feet straight toward a target and then hits it with a pike attack on the same turn, the target takes an extra 10 (3d6) piercing damage.
:
***Second Thing*** More details.

### Actions
***Multiattack.*** The centaur makes two attacks: one with its pike and one with its hooves or two with its longbow.
:
***Pike.*** *Melee Weapon Attack:* +6 to hit, reach 10 ft., one target. *Hit:* 9 (1d10 + 4) piercing damage.
:
***Hooves.*** *Melee Weapon Attack:* +6 to hit, reach 5 ft., one target. *Hit:* 11 (2d6 + 4) bludgeoning damage.
:
***Longbow.*** *Ranged Weapon Attack:* +4 to hit, range 150/600 ft., one target. *Hit:* 6 (1d8 + 2) piercing damage.
}}

\page

{{monster

Centaur

Large monstrosity, neutral good


Armor Class :: 12 Hit Points :: 45(6d10 + 12) Speed :: 50ft.


STR DEX CON INT WIS CHA
18 (+4) 14 (+2) 14 (+2) 9 (-1) 13 (+1) 11 (+0)

Skills :: Athletics +6, Perception +3, Survival +3 Senses :: passive Perception 13 Languages :: Elvish, Sylvan Challenge :: 2 (450 XP)


Charge. If the centaur moves at least 30 feet straight toward a target and then hits it with a pike attack on the same turn, the target takes an extra 10 (3d6) piercing damage. : Second Thing More details.

Actions

Multiattack. The centaur makes two attacks: one with its pike and one with its hooves or two with its longbow. : Pike. Melee Weapon Attack: +6 to hit, reach 10 ft., one target. Hit: 9 (1d10 + 4) piercing damage. : Hooves. Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 11 (2d6 + 4) bludgeoning damage. : Longbow. Ranged Weapon Attack: +4 to hit, range 150/600 ft., one target. Hit: 6 (1d8 + 2) piercing damage. }}

\column

Use these find/replace commands in the order listed for the best result.

Blockquotes

The key difference is the lack of blockquotes. GMBinder uses the > symbol at the start of the line for each line in the stat block, and Homebrewery's v3 renderer does not. Running the following find/replace commands with regex enabled should remove the blockquotes:

Find Replace
^>
^>

Lists

The basic characteristics and advanced characteristics sections are not list elements in Homebrewery. You can remove them by finding ^- and replacing it with nothing.

Spacing

In order to have the correct spacing after removing the list elements, you will want to add \:\: between the name of each basic/advanced characteristic and its value. i.e:

**Skills** :: Athletics +6

:

Additionally, in the special traits and actions sections, you will want to add a \: at the beginning of each line that separates a trait/action from another, as seen below. This can be accomplished with find/replace by replacing ^$ with \:.

### Actions
***Multiattack.*** The centaur makes two attacks: one with its pike and one with its hooves or two with its longbow.
:
***Pike.*** *Melee Weapon Attack:* +6 to hit, reach 10 ft., one target. *Hit:* 9 (1d10 + 4) piercing damage.

:

Final Notes

Lastly you will want to remove the leading ___ that started the stat block in GMBinder, and replace that with {{monster before the stat block, and }} after it. If you want a frame around the stat block, you can use {{monster,frame instead.