Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ public void testParseSpellList() {
try (ActivityScenario<MainActivity> scenario = ActivityScenario.launch(MainActivity.class)) {
scenario.onActivity(activity -> {
final SpellbookViewModel viewModel = new ViewModelProvider(activity).get(SpellbookViewModel.class);
assertEquals(viewModel.getAllSpells().size(), 920);
assertEquals(viewModel.getAllSpells().size(), 941);
});
}
}
Expand All @@ -303,7 +303,7 @@ public void testParseSpellListPt() {
final Application application = activity.getApplication();
final SpellbookViewModel viewModel = new SpellbookViewModel(application);
viewModel.updateSpellsForLocale(ptLocale);
assertEquals(viewModel.getAllSpells().size(), 920);
assertEquals(viewModel.getAllSpells().size(), 941);
});
}
}
Expand Down
28 changes: 28 additions & 0 deletions app/src/main/assets/Spells_en.json
Original file line number Diff line number Diff line change
Expand Up @@ -27700,5 +27700,33 @@
"range": "60 feet",
"ruleset": "2024",
"school": "Abjuration"
},
{
"casting_time": "1 hour",
"classes": [
"Artificer"
],
"components": [
"V",
"S",
"M"
],
"desc": "You summon a special homunculus in an unoccupied space within range. This creature uses the Homunculus Servant stat block. If you already have a homunculus from this spell, the homunculus is replaced by the new one. You determine the homunculus's appearance, such as a mechanical-looking bird, winged vial, or miniature animate cauldron.\n\nCombat. The homunculus is an ally to you and your allies. In combat, it shares your Initiative count, but it takes its turn immediately after yours. It obeys your commands (no action required by you). If you don't issue any, it takes the Dodge action and uses its movement to avoid danger.",
"duration": "Instantaneous",
"higher_level": "Use the spell slot's level for the spell's level in the stat block.",
"id": 941,
"level": 2,
"locations": [
{
"page": 21,
"sourcebook": "EFA"
}
],
"material": "A gem worth 100+ gp",
"name": "Homunculus Servant",
"range": "10 feet",
"ritual": true,
"ruleset": "2024",
"school": "Conjuration"
}
]
28 changes: 28 additions & 0 deletions app/src/main/assets/Spells_pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -26592,5 +26592,33 @@
"range": "18 metros",
"ruleset": "2024",
"school": "Abjuração"
},
{
"casting_time": "1 hora",
"classes": [
"Artífice"
],
"components": [
"V",
"S",
"M"
],
"desc": "Você invoca um homúnculo especial em um espaço desocupado dentro do alcance. Essa criatura usa o bloco de estatísticas de Servo Homúnculo. Se você já tiver um homúnculo conjurado por esta magia, o homúnculo anterior é substituído pelo novo. Você determina a aparência do homúnculo, como um pássaro mecânico, um frasco alado ou um caldeirão animado em miniatura.\n\nCombate. O homúnculo é um aliado seu e de seus companheiros. Em combate, ele compartilha sua contagem de Iniciativa, mas age imediatamente após o seu turno. Ele obedece aos seus comandos (nenhuma ação é necessária de sua parte). Se você não lhe der nenhuma ordem, ele realiza a ação de Esquivar e usa seu movimento para evitar o perigo.",
"duration": "Instantânea",
"higher_level":"Utilize o nível do espaço de magia para determinar o nível da magia no bloco de estatísticas.",
"id": 941,
"level": 2,
"locations": [
{
"page": 21,
"sourcebook": "EFA"
}
],
"material": "Uma joia no valor de mais de 100 peças de ouro",
"name": "Servo Homúnculo",
"range": "3 metros",
"ritual": true,
"ruleset": "2024",
"school": "Conjuração"
}
]
1 change: 1 addition & 0 deletions app/src/main/java/dnd/jon/spellbook/Source.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public class Source implements NameDisplayable {
static final Source BOOK_OF_MT = new Source(R.string.bmt_name, R.string.bmt_code, "The Book of Many Things", "BMT", false);
static final Source PLAYERS_HANDBOOK_2024 = new Source(R.string.phb_2024_name, R.string.phb_2024_code, "Player's Handbook (2024)", "PHB24", true);
static final Source HEROES_OF_FAERUN = new Source(R.string.frhof_name, R.string.frhof_code, "Forgotten Realms: Heroes of Faerûn", "FRHF", false);
static final Source EBERRON_FORGE_ARTIFICER = new Source(R.string.efa_name, R.string.efa_code, "Eberron: Forge of the Artificer", "EFA", false);

// Constructor
private Source(int value, int displayNameID, int codeID, String internalName, String internalCode, boolean core, boolean created) {
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/java/dnd/jon/spellbook/Spellbook.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ class Spellbook {
static final Version V_3_7_0 = new Version(3, 7, 0);
static final Version V_4_1_0 = new Version(4, 1, 0);
static final Version V_4_5_0 = new Version(4, 5, 0);
static final Version V_4_6_0 = new Version(4, 6, 0);

// static final Version[] VERSIONS = { V_2_0_0, V_2_10_0, V_2_11_0, V_2_11_0, V_2_12_0, V_2_13_0,
// V_3_0_4, V_3_0_6 };
Expand All @@ -42,6 +43,7 @@ class Spellbook {
put(V_3_7_0, Arrays.asList(Source.BOOK_OF_MT));
put(V_4_1_0, Arrays.asList(Source.PLAYERS_HANDBOOK_2024));
put(V_4_5_0, Arrays.asList(Source.HEROES_OF_FAERUN));
put(V_4_6_0, Arrays.asList(Source.EBERRON_FORGE_ARTIFICER));
}};

static Collection<Source> newSourcesForVersion(Version version) {
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-pt/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -424,6 +424,7 @@
<string name="so_name">Sigil e as Terras Distantes</string>
<string name="bmt_name">O Livro de Muitas Coisas</string>
<string name="frhof_name">Reinos Esquecidos: Heróis de Faerûn</string>
<string name="efa_name">Eberron: A Forja do Artífice</string>

<!-- Sourcebook codes -->
<string name="phb_code">LDJ14</string>
Expand All @@ -443,6 +444,7 @@
<string name="so_code">STD</string>
<string name="bmt_code">LMC</string>
<string name="frhof_code">REHF</string>
<string name="efa_code">EFA</string>

<!-- Sort field names (that weren't already used elsewhere) -->
<string name="name">Nome</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -426,6 +426,7 @@
<string name="so_name">Sigil and the Outlands</string>
<string name="bmt_name">The Book of Many Things</string>
<string name="frhof_name">Forgotten Realms: Heroes of Faerûn</string>
<string name="efa_name">Eberron: Forge of the Artificer</string>

<!-- Sourcebook codes -->
<string name="phb_code">PHB14</string>
Expand All @@ -445,6 +446,7 @@
<string name="so_code">SO</string>
<string name="bmt_code">BMT</string>
<string name="frhof_code">FRHF</string>
<string name="efa_code">EFA</string>

<!-- Sort field names (that weren't already used elsewhere) -->
<string name="name">Name</string>
Expand Down