A framework for the Godot engine to create TTRPG games for Advanced 5th Edition, Pathfinder 2nd Edition, and more

Adding localization and character statblock panel; Working on stat generation and other options

+719 -1256
+3 -3
.godot/editor/char_creator.tscn-editstate-a1bc953de7d3996bda205b8f93d50f52.cfg
··· 8 8 "grid_snap_active": false, 9 9 "grid_step": Vector2(8, 8), 10 10 "grid_visibility": 1, 11 - "ofs": Vector2(-1569.86, -408.916), 11 + "ofs": Vector2(-331.39, -123.257), 12 12 "primary_grid_step": Vector2i(8, 8), 13 13 "show_edit_locks": true, 14 14 "show_guides": true, ··· 32 32 "snap_rotation_step": 0.261799, 33 33 "snap_scale": false, 34 34 "snap_scale_step": 0.1, 35 - "zoom": 0.890899 35 + "zoom": 0.943874 36 36 } 37 37 3D={ 38 38 "fov": 70.01, ··· 172 172 "zfar": 4000.01, 173 173 "znear": 0.05 174 174 } 175 - selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@17140/@Panel@13/@VBoxContainer@14/@HSplitContainer@17/@HSplitContainer@25/@HSplitContainer@33/@VBoxContainer@34/@VSplitContainer@36/@VSplitContainer@62/@VBoxContainer@63/@PanelContainer@110/MainScreen/@CanvasItemEditor@9462/@VSplitContainer@9281/@HSplitContainer@9283/@HSplitContainer@9285/@Control@9286/@SubViewportContainer@9287/@SubViewport@9288/Character Creator/UI/Grid/CulturePanel")]) 175 + selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@17140/@Panel@13/@VBoxContainer@14/@HSplitContainer@17/@HSplitContainer@25/@HSplitContainer@33/@VBoxContainer@34/@VSplitContainer@36/@VSplitContainer@62/@VBoxContainer@63/@PanelContainer@110/MainScreen/@CanvasItemEditor@9462/@VSplitContainer@9281/@HSplitContainer@9283/@HSplitContainer@9285/@Control@9286/@SubViewportContainer@9287/@SubViewport@9288/Character Creator/UI/Grid/BackgroundPanel/GridContainer/UrchinButton")])
+2 -2
.godot/editor/char_creator.tscn-folding-a1bc953de7d3996bda205b8f93d50f52.cfg
··· 1 1 [folding] 2 2 3 - node_unfolds=[NodePath("UI/Grid/HeritagePanel/Label"), PackedStringArray("Layout"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/Grid"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/Grid/DragonbornButton"), PackedStringArray("Layout", "Layout/Container Sizing", "Tooltip", "Mouse"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/Features"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/GiftLabel"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/GiftContainer"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/GiftContainer/GiftItems"), PackedStringArray("Layout", "Layout/Container Sizing", "item_count_array"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/GiftContainer/GiftFeatures"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/CulturePanel"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/CulturePanel/Label2"), PackedStringArray("Layout", "Layout/Anchor Points"), NodePath("UI/Grid/CulturePanel/SuggestedGrid"), PackedStringArray("Layout", "Layout/Anchor Points", "Layout/Transform"), NodePath("UI/Grid/CulturePanel/Label3"), PackedStringArray("Layout"), NodePath("UI/Grid/CulturePanel/Scroll"), PackedStringArray("Layout", "Layout/Anchor Points"), NodePath("UI/Grid/CulturePanel/Scroll/Grid"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/CulturePanel/Scroll/Grid/CaravannerButton"), PackedStringArray("Layout"), NodePath("UI/Grid/CulturePanel/FeaturesScroll/VBoxContainer"), PackedStringArray("Layout", "Layout/Container Sizing")] 3 + node_unfolds=[NodePath("UI/Grid/HeritagePanel/Label"), PackedStringArray("Layout", "Localization"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/Grid"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/Grid/DragonbornButton"), PackedStringArray("Layout", "Layout/Container Sizing", "Tooltip", "Mouse"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/Features"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/GiftLabel"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/GiftContainer"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/GiftContainer/GiftItems"), PackedStringArray("Layout", "Layout/Container Sizing", "item_count_array"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/GiftContainer/GiftFeatures"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/CulturePanel"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/CulturePanel/Label2"), PackedStringArray("Layout", "Layout/Anchor Points"), NodePath("UI/Grid/CulturePanel/SuggestedGrid"), PackedStringArray("Layout", "Layout/Anchor Points", "Layout/Transform"), NodePath("UI/Grid/CulturePanel/Label3"), PackedStringArray("Layout"), NodePath("UI/Grid/CulturePanel/Scroll"), PackedStringArray("Layout", "Layout/Anchor Points"), NodePath("UI/Grid/CulturePanel/Scroll/Grid"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/CulturePanel/Scroll/Grid/CaravannerButton"), PackedStringArray("Layout"), NodePath("UI/Grid/CulturePanel/FeaturesScroll/VBoxContainer"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/CharacterPanel"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/CharacterPanel/StarBox"), PackedStringArray("Layout", "Layout/Anchor Offsets", "Layout/Anchor Points", "Layout/Transform"), NodePath("UI/Grid/CharacterPanel/StarBox/Str"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/CharacterPanel/StarBox/Dex"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/CharacterPanel/StarBox/Con"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/CharacterPanel/StarBox/Int"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/CharacterPanel/StarBox/Wis"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/CharacterPanel/StarBox/Cha"), PackedStringArray("Layout", "Layout/Container Sizing"), NodePath("UI/Grid/CharacterPanel/LabelBox"), PackedStringArray("Layout", "Layout/Anchor Points", "Layout/Anchor Offsets", "Layout/Transform"), NodePath("UI/Grid/CharacterPanel/ModBox"), PackedStringArray("Layout", "Layout/Anchor Points", "Layout/Anchor Offsets", "Layout/Transform")] 4 4 resource_unfolds=["res://char_creator_a5e/char_creator.tscn::BoxShape3D_kwrdj", PackedStringArray(), "res://char_creator_a5e/char_creator.tscn::BoxMesh_famp8", PackedStringArray()] 5 - nodes_folded=[NodePath("UI/Grid/HeritagePanel"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/Grid"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/Features"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/GiftContainer"), NodePath("UI/Grid/CulturePanel"), NodePath("UI/Grid/CulturePanel/Scroll/Grid"), NodePath("UI/Grid/ClassPanel"), NodePath("UI/Grid/MiddlePanel")] 5 + nodes_folded=[NodePath("UI/Grid"), NodePath("UI/Grid/HeritagePanel"), NodePath("UI/Grid/HeritagePanel/VBoxContainer"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/Grid"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/Features"), NodePath("UI/Grid/HeritagePanel/VBoxContainer/GiftContainer"), NodePath("UI/Grid/CulturePanel"), NodePath("UI/Grid/CulturePanel/Scroll"), NodePath("UI/Grid/CulturePanel/Scroll/Grid"), NodePath("UI/Grid/CulturePanel/FeaturesScroll"), NodePath("UI/Grid/ClassPanel"), NodePath("UI/Grid/ClassPanel/Grid"), NodePath("UI/Grid/BackgroundPanel"), NodePath("UI/Grid/BackgroundPanel/GridContainer"), NodePath("UI/Grid/MiddlePanel"), NodePath("UI/Grid/CharacterPanel"), NodePath("UI/Grid/CharacterPanel/StarBox"), NodePath("UI/Grid/CharacterPanel/LabelBox"), NodePath("UI/Grid/CharacterPanel/ModBox")]
+3 -3
.godot/editor/create_recent.Node
··· 1 + Label 2 + HBoxContainer 3 + Panel 1 4 VBoxContainer 2 5 ScrollContainer 3 6 ItemList 4 7 Control 5 8 Button 6 9 GridContainer 7 - Panel 8 10 RichTextLabel 9 - HBoxContainer 10 - Label 11 11 PanelContainer 12 12 ReferenceRect 13 13 ColorRect
+2
.godot/editor/create_recent.Resource
··· 1 + JSON 2 + Translation 1 3 ButtonGroup 2 4 GradientTexture1D 3 5 Gradient
+3
.godot/editor/culture_features.json-folding-02dd17b621dd2fe2385cfaf0b200a88f.cfg
··· 1 + [folding] 2 + 3 + sections_unfolded=PackedStringArray()
+3
.godot/editor/culture_features.tres-folding-91a13fa13ea462b1dc8b5bf07d58de55.cfg
··· 1 + [folding] 2 + 3 + sections_unfolded=PackedStringArray()
+5 -5
.godot/editor/editor_layout.cfg
··· 4 4 dock_2_selected_tab_idx=0 5 5 dock_3_selected_tab_idx=0 6 6 dock_4_selected_tab_idx=0 7 - dock_5_selected_tab_idx=3 7 + dock_5_selected_tab_idx=0 8 8 dock_6_selected_tab_idx=0 9 9 dock_7_selected_tab_idx=0 10 10 dock_8_selected_tab_idx=0 ··· 19 19 dock_filesystem_display_mode=0 20 20 dock_filesystem_file_sort=0 21 21 dock_filesystem_file_list_display_mode=1 22 - dock_filesystem_selected_paths=PackedStringArray("res://tooltip/tooltip.tscn") 23 - dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://tooltip/", "res://char_specs/", "res://char_creator_a5e/") 22 + dock_filesystem_selected_paths=PackedStringArray("res://translations/en_US.tres") 23 + dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://addons/") 24 24 dock_3="Scene,Import" 25 25 dock_4="FileSystem" 26 - dock_5="Inspector,Node,History,Commit" 26 + dock_5="Inspector,Node,History,Commit (31)" 27 27 28 28 [EditorNode] 29 29 ··· 36 36 37 37 [ScriptEditor] 38 38 39 - open_scripts=["res://char_creator_a5e/char_creator.gd", "res://char_creator_a5e/char_creator_ui.gd", "res://char_specs/cultures.txt"] 39 + open_scripts=["res://char_creator_a5e/char_creator.gd", "res://char_creator_a5e/char_creator_ui.gd", "res://char_specs/cultures.txt", "res://default-scores.txt"] 40 40 selected_script="res://char_creator_a5e/char_creator_ui.gd" 41 41 open_help=[] 42 42 script_split_offset=225
+3
.godot/editor/en_US.tres-folding-2147d932c0c9c3e4f505103de053aecb.cfg
··· 1 + [folding] 2 + 3 + sections_unfolded=PackedStringArray()
+23 -13
.godot/editor/filesystem_cache8
··· 1 1 ea4bc82a6ad023ab7ee23ee620429895 2 - ::res://::1719772590 2 + ::res://::1720067004 3 + char-creation-format.txt::TextFile::-1::1719792970::0::1::::<><>:: 4 + default-scores.txt::TextFile::-1::1720049030::0::1::::<><>:: 3 5 icon.svg::CompressedTexture2D::7151425158301183390::1715647650::1716476471::1::::<><>:: 4 6 player.tscn::PackedScene::4641822628848271021::1716949539::0::1::::<><>::uid://rxoe4v2uxumd::::res://mannequiny/mannequiny-new.tscn 5 7 test.json::JSON::-1::1716476560::0::1::::<><>:: 6 - ::res://addons/::1717339683 8 + ::res://addons/::1720062299 7 9 ::res://addons/godot-git-plugin/::1717339683 8 10 git_plugin.gdextension::GDExtension::-1::1717339683::0::1::::<><>:: 9 11 plugin.cfg::TextFile::-1::1717339683::0::1::::<><>:: ··· 11 13 ::res://addons/godot-git-plugin/linux/::1717339683 12 14 ::res://addons/godot-git-plugin/macos/::1717339683 13 15 ::res://addons/godot-git-plugin/win64/::1717339683 14 - ::res://cel_shader/::1719772465 15 - color-gradient.tres::GradientTexture1D::7328054036161745449::1719706070::0::1::::<><>:: 16 - fresnel-gradient.tres::GradientTexture1D::5436186829284524673::1719706070::0::1::::<><>:: 17 - godot-toon.gdshader::Shader::-1::1719772465::0::1::::<><>:: 16 + ::res://cel_shader/::1720064617 17 + color-gradient.tres::GradientTexture1D::7328054036161745449::1720063150::0::1::::<><>:: 18 + fresnel-gradient.tres::GradientTexture1D::5436186829284524673::1720063150::0::1::::<><>:: 19 + godot-toon.gdshader::Shader::-1::1720064617::0::1::::<><>:: 18 20 ::res://char_creator_5e/::1717340294 19 21 background_bg.tres::ButtonGroup::1456853392483723561::1716992675::0::1::::<><>:: 20 22 char_creator.gd::GDScript::-1::1717079687::0::1::::<>Node3D<>:: ··· 22 24 char_creator_ui.gd::GDScript::-1::1717340294::0::1::::<>Control<>:: 23 25 class_bg.tres::ButtonGroup::4364817092577475401::1716956970::0::1::::<><>:: 24 26 race_bg.tres::ButtonGroup::62046179803463355::1716955374::0::1::::<><>:: 25 - ::res://char_creator_a5e/::1719710395 27 + ::res://char_creator_a5e/::1720064617 26 28 background_bg.tres::ButtonGroup::4786380108748794371::1717339886::0::1::::<><>:: 27 29 char_creator.gd::GDScript::-1::1717340555::0::1::::<>Node3D<>:: 28 - char_creator.tscn::PackedScene::4291695397401782488::1719710395::0::1::::<><>::res://char_creator_a5e/char_creator.gd<>uid://b7ese1o60fiwj::::res://player.tscn<>res://char_creator_a5e/char_creator_ui.gd<>uid://5b5kuflhm88::::res://char_creator_5e/race_bg.tres<>uid://b3gl5ugaqie8x::::res://char_creator_5e/class_bg.tres<>uid://bm4occqfqmlpn::::res://char_creator_a5e/culture_bg.tres<>uid://u0yfr45mhgp2::::res://char_creator_5e/background_bg.tres 29 - char_creator_ui.gd::GDScript::-1::1719710395::0::1::::<>Control<>:: 30 + char_creator.tscn::PackedScene::4291695397401782488::1720064617::0::1::::<><>::res://char_creator_a5e/char_creator.gd<>uid://b7ese1o60fiwj::::res://player.tscn<>res://char_creator_a5e/char_creator_ui.gd<>uid://5b5kuflhm88::::res://char_creator_5e/race_bg.tres<>uid://b3gl5ugaqie8x::::res://char_creator_5e/class_bg.tres<>uid://bm4occqfqmlpn::::res://char_creator_a5e/culture_bg.tres<>uid://u0yfr45mhgp2::::res://char_creator_5e/background_bg.tres 31 + char_creator_ui.gd::GDScript::-1::1720064444::0::1::::<>Control<>:: 30 32 class_bg.tres::ButtonGroup::3882216191039846524::1717339886::0::1::::<><>:: 31 33 culture_bg.tres::ButtonGroup::3289407501716377783::1717519887::0::1::::<><>:: 32 - feature_label.gd::GDScript::-1::1717349176::0::1::::<>Label<>:: 33 - feature_label.tscn::PackedScene::3780627064013547649::1717346796::0::1::::<><>::res://char_creator_a5e/feature_label.gd 34 + culture_features.json::JSON::-1::1720060921::0::1::::<><>:: 35 + feature_label.gd::GDScript::-1::1719775487::0::1::::<>Label<>:: 36 + feature_label.tscn::PackedScene::3780627064013547649::1719775466::0::1::::<><>::res://char_creator_a5e/feature_label.gd 37 + heritage_features.json::JSON::-1::1720059649::0::1::::<><>:: 38 + heritage_gifts.json::JSON::-1::1720059846::0::1::::<><>:: 34 39 race_bg.tres::ButtonGroup::504698249455924967::1717339886::0::1::::<><>:: 35 40 ::res://char_creator_pf2e/::1717096211 36 41 ancestry_bg.tres::ButtonGroup::484583746509512838::1717077737::0::1::::<><>:: ··· 51 56 ::res://mannequiny/::1717347011 52 57 mannequiny-new.tscn::PackedScene::1241549768136733059::1717079693::0::1::::<><>::res://mannequiny/mannequiny.gd<>res://cel_shader/godot-toon.gdshader<>uid://dcn08kdyummer::::res://cel_shader/color-gradient.tres<>uid://cjplg5qqmw2iv::::res://cel_shader/fresnel-gradient.tres 53 58 mannequiny.gd::GDScript::-1::1717347011::0::1::::<>Node3D<>:: 54 - ::res://tooltip/::1717439700 55 - tooltip.tscn::PackedScene::5912183539037010342::1717439700::0::1::::<><>:: 59 + ::res://tooltip/::1719775466 60 + tooltip.tscn::PackedScene::5912183539037010342::1719775466::0::1::::<><>:: 61 + ::res://translations/::1720067012 62 + en_US.tres::Translation::1475810150025574236::1720063150::0::1::::<><>:: 63 + strings.es.translation::OptimizedTranslation::7474927577352061768::1720067014::0::1::::<><>:: 64 + strings.en_US.translation::Translation::7698905347004164035::1720067012::1720067014::1::::<><>:: 65 + strings.csv::Translation::7698905347004164035::1720064356::1720064360::1::::<><>::
+3 -4
.godot/editor/filesystem_update4
··· 1 - res://char_creator_a5e/char_creator_ui.gd 2 1 res://char_creator_a5e/char_creator.tscn 3 2 res://cel_shader/godot-toon.gdshader 4 3 res://cel_shader/color-gradient.tres 5 4 res://cel_shader/fresnel-gradient.tres 6 - res://char_creator_a5e/feature_label.tscn 7 - res://char_creator_a5e/feature_label.gd 8 - res://tooltip/tooltip.tscn 5 + res://translations/en_US.tres 6 + res://translations/strings.en_US.translation 7 + res://char_creator_a5e/char_creator_ui.gd
+7 -3
.godot/editor/project_metadata.cfg
··· 10 10 11 11 [recent_files] 12 12 13 - scripts=["StyleBoxFlat", "StyleBox", "Control", "CanvasItem", "Label", "res://char_creator_a5e/feature_label.gd", "TextServer", "RichTextLabel", "Node", "Signal"] 14 - scenes=["res://char_creator_a5e/feature_label.tscn", "res://tooltip/tooltip.tscn", "res://char_creator_a5e/char_creator.tscn", "res://main_menu/main_menu.tscn", "res://char_creator_5e/char_creator.tscn", "res://char_creator_pf2e/char_creator.tscn", "res://mannequiny/mannequiny-new.tscn", "res://char_creator/char_creator.tscn", "res://char_creator/char-creator.tscn", "res://char-creator.tscn"] 13 + scripts=["res://addons/tres_translation/tres_translation.gd", "res://addons/tres_translation/plugin.cfg", "res://char_creator_a5e/heritage_gifts.json", "res://char_creator_a5e/heritage_features.json", "res://char_creator_a5e/culture_features.json", "res://char_creator_a5e/culture_features.res", "res://char_creator_a5e/culture_features.tres", "res://default-scores.txt", "Array", "VisualShaderNodeDerivativeFunc"] 14 + scenes=["res://char_creator_a5e/char_creator.tscn", "res://char_creator_a5e/feature_label.tscn", "res://tooltip/tooltip.tscn", "res://main_menu/main_menu.tscn", "res://char_creator_5e/char_creator.tscn", "res://char_creator_pf2e/char_creator.tscn", "res://mannequiny/mannequiny-new.tscn", "res://char_creator/char_creator.tscn", "res://char_creator/char-creator.tscn", "res://char-creator.tscn"] 15 15 16 16 [script_setup] 17 17 ··· 22 22 create_new_node=Rect2(1245, 555, 1350, 1371) 23 23 search_help=Rect2(960, 540, 1920, 1080) 24 24 editor_settings=Rect2(1245, 555, 1350, 1050) 25 - project_settings=Rect2(1245, 555, 1350, 1050) 25 + project_settings=Rect2(1239, 520, 1350, 1050) 26 26 27 27 [linked_properties] 28 28 ··· 67 67 68 68 last_selected_language="Shader" 69 69 last_selected_mode=0 70 + 71 + [project_settings] 72 + 73 + advanced_mode=true
+4
.godot/editor/recent_dirs
··· 1 + res://translations 2 + res://main_menu 3 + res://char_creator_a5e 1 4 res://char_creator_a5e/ 5 + res://translations/ 2 6 res://char_creator_pf2e 3 7 res:// 4 8 res://mannequiny/
+89 -5
.godot/editor/script_editor_cache.cfg
··· 87 87 state={ 88 88 "bookmarks": PackedInt32Array(), 89 89 "breakpoints": PackedInt32Array(), 90 - "column": 154, 91 - "folded_lines": Array[int]([13, 144, 408, 1133, 1148, 1162, 1177, 1213, 1238, 1260, 1266, 1330, 1347, 1387]), 90 + "column": 48, 91 + "folded_lines": Array[int]([19, 39, 59, 81, 96, 132, 157, 179, 185, 249, 266, 306, 327, 335]), 92 92 "h_scroll_position": 0, 93 - "row": 1211, 94 - "scroll_position": 31.0, 93 + "row": 59, 94 + "scroll_position": 0.0, 95 95 "selection": false, 96 96 "syntax_highlighter": "GDScript" 97 97 } ··· 104 104 "column": 0, 105 105 "folded_lines": Array[int]([]), 106 106 "h_scroll_position": 0, 107 - "row": 10, 107 + "row": 21, 108 108 "scroll_position": 0.0, 109 109 "selection": false, 110 110 "syntax_highlighter": "GDScript" ··· 137 137 "selection": false, 138 138 "syntax_highlighter": "Plain Text" 139 139 } 140 + 141 + [res://default-scores.txt] 142 + 143 + state={ 144 + "bookmarks": PackedInt32Array(), 145 + "breakpoints": PackedInt32Array(), 146 + "column": 0, 147 + "folded_lines": Array[int]([]), 148 + "h_scroll_position": 0, 149 + "row": 0, 150 + "scroll_position": 0.0, 151 + "selection": false, 152 + "syntax_highlighter": "Plain Text" 153 + } 154 + 155 + [res://char_creator_a5e/heritage_features.json] 156 + 157 + state={ 158 + "bookmarks": PackedInt32Array(), 159 + "breakpoints": PackedInt32Array(), 160 + "column": 0, 161 + "folded_lines": Array[int]([]), 162 + "h_scroll_position": 0, 163 + "row": 0, 164 + "scroll_position": 0.0, 165 + "selection": false, 166 + "syntax_highlighter": "JSON" 167 + } 168 + 169 + [res://char_creator_a5e/culture_features.json] 170 + 171 + state={ 172 + "bookmarks": PackedInt32Array(), 173 + "breakpoints": PackedInt32Array(), 174 + "column": 0, 175 + "folded_lines": Array[int]([]), 176 + "h_scroll_position": 0, 177 + "row": 1, 178 + "scroll_position": 0.0, 179 + "selection": false, 180 + "syntax_highlighter": "JSON" 181 + } 182 + 183 + [res://addons/tres_translation/tres_translation.gd] 184 + 185 + state={ 186 + "bookmarks": PackedInt32Array(), 187 + "breakpoints": PackedInt32Array(), 188 + "column": 1, 189 + "folded_lines": Array[int]([]), 190 + "h_scroll_position": 0, 191 + "row": 6, 192 + "scroll_position": 0.0, 193 + "selection": false, 194 + "syntax_highlighter": "GDScript" 195 + } 196 + 197 + [res://char_creator_a5e/heritage_gifts.json] 198 + 199 + state={ 200 + "bookmarks": PackedInt32Array(), 201 + "breakpoints": PackedInt32Array(), 202 + "column": 0, 203 + "folded_lines": Array[int]([]), 204 + "h_scroll_position": 0, 205 + "row": 0, 206 + "scroll_position": 0.0, 207 + "selection": false, 208 + "syntax_highlighter": "JSON" 209 + } 210 + 211 + [res://addons/tres_translation/plugin.cfg] 212 + 213 + state={ 214 + "bookmarks": PackedInt32Array(), 215 + "breakpoints": PackedInt32Array(), 216 + "column": 0, 217 + "folded_lines": Array[int]([]), 218 + "h_scroll_position": 0, 219 + "row": 0, 220 + "scroll_position": 0.0, 221 + "selection": false, 222 + "syntax_highlighter": "Plain Text" 223 + }
+3
.godot/editor/strings.en_US.translation-folding-2a67e27df60881a42a83073d32263049.cfg
··· 1 + [folding] 2 + 3 + sections_unfolded=PackedStringArray()
+3
.godot/editor/strings.es.translation-folding-db140b526f077e1958af8963350fd24c.cfg
··· 1 + [folding] 2 + 3 + sections_unfolded=PackedStringArray()
+3
.godot/editor/tres_translation.gd-folding-31279fa1e528a78f88efee8ff9e4e409.cfg
··· 1 + [folding] 2 + 3 + sections_unfolded=PackedStringArray()
+3
.godot/imported/strings.csv-c357553057a739022ffc53e1aac3b98d.md5
··· 1 + source_md5="566c77bd59213cc95888a6bb406a57f2" 2 + dest_md5="0e048523b49c2e872fcf2385dcfd63dd" 3 +
.godot/uid_cache.bin

This is a binary file and will not be displayed.

+1
.~lock.strings.ods#
··· 1 + ,cass-forest,cass-desktop,03.07.2024 23:23,file:///home/cass-forest/.config/libreoffice/4;
+19
char-creation-format.txt
··· 1 + Heritage 2 + Culture 3 + Level 1 Class 4 + 5 + Scores (with a star emoji denoting the key ability score for your class) 6 + 7 + Init HP 8 + 9 + Innate Cantrips/Spells 10 + Class Cantrips/Spells 11 + 12 + Class Actions 13 + 14 + Proficiencies 15 + Weapon Profs 16 + Armor Profs 17 + Skill Profs 18 + Skill Specialties 19 + Tool Profs
+306 -96
char_creator_a5e/char_creator.tscn
··· 74 74 grow_horizontal = 2 75 75 size_flags_horizontal = 3 76 76 size_flags_vertical = 1 77 - text = "Choose your Heritage" 77 + text = "HERITAGE_LABEL" 78 78 horizontal_alignment = 1 79 79 80 80 [node name="VBoxContainer" type="VBoxContainer" parent="UI/Grid/HeritagePanel"] ··· 102 102 tooltip_text = "test" 103 103 toggle_mode = true 104 104 button_group = ExtResource("4_cmgen") 105 - text = "Dragonborn" 105 + text = "HERITAGE_DRAG" 106 106 107 107 [node name="DwarfButton" type="Button" parent="UI/Grid/HeritagePanel/VBoxContainer/Grid"] 108 108 layout_mode = 2 ··· 110 110 size_flags_vertical = 3 111 111 toggle_mode = true 112 112 button_group = ExtResource("4_cmgen") 113 - text = "Dwarf" 113 + text = "HERITAGE_DWAR" 114 114 115 115 [node name="ElfButton" type="Button" parent="UI/Grid/HeritagePanel/VBoxContainer/Grid"] 116 116 layout_mode = 2 ··· 118 118 size_flags_vertical = 3 119 119 toggle_mode = true 120 120 button_group = ExtResource("4_cmgen") 121 - text = "Elf" 121 + text = "HERITAGE_ELF" 122 122 123 123 [node name="GnomeButton" type="Button" parent="UI/Grid/HeritagePanel/VBoxContainer/Grid"] 124 124 layout_mode = 2 ··· 126 126 size_flags_vertical = 3 127 127 toggle_mode = true 128 128 button_group = ExtResource("4_cmgen") 129 - text = "Gnome" 129 + text = "HERITAGE_GNOM" 130 130 131 131 [node name="HalflingButton" type="Button" parent="UI/Grid/HeritagePanel/VBoxContainer/Grid"] 132 132 layout_mode = 2 ··· 134 134 size_flags_vertical = 3 135 135 toggle_mode = true 136 136 button_group = ExtResource("4_cmgen") 137 - text = "Halfling" 137 + text = "HERITAGE_HALF" 138 138 139 139 [node name="HumanButton" type="Button" parent="UI/Grid/HeritagePanel/VBoxContainer/Grid"] 140 140 layout_mode = 2 ··· 142 142 size_flags_vertical = 3 143 143 toggle_mode = true 144 144 button_group = ExtResource("4_cmgen") 145 - text = "Human" 145 + text = "HERITAGE_HUMA" 146 146 147 147 [node name="OrcButton" type="Button" parent="UI/Grid/HeritagePanel/VBoxContainer/Grid"] 148 148 layout_mode = 2 ··· 150 150 size_flags_vertical = 3 151 151 toggle_mode = true 152 152 button_group = ExtResource("4_cmgen") 153 - text = "Orc" 153 + text = "HERITAGE_ORC" 154 154 155 155 [node name="PlanetouchedButton" type="Button" parent="UI/Grid/HeritagePanel/VBoxContainer/Grid"] 156 156 layout_mode = 2 ··· 158 158 size_flags_vertical = 3 159 159 toggle_mode = true 160 160 button_group = ExtResource("4_cmgen") 161 - text = "Planetouched" 161 + text = "HERITAGE_PLAN" 162 162 163 163 [node name="Features" type="PanelContainer" parent="UI/Grid/HeritagePanel/VBoxContainer"] 164 164 layout_mode = 2 ··· 168 168 169 169 [node name="GiftLabel" type="Label" parent="UI/Grid/HeritagePanel/VBoxContainer"] 170 170 layout_mode = 2 171 - text = "Heritage Gift" 171 + text = "HGIFT_LABEL" 172 172 173 173 [node name="GiftContainer" type="HBoxContainer" parent="UI/Grid/HeritagePanel/VBoxContainer"] 174 174 layout_mode = 2 ··· 198 198 grow_horizontal = 2 199 199 size_flags_horizontal = 3 200 200 size_flags_vertical = 1 201 - text = "Choose your Culture" 201 + text = "CULTURE_LABEL" 202 202 horizontal_alignment = 1 203 203 204 204 [node name="Label2" type="Label" parent="UI/Grid/CulturePanel"] ··· 212 212 grow_horizontal = 2 213 213 size_flags_horizontal = 3 214 214 size_flags_vertical = 1 215 - text = "Suggested Cultures" 215 + text = "CULTURE_SUGG" 216 216 horizontal_alignment = 1 217 217 218 218 [node name="SuggestedGrid" type="GridContainer" parent="UI/Grid/CulturePanel"] ··· 238 238 grow_horizontal = 2 239 239 size_flags_horizontal = 3 240 240 size_flags_vertical = 1 241 - text = "Other Cultures" 241 + text = "CULTURE_OTHER" 242 242 horizontal_alignment = 1 243 243 244 244 [node name="Scroll" type="ScrollContainer" parent="UI/Grid/CulturePanel"] ··· 261 261 size_flags_horizontal = 3 262 262 toggle_mode = true 263 263 button_group = ExtResource("5_wb2r6") 264 - text = "Caravanner" 264 + text = "CULTURE_CARA" 265 265 266 266 [node name="CircusfolkButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 267 267 layout_mode = 2 268 268 size_flags_horizontal = 3 269 269 toggle_mode = true 270 270 button_group = ExtResource("5_wb2r6") 271 - text = "Circusfolk" 271 + text = "CULTURE_CIRC" 272 272 273 273 [node name="CollegiateButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 274 274 layout_mode = 2 275 275 size_flags_horizontal = 3 276 276 toggle_mode = true 277 277 button_group = ExtResource("5_wb2r6") 278 - text = "Collegiate" 278 + text = "CULTURE_COLL" 279 279 280 280 [node name="CosmopolitanButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 281 281 layout_mode = 2 282 282 size_flags_horizontal = 3 283 283 toggle_mode = true 284 284 button_group = ExtResource("5_wb2r6") 285 - text = "Cosmopolitan" 285 + text = "CULTURE_COSM" 286 286 287 287 [node name="DeepDwarfButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 288 288 layout_mode = 2 289 289 size_flags_horizontal = 3 290 290 toggle_mode = true 291 291 button_group = ExtResource("5_wb2r6") 292 - text = "Deep Dwarf" 292 + text = "CULTURE_DEDW" 293 293 294 294 [node name="DeepGnomeButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 295 295 layout_mode = 2 296 296 size_flags_horizontal = 3 297 297 toggle_mode = true 298 298 button_group = ExtResource("5_wb2r6") 299 - text = "Deep Gnome" 299 + text = "CULTURE_DEGN" 300 300 301 301 [node name="DragonboundButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 302 302 layout_mode = 2 303 303 size_flags_horizontal = 3 304 304 toggle_mode = true 305 305 button_group = ExtResource("5_wb2r6") 306 - text = "Dragonbound" 306 + text = "CULTURE_DRBN" 307 307 308 308 [node name="DragoncultButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 309 309 layout_mode = 2 310 310 size_flags_horizontal = 3 311 311 toggle_mode = true 312 312 button_group = ExtResource("5_wb2r6") 313 - text = "Dragoncult" 313 + text = "CULTURE_DRCT" 314 314 315 315 [node name="EladrinButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 316 316 layout_mode = 2 317 317 size_flags_horizontal = 3 318 318 toggle_mode = true 319 319 button_group = ExtResource("5_wb2r6") 320 - text = "Eladrin" 320 + text = "CULTURE_ELAD" 321 321 322 322 [node name="ForestGnomeButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 323 323 layout_mode = 2 324 324 size_flags_horizontal = 3 325 325 toggle_mode = true 326 326 button_group = ExtResource("5_wb2r6") 327 - text = "Forest Gnome" 327 + text = "CULTURE_FORE" 328 328 329 329 [node name="ForgottenFolxButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 330 330 layout_mode = 2 331 331 size_flags_horizontal = 3 332 332 toggle_mode = true 333 333 button_group = ExtResource("5_wb2r6") 334 - text = "Forgotten 335 - Folx" 334 + text = "CULTURE_FORG" 336 335 337 336 [node name="ForsakenButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 338 337 layout_mode = 2 339 338 size_flags_horizontal = 3 340 339 toggle_mode = true 341 340 button_group = ExtResource("5_wb2r6") 342 - text = "Forsaken" 341 + text = "CULTURE_FORS" 343 342 344 343 [node name="GodboundButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 345 344 layout_mode = 2 346 345 size_flags_horizontal = 3 347 346 toggle_mode = true 348 347 button_group = ExtResource("5_wb2r6") 349 - text = "Godbound" 348 + text = "CULTURE_GODB" 350 349 351 350 [node name="HighElfButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 352 351 layout_mode = 2 353 352 size_flags_horizontal = 3 354 353 toggle_mode = true 355 354 button_group = ExtResource("5_wb2r6") 356 - text = "High Elf" 355 + text = "CULTURE_HIGH" 357 356 358 357 [node name="HillDwarfButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 359 358 layout_mode = 2 360 359 size_flags_horizontal = 3 361 360 toggle_mode = true 362 361 button_group = ExtResource("5_wb2r6") 363 - text = "Hill Dwarf" 362 + text = "CULTURE_HILL" 364 363 365 364 [node name="ImperialButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 366 365 layout_mode = 2 367 366 size_flags_horizontal = 3 368 367 toggle_mode = true 369 368 button_group = ExtResource("5_wb2r6") 370 - text = "Imperial" 369 + text = "CULTURE_IMPE" 371 370 372 371 [node name="ItinerantButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 373 372 layout_mode = 2 374 373 size_flags_horizontal = 3 375 374 toggle_mode = true 376 375 button_group = ExtResource("5_wb2r6") 377 - text = "Itinerant" 376 + text = "CULTURE_ITIN" 378 377 379 378 [node name="KithbainHalflingButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 380 379 layout_mode = 2 381 380 size_flags_horizontal = 3 382 381 toggle_mode = true 383 382 button_group = ExtResource("5_wb2r6") 384 - text = "Kithbáin 385 - Halfling" 383 + text = "CULTURE_KITH" 386 384 387 385 [node name="LoneWandererButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 388 386 layout_mode = 2 389 387 size_flags_horizontal = 3 390 388 toggle_mode = true 391 389 button_group = ExtResource("5_wb2r6") 392 - text = "Lone Wanderer" 390 + text = "CULTURE_LONE" 393 391 394 392 [node name="MountainDwarfButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 395 393 layout_mode = 2 396 394 size_flags_horizontal = 3 397 395 toggle_mode = true 398 396 button_group = ExtResource("5_wb2r6") 399 - text = "Mountain 400 - Dwarf" 397 + text = "CULTURE_MOUN" 401 398 402 399 [node name="MistbairnHalflingButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 403 400 layout_mode = 2 404 401 size_flags_horizontal = 3 405 402 toggle_mode = true 406 403 button_group = ExtResource("5_wb2r6") 407 - text = "Mistbairn 408 - Halfling" 404 + text = "CULTURE_MIST" 409 405 410 406 [node name="NomadButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 411 407 layout_mode = 2 412 408 size_flags_horizontal = 3 413 409 toggle_mode = true 414 410 button_group = ExtResource("5_wb2r6") 415 - text = "Nomad" 411 + text = "CULTURE_NOMA" 416 412 417 413 [node name="SettlerButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 418 414 layout_mode = 2 419 415 size_flags_horizontal = 3 420 416 toggle_mode = true 421 417 button_group = ExtResource("5_wb2r6") 422 - text = "Settler" 418 + text = "CULTURE_SETT" 423 419 424 420 [node name="ShadowElfButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 425 421 layout_mode = 2 426 422 size_flags_horizontal = 3 427 423 toggle_mode = true 428 424 button_group = ExtResource("5_wb2r6") 429 - text = "Shadow Elf" 425 + text = "CULTURE_SHAD" 430 426 431 427 [node name="SteamforgedButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 432 428 layout_mode = 2 433 429 size_flags_horizontal = 3 434 430 toggle_mode = true 435 431 button_group = ExtResource("5_wb2r6") 436 - text = "Steamforged" 432 + text = "CULTURE_STEA" 437 433 438 434 [node name="StoicOrcButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 439 435 layout_mode = 2 440 436 size_flags_horizontal = 3 441 437 toggle_mode = true 442 438 button_group = ExtResource("5_wb2r6") 443 - text = "Stoic Orc" 439 + text = "CULTURE_STOI" 444 440 445 441 [node name="StoneworthyButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 446 442 layout_mode = 2 447 443 size_flags_horizontal = 3 448 444 toggle_mode = true 449 445 button_group = ExtResource("5_wb2r6") 450 - text = "Stoneworthy" 446 + text = "CULTURE_STON" 451 447 452 448 [node name="StoutHalflingButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 453 449 layout_mode = 2 454 450 size_flags_horizontal = 3 455 451 toggle_mode = true 456 452 button_group = ExtResource("5_wb2r6") 457 - text = "Stout Halfling" 453 + text = "CULTURE_STOU" 458 454 459 455 [node name="TinkerGnomeButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 460 456 layout_mode = 2 461 457 size_flags_horizontal = 3 462 458 toggle_mode = true 463 459 button_group = ExtResource("5_wb2r6") 464 - text = "Tinker Gnome" 460 + text = "CULTURE_TINK" 465 461 466 462 [node name="TunnelHalflingButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 467 463 layout_mode = 2 468 464 size_flags_horizontal = 3 469 465 toggle_mode = true 470 466 button_group = ExtResource("5_wb2r6") 471 - text = "Tunnel 472 - Halfling" 467 + text = "CULTURE_TUNN" 473 468 474 469 [node name="TyrannizedButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 475 470 layout_mode = 2 476 471 size_flags_horizontal = 3 477 472 toggle_mode = true 478 473 button_group = ExtResource("5_wb2r6") 479 - text = "Tyrannized" 474 + text = "CULTURE_TYRA" 480 475 481 476 [node name="VillagerButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 482 477 layout_mode = 2 483 478 size_flags_horizontal = 3 484 479 toggle_mode = true 485 480 button_group = ExtResource("5_wb2r6") 486 - text = "Villager" 481 + text = "CULTURE_VILL" 487 482 488 483 [node name="WarhordlingButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 489 484 layout_mode = 2 490 485 size_flags_horizontal = 3 491 486 toggle_mode = true 492 487 button_group = ExtResource("5_wb2r6") 493 - text = "Warhordling" 488 + text = "CULTURE_WARH" 494 489 495 490 [node name="WildlingButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 496 491 layout_mode = 2 497 492 size_flags_horizontal = 3 498 493 toggle_mode = true 499 494 button_group = ExtResource("5_wb2r6") 500 - text = "Wildling" 495 + text = "CULTURE_WILD" 501 496 502 497 [node name="WoodElfButton" type="Button" parent="UI/Grid/CulturePanel/Scroll/Grid"] 503 498 layout_mode = 2 504 499 size_flags_horizontal = 3 505 500 toggle_mode = true 506 501 button_group = ExtResource("5_wb2r6") 507 - text = "Wood Elf" 502 + text = "CULTURE_WOOD" 508 503 509 504 [node name="FeaturesScroll" type="ScrollContainer" parent="UI/Grid/CulturePanel"] 510 505 layout_mode = 1 ··· 537 532 grow_horizontal = 2 538 533 size_flags_horizontal = 3 539 534 size_flags_vertical = 1 540 - text = "Choose your Class" 535 + text = "CLASS_LABEL" 541 536 horizontal_alignment = 1 542 537 543 538 [node name="Grid" type="GridContainer" parent="UI/Grid/ClassPanel"] ··· 554 549 size_flags_horizontal = 3 555 550 columns = 3 556 551 557 - [node name="BarbarianButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 552 + [node name="AdeptButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 558 553 layout_mode = 2 559 554 size_flags_horizontal = 3 560 555 size_flags_vertical = 3 561 556 toggle_mode = true 562 557 button_group = ExtResource("5_mia43") 563 - text = "Barbarian" 558 + text = "CLASS_ADEP" 564 559 565 560 [node name="BardButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 566 561 layout_mode = 2 ··· 568 563 size_flags_vertical = 3 569 564 toggle_mode = true 570 565 button_group = ExtResource("5_mia43") 571 - text = "Bard" 566 + text = "CLASS_BARD" 567 + 568 + [node name="BerserkerButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 569 + layout_mode = 2 570 + size_flags_horizontal = 3 571 + size_flags_vertical = 3 572 + toggle_mode = true 573 + button_group = ExtResource("5_mia43") 574 + text = "CLASS_BERS" 572 575 573 576 [node name="ClericButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 574 577 layout_mode = 2 ··· 576 579 size_flags_vertical = 3 577 580 toggle_mode = true 578 581 button_group = ExtResource("5_mia43") 579 - text = "Cleric" 582 + text = "CLASS_CLER" 580 583 581 584 [node name="DruidButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 582 585 layout_mode = 2 ··· 584 587 size_flags_vertical = 3 585 588 toggle_mode = true 586 589 button_group = ExtResource("5_mia43") 587 - text = "Druid" 590 + text = "CLASS_DRUI" 588 591 589 592 [node name="FighterButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 590 593 layout_mode = 2 ··· 592 595 size_flags_vertical = 3 593 596 toggle_mode = true 594 597 button_group = ExtResource("5_mia43") 595 - text = "Fighter" 598 + text = "CLASS_FIGH" 596 599 597 - [node name="MonkButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 600 + [node name="HeraldButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 598 601 layout_mode = 2 599 602 size_flags_horizontal = 3 600 603 size_flags_vertical = 3 601 604 toggle_mode = true 602 605 button_group = ExtResource("5_mia43") 603 - text = "Monk" 606 + text = "CLASS_HERA" 604 607 605 - [node name="PaladinButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 608 + [node name="MarshalButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 606 609 layout_mode = 2 607 610 size_flags_horizontal = 3 608 611 size_flags_vertical = 3 609 612 toggle_mode = true 610 613 button_group = ExtResource("5_mia43") 611 - text = "Paladin" 614 + text = "CLASS_MARS" 612 615 613 616 [node name="RangerButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 614 617 layout_mode = 2 ··· 616 619 size_flags_vertical = 3 617 620 toggle_mode = true 618 621 button_group = ExtResource("5_mia43") 619 - text = "Ranger" 622 + text = "CLASS_RANG" 620 623 621 624 [node name="RogueButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 622 625 layout_mode = 2 ··· 624 627 size_flags_vertical = 3 625 628 toggle_mode = true 626 629 button_group = ExtResource("5_mia43") 627 - text = "Rogue" 630 + text = "CLASS_ROGU" 628 631 629 632 [node name="SorcererButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 630 633 layout_mode = 2 ··· 632 635 size_flags_vertical = 3 633 636 toggle_mode = true 634 637 button_group = ExtResource("5_mia43") 635 - text = "Sorcerer" 638 + text = "CLASS_SORC" 636 639 637 640 [node name="WarlockButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 638 641 layout_mode = 2 ··· 640 643 size_flags_vertical = 3 641 644 toggle_mode = true 642 645 button_group = ExtResource("5_mia43") 643 - text = "Warlock" 646 + text = "CLASS_WARL" 644 647 645 648 [node name="WizardButton" type="Button" parent="UI/Grid/ClassPanel/Grid"] 646 649 layout_mode = 2 ··· 648 651 size_flags_vertical = 3 649 652 toggle_mode = true 650 653 button_group = ExtResource("5_mia43") 651 - text = "Wizard" 654 + text = "CLASS_WIZA" 652 655 653 656 [node name="BackgroundPanel" type="Panel" parent="UI/Grid"] 654 657 visible = false ··· 666 669 grow_horizontal = 2 667 670 size_flags_horizontal = 3 668 671 size_flags_vertical = 1 669 - text = "Choose your Background" 672 + text = "BACKGROUND_LABEL" 670 673 horizontal_alignment = 1 671 674 672 675 [node name="GridContainer" type="GridContainer" parent="UI/Grid/BackgroundPanel"] ··· 687 690 size_flags_vertical = 3 688 691 toggle_mode = true 689 692 button_group = ExtResource("6_24rg5") 690 - text = "Acolyte" 693 + text = "BACKGROUND_ACOL" 691 694 692 695 [node name="ArtisanButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 693 696 layout_mode = 2 694 697 size_flags_horizontal = 3 695 698 toggle_mode = true 696 699 button_group = ExtResource("6_24rg5") 697 - text = "Artisan" 700 + text = "BACKGROUND_ARTI" 698 701 699 702 [node name="CharlatanButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 700 703 layout_mode = 2 701 704 size_flags_horizontal = 3 702 705 toggle_mode = true 703 706 button_group = ExtResource("6_24rg5") 704 - text = "Charlatan" 707 + text = "BACKGROUND_CHAR" 705 708 706 709 [node name="CriminalButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 707 710 layout_mode = 2 708 711 size_flags_vertical = 3 709 712 toggle_mode = true 710 713 button_group = ExtResource("6_24rg5") 711 - text = "Criminal" 714 + text = "BACKGROUND_CRIM" 712 715 713 716 [node name="CultistButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 714 717 layout_mode = 2 715 718 toggle_mode = true 716 719 button_group = ExtResource("6_24rg5") 717 - text = "Cultist" 720 + text = "BACKGROUND_CULT" 718 721 719 722 [node name="EntertainerButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 720 723 layout_mode = 2 721 724 toggle_mode = true 722 725 button_group = ExtResource("6_24rg5") 723 - text = "Entertainer" 726 + text = "BACKGROUND_ENTE" 724 727 725 728 [node name="ExileButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 726 729 layout_mode = 2 727 730 size_flags_vertical = 3 728 731 toggle_mode = true 729 732 button_group = ExtResource("6_24rg5") 730 - text = "Exile" 733 + text = "BACKGROUND_EXIL" 731 734 732 735 [node name="FarmerButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 733 736 layout_mode = 2 734 737 toggle_mode = true 735 738 button_group = ExtResource("6_24rg5") 736 - text = "Farmer" 739 + text = "BACKGROUND_FARM" 737 740 738 741 [node name="FolkHeroButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 739 742 layout_mode = 2 740 743 toggle_mode = true 741 744 button_group = ExtResource("6_24rg5") 742 - text = "Folk Hero" 745 + text = "BACKGROUND_FOLK" 743 746 744 747 [node name="GamblerButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 745 748 layout_mode = 2 746 749 size_flags_vertical = 3 747 750 toggle_mode = true 748 751 button_group = ExtResource("6_24rg5") 749 - text = "Gambler" 752 + text = "BACKGROUND_GAMB" 750 753 751 754 [node name="GuardButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 752 755 layout_mode = 2 753 756 toggle_mode = true 754 757 button_group = ExtResource("6_24rg5") 755 - text = "Guard" 758 + text = "BACKGROUND_GUAR" 756 759 757 760 [node name="GuildMemberButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 758 761 layout_mode = 2 759 762 toggle_mode = true 760 763 button_group = ExtResource("6_24rg5") 761 - text = "Guild Member" 764 + text = "BACKGROUND_GUIL" 762 765 763 766 [node name="HermitButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 764 767 layout_mode = 2 765 768 size_flags_vertical = 3 766 769 toggle_mode = true 767 770 button_group = ExtResource("6_24rg5") 768 - text = "Hermit" 771 + text = "BACKGROUND_HERM" 769 772 770 773 [node name="MarauderButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 771 774 layout_mode = 2 772 775 toggle_mode = true 773 776 button_group = ExtResource("6_24rg5") 774 - text = "Marauder" 777 + text = "BACKGROUND_MARA" 775 778 776 779 [node name="NobleButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 777 780 layout_mode = 2 778 781 toggle_mode = true 779 782 button_group = ExtResource("6_24rg5") 780 - text = "Noble" 783 + text = "BACKGROUND_NOBL" 781 784 782 785 [node name="OutlanderButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 783 786 layout_mode = 2 784 787 size_flags_vertical = 3 785 788 toggle_mode = true 786 789 button_group = ExtResource("6_24rg5") 787 - text = "Outlander" 790 + text = "BACKGROUND_OUTL" 788 791 789 792 [node name="SageButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 790 793 layout_mode = 2 791 794 toggle_mode = true 792 795 button_group = ExtResource("6_24rg5") 793 - text = "Sage" 796 + text = "BACKGROUND_SAGE" 794 797 795 798 [node name="SailorButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 796 799 layout_mode = 2 797 800 toggle_mode = true 798 801 button_group = ExtResource("6_24rg5") 799 - text = "Sailor" 802 + text = "BACKGROUND_SAIL" 800 803 801 804 [node name="SoldierButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 802 805 layout_mode = 2 803 806 size_flags_vertical = 3 804 807 toggle_mode = true 805 808 button_group = ExtResource("6_24rg5") 806 - text = "Soldier" 809 + text = "BACKGROUND_SOLD" 807 810 808 811 [node name="TraderButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 809 812 layout_mode = 2 810 813 toggle_mode = true 811 814 button_group = ExtResource("6_24rg5") 812 - text = "Trader" 815 + text = "BACKGROUND_TRAD" 813 816 814 817 [node name="UrchinButton" type="Button" parent="UI/Grid/BackgroundPanel/GridContainer"] 815 818 layout_mode = 2 816 819 toggle_mode = true 817 820 button_group = ExtResource("6_24rg5") 818 - text = "Urchin" 821 + text = "BACKGROUND_URCH" 819 822 820 823 [node name="SpacePanel" type="ColorRect" parent="UI/Grid"] 821 824 visible = false ··· 833 836 visible = false 834 837 layout_mode = 2 835 838 size_flags_horizontal = 4 836 - text = "Back" 839 + text = "BUTTON_BACK" 837 840 838 841 [node name="NextButton" type="Button" parent="UI/Grid/MiddlePanel"] 839 842 visible = false 840 843 layout_mode = 2 841 844 size_flags_horizontal = 4 842 - text = "Next" 845 + text = "BUTTON_NEXT" 846 + 847 + [node name="CharacterPanel" type="Panel" parent="UI/Grid"] 848 + layout_mode = 2 849 + size_flags_horizontal = 3 850 + size_flags_vertical = 3 851 + 852 + [node name="HeritageLabel" type="Label" parent="UI/Grid/CharacterPanel"] 853 + layout_mode = 1 854 + anchors_preset = -1 855 + anchor_left = 0.05 856 + anchor_right = 0.979 857 + anchor_bottom = 0.029 858 + offset_left = -0.0500011 859 + offset_top = 19.0 860 + offset_right = 0.000976562 861 + offset_bottom = 23.208 862 + horizontal_alignment = 1 863 + 864 + [node name="CultureLabel" type="Label" parent="UI/Grid/CharacterPanel"] 865 + layout_mode = 1 866 + anchors_preset = -1 867 + anchor_left = 0.05 868 + anchor_right = 0.979 869 + anchor_bottom = 0.08 870 + offset_left = -0.0500011 871 + offset_top = 52.0 872 + offset_right = 0.000976562 873 + offset_bottom = 23.16 874 + horizontal_alignment = 1 875 + 876 + [node name="ClassLabel" type="Label" parent="UI/Grid/CharacterPanel"] 877 + layout_mode = 1 878 + anchors_preset = -1 879 + anchor_left = 0.047 880 + anchor_right = 0.979 881 + anchor_bottom = 0.127 882 + offset_left = 0.0929985 883 + offset_top = 82.0 884 + offset_right = 0.000976562 885 + offset_bottom = 22.704 886 + horizontal_alignment = 1 887 + 888 + [node name="StarBox" type="HBoxContainer" parent="UI/Grid/CharacterPanel"] 889 + layout_mode = 1 890 + anchors_preset = -1 891 + anchor_left = 0.047 892 + anchor_right = 0.974 893 + anchor_bottom = 0.173 894 + offset_left = 0.0929985 895 + offset_top = 112.0 896 + offset_right = -0.0940247 897 + offset_bottom = 39.896 898 + 899 + [node name="Str" type="Label" parent="UI/Grid/CharacterPanel/StarBox"] 900 + layout_mode = 2 901 + size_flags_horizontal = 3 902 + size_flags_vertical = 1 903 + horizontal_alignment = 1 904 + vertical_alignment = 1 905 + 906 + [node name="Dex" type="Label" parent="UI/Grid/CharacterPanel/StarBox"] 907 + layout_mode = 2 908 + size_flags_horizontal = 3 909 + size_flags_vertical = 1 910 + horizontal_alignment = 1 911 + vertical_alignment = 1 912 + 913 + [node name="Con" type="Label" parent="UI/Grid/CharacterPanel/StarBox"] 914 + layout_mode = 2 915 + size_flags_horizontal = 3 916 + size_flags_vertical = 1 917 + horizontal_alignment = 1 918 + vertical_alignment = 1 919 + 920 + [node name="Int" type="Label" parent="UI/Grid/CharacterPanel/StarBox"] 921 + layout_mode = 2 922 + size_flags_horizontal = 3 923 + size_flags_vertical = 1 924 + horizontal_alignment = 1 925 + vertical_alignment = 1 926 + 927 + [node name="Wis" type="Label" parent="UI/Grid/CharacterPanel/StarBox"] 928 + layout_mode = 2 929 + size_flags_horizontal = 3 930 + size_flags_vertical = 1 931 + horizontal_alignment = 1 932 + vertical_alignment = 1 933 + 934 + [node name="Cha" type="Label" parent="UI/Grid/CharacterPanel/StarBox"] 935 + layout_mode = 2 936 + size_flags_horizontal = 3 937 + size_flags_vertical = 1 938 + horizontal_alignment = 1 939 + vertical_alignment = 1 940 + 941 + [node name="LabelBox" type="HBoxContainer" parent="UI/Grid/CharacterPanel"] 942 + layout_mode = 1 943 + anchors_preset = -1 944 + anchor_left = 0.047 945 + anchor_right = 0.974 946 + anchor_bottom = 0.235 947 + offset_left = 0.0930004 948 + offset_top = 151.0 949 + offset_right = -0.0940552 950 + offset_bottom = 38.72 951 + 952 + [node name="Str" type="Label" parent="UI/Grid/CharacterPanel/LabelBox"] 953 + layout_mode = 2 954 + size_flags_horizontal = 3 955 + size_flags_vertical = 1 956 + text = "STRENGTH_LABEL" 957 + horizontal_alignment = 1 958 + vertical_alignment = 1 959 + 960 + [node name="Dex" type="Label" parent="UI/Grid/CharacterPanel/LabelBox"] 961 + layout_mode = 2 962 + size_flags_horizontal = 3 963 + size_flags_vertical = 1 964 + text = "DEXTERITY_LABEL" 965 + horizontal_alignment = 1 966 + vertical_alignment = 1 967 + 968 + [node name="Con" type="Label" parent="UI/Grid/CharacterPanel/LabelBox"] 969 + layout_mode = 2 970 + size_flags_horizontal = 3 971 + size_flags_vertical = 1 972 + text = "CONSTITUTION_LABEL" 973 + horizontal_alignment = 1 974 + vertical_alignment = 1 975 + 976 + [node name="Int" type="Label" parent="UI/Grid/CharacterPanel/LabelBox"] 977 + layout_mode = 2 978 + size_flags_horizontal = 3 979 + size_flags_vertical = 1 980 + text = "INTELLIGENCE_LABEL" 981 + horizontal_alignment = 1 982 + vertical_alignment = 1 983 + 984 + [node name="Wis" type="Label" parent="UI/Grid/CharacterPanel/LabelBox"] 985 + layout_mode = 2 986 + size_flags_horizontal = 3 987 + size_flags_vertical = 1 988 + text = "WISDOM_LABEL" 989 + horizontal_alignment = 1 990 + vertical_alignment = 1 991 + 992 + [node name="Cha" type="Label" parent="UI/Grid/CharacterPanel/LabelBox"] 993 + layout_mode = 2 994 + size_flags_horizontal = 3 995 + size_flags_vertical = 1 996 + text = "CHARISMA_LABEL" 997 + horizontal_alignment = 1 998 + vertical_alignment = 1 999 + 1000 + [node name="ModBox" type="HBoxContainer" parent="UI/Grid/CharacterPanel"] 1001 + layout_mode = 1 1002 + anchors_preset = -1 1003 + anchor_left = 0.047 1004 + anchor_right = 0.974 1005 + anchor_bottom = 0.295 1006 + offset_left = 0.0930004 1007 + offset_top = 190.0 1008 + offset_right = -0.0940552 1009 + offset_bottom = 38.84 1010 + 1011 + [node name="Str" type="Label" parent="UI/Grid/CharacterPanel/ModBox"] 1012 + layout_mode = 2 1013 + size_flags_horizontal = 3 1014 + size_flags_vertical = 1 1015 + horizontal_alignment = 1 1016 + vertical_alignment = 1 1017 + 1018 + [node name="Dex" type="Label" parent="UI/Grid/CharacterPanel/ModBox"] 1019 + layout_mode = 2 1020 + size_flags_horizontal = 3 1021 + size_flags_vertical = 1 1022 + horizontal_alignment = 1 1023 + vertical_alignment = 1 1024 + 1025 + [node name="Con" type="Label" parent="UI/Grid/CharacterPanel/ModBox"] 1026 + layout_mode = 2 1027 + size_flags_horizontal = 3 1028 + size_flags_vertical = 1 1029 + horizontal_alignment = 1 1030 + vertical_alignment = 1 1031 + 1032 + [node name="Int" type="Label" parent="UI/Grid/CharacterPanel/ModBox"] 1033 + layout_mode = 2 1034 + size_flags_horizontal = 3 1035 + size_flags_vertical = 1 1036 + horizontal_alignment = 1 1037 + vertical_alignment = 1 1038 + 1039 + [node name="Wis" type="Label" parent="UI/Grid/CharacterPanel/ModBox"] 1040 + layout_mode = 2 1041 + size_flags_horizontal = 3 1042 + size_flags_vertical = 1 1043 + horizontal_alignment = 1 1044 + vertical_alignment = 1 1045 + 1046 + [node name="Cha" type="Label" parent="UI/Grid/CharacterPanel/ModBox"] 1047 + layout_mode = 2 1048 + size_flags_horizontal = 3 1049 + size_flags_vertical = 1 1050 + horizontal_alignment = 1 1051 + vertical_alignment = 1 843 1052 844 1053 [connection signal="background_changed" from="UI" to="." method="_on_ui_background_changed"] 845 1054 [connection signal="class_changed" from="UI" to="." method="_on_ui_class_changed"] ··· 888 1097 [connection signal="toggled" from="UI/Grid/CulturePanel/Scroll/Grid/WarhordlingButton" to="UI" method="_on_warhordling_button_toggled"] 889 1098 [connection signal="toggled" from="UI/Grid/CulturePanel/Scroll/Grid/WildlingButton" to="UI" method="_on_wildling_button_toggled"] 890 1099 [connection signal="toggled" from="UI/Grid/CulturePanel/Scroll/Grid/WoodElfButton" to="UI" method="_on_wood_elf_button_toggled"] 891 - [connection signal="toggled" from="UI/Grid/ClassPanel/Grid/BarbarianButton" to="UI" method="_on_barbarian_button_toggled"] 1100 + [connection signal="toggled" from="UI/Grid/ClassPanel/Grid/AdeptButton" to="UI" method="_on_monk_button_toggled"] 892 1101 [connection signal="toggled" from="UI/Grid/ClassPanel/Grid/BardButton" to="UI" method="_on_bard_button_toggled"] 1102 + [connection signal="toggled" from="UI/Grid/ClassPanel/Grid/BerserkerButton" to="UI" method="_on_barbarian_button_toggled"] 893 1103 [connection signal="toggled" from="UI/Grid/ClassPanel/Grid/ClericButton" to="UI" method="_on_cleric_button_toggled"] 894 1104 [connection signal="toggled" from="UI/Grid/ClassPanel/Grid/DruidButton" to="UI" method="_on_druid_button_toggled"] 895 1105 [connection signal="toggled" from="UI/Grid/ClassPanel/Grid/FighterButton" to="UI" method="_on_fighter_button_toggled"] 896 - [connection signal="toggled" from="UI/Grid/ClassPanel/Grid/MonkButton" to="UI" method="_on_monk_button_toggled"] 897 - [connection signal="toggled" from="UI/Grid/ClassPanel/Grid/PaladinButton" to="UI" method="_on_paladin_button_toggled"] 1106 + [connection signal="toggled" from="UI/Grid/ClassPanel/Grid/HeraldButton" to="UI" method="_on_paladin_button_toggled"] 1107 + [connection signal="toggled" from="UI/Grid/ClassPanel/Grid/MarshalButton" to="UI" method="_on_fighter_button_toggled"] 898 1108 [connection signal="toggled" from="UI/Grid/ClassPanel/Grid/RangerButton" to="UI" method="_on_ranger_button_toggled"] 899 1109 [connection signal="toggled" from="UI/Grid/ClassPanel/Grid/RogueButton" to="UI" method="_on_rogue_button_toggled"] 900 1110 [connection signal="toggled" from="UI/Grid/ClassPanel/Grid/SorcererButton" to="UI" method="_on_sorcerer_button_toggled"]
+79 -1122
char_creator_a5e/char_creator_ui.gd
··· 6 6 var background: int = 0 7 7 var panel: int = 0 8 8 9 + var rand: RandomNumberGenerator 10 + 9 11 signal class_changed(idx: int) 10 12 signal heritage_changed(idx: int) 11 13 signal background_changed(idx: int) 12 14 signal culture_changed(idx: int) 13 15 14 - var heritage_features: Dictionary = { 15 - "dragonborn": [ 16 - { 17 - "name": "Speed", 18 - "desc": "Your walking speed is 30 feet." 19 - }, 20 - { 21 - "name": "Dragon Breath", 22 - "desc": "You can use your dragon breath as an action.\nChoose the type of damage dealt by your breath weapon from the following list: acid, cold, fire, force, lightning, necrotic, poison, psychic, radiant, or thunder.\nAdditionally, choose between a 30-foot line that is 5 feet wide or a 15-foot cone for the area that your breath weapon affects. Each creature in the breath's area makes a Dexterity saving throw. If your breath weapon deals psychic damage, a Wisdom saving throw is made instead of Dexterity; if cold, necrotic, poison, radiant, or thunder, a Constitution saving throw. The DC is 8 + your Constitution modifier + your proficiency bonus.\nA creature takes 2d6 damage on a failed saving throw, or half damage on a success. The damage increases to 3d6 at 4th level, 4d6 at 9th level, 5d6 at 14th level, and 6d6 at 19th level.\nAfter you use your dragon breath, you can't use it again until you finish a rest." 23 - } 24 - ], 25 - "dwarf": [ 26 - { 27 - "name": "Speed", 28 - "desc": "You have a walking speed of 25 feet. Your Speed is not reduced by wearing heavy armor or wielding tower shields." 29 - }, 30 - { 31 - "name": "Darkvision", 32 - "desc": "You have darkvision to 60 feet." 33 - }, 34 - { 35 - "name": "Creator's Blessing", 36 - "desc": "You gain proficiency with one set of artisan's tools (either brewer's supplies or mason's tools) or smith's tools. During a long rest, you can use these tools for crafting instead of sleeping and still receive the full benefits of the long rest." 37 - }, 38 - { 39 - "name": "Tough", 40 - "desc": "Your character level is added to your hit point maximum." 41 - } 42 - ], 43 - "elf": [ 44 - { 45 - "name": "Speed", 46 - "desc": "You have a walking speed of 30 feet." 47 - }, 48 - { 49 - "name": "Darkvision", 50 - "desc": "You have darkvision to 60 feet." 51 - }, 52 - { 53 - "name": "Fey Ancestry", 54 - "desc": "You gain an expertise die on saving throws against being charmed, and you are immune to magical effects that would put you to sleep." 55 - }, 56 - { 57 - "name": "Trance", 58 - "desc": "Instead of sleeping, elves enter a trance state. When you take a long rest, you spend 4 hours in your trance state (instead of sleeping for 6 hours). During the trance you suffer no penalty to passive Perception. A long rest remains 8 hours for you as normal, and the remainder of the time must be filled only with light activity." 59 - } 60 - ], 61 - "gnome": [ 62 - { 63 - "name": "Speed", 64 - "desc": "You have a walking speed of 25 feet." 65 - }, 66 - { 67 - "name": "Darkvision", 68 - "desc": "You have darkvision to 60 feet." 69 - }, 70 - { 71 - "name": "Gnome Cunning", 72 - "desc": "You gain an expertise die on Intelligence, Wisdom, and Charisma saving throws made against spells and magical effects." 73 - }, 74 - { 75 - "name": "Gnomish Magic", 76 - "desc": "You know the [i]minor illusion[/i] cantrip. Your spellcasting ability for this spell is Intelligence, Wisdom, or Charisma (whichever is highest)." 77 - } 78 - ], 79 - "halfling": [ 80 - { 81 - "name": "Speed", 82 - "desc": "You have a walking speed of 25 feet." 83 - }, 84 - { 85 - "name": "Fearless", 86 - "desc": "You are immune to the effects of the frightened condition." 87 - }, 88 - { 89 - "name": "Nimble Steps", 90 - "desc": "If a creature is at least one size larger than you, you can move through its space." 91 - }, 92 - { 93 - "name": "Halfling's Luck", 94 - "desc": "When you make an ability check, attack roll, or saving throw and roll a 1, you can choose to roll again, taking the second result." 95 - } 96 - ], 97 - "human": [ 98 - { 99 - "name": "Speed", 100 - "desc": "You have a walking speed of 30 feet." 101 - }, 102 - { 103 - "name": "Fast Learner", 104 - "desc": "You gain proficiency in one additional skill of your choice. In addition, you require half as much time as normal to train yourself in the use of a suit of armor, tool, or weapon during downtime." 105 - }, 106 - { 107 - "name": "Intrepid", 108 - "desc": "Once between rests, when you make an ability check, attack roll, or saving throw, you can choose to gain an expertise die on that roll." 109 - } 110 - ], 111 - "orc": [ 112 - { 113 - "name": "Speed", 114 - "desc": "You have a walking speed of 30 feet." 115 - }, 116 - { 117 - "name": "Darkvision", 118 - "desc": "You have darkvision to 60 feet." 119 - }, 120 - { 121 - "name": "Heavy Lifter", 122 - "desc": "When determining your carrying capacity and the weight that you can push, drag, or lift, your size is considered to be Large." 123 - }, 124 - { 125 - "name": "Mighty Attacks", 126 - "desc": "When you critically hit with a melee weapon attack, roll one of the weapon's damage dice again and add the result to the attack's damage." 127 - } 128 - ], 129 - "planetouched": [ 130 - { 131 - "name": "Speed", 132 - "desc": "You have a walking speed of 30 feet." 133 - }, 134 - { 135 - "name": "Darkvision", 136 - "desc": "You have darkvision to 60 feet." 137 - }, 138 - { 139 - "name": "Immortal Blessing", 140 - "desc": "Once between long rests, when damage would reduce you to 0 hit points, you are instead reduced to 1 hit point." 141 - } 142 - ] 143 - } 144 - 145 - var heritage_gifts: Dictionary = { 146 - "dragonborn": [ 147 - { 148 - "name": "Draconic Armor", 149 - "features": [ 150 - { 151 - "name": "Claws", 152 - "desc": "You grow retractable claws from the tips of your fingers. Extending or retracting the claws requires no action. The claws are natural weapons, which you can use to make unarmed strikes that deal slashing damage equal to 1d4 + your Strength modifier." 153 - } 154 - ] 155 - }, 156 - { 157 - "name": "Draconic Fins", 158 - "features": [ 159 - { 160 - "name": "Swimmer", 161 - "desc": "You have a swimming speed of 30 feet and you can hold your breath for up to 15 minutes at a time." 162 - }, 163 - { 164 - "name": "Deep Darkvision", 165 - "desc": "You have darkvision to 60 feet. In addition, your eyes are perfectly adapted for spotting movement at depth, and the radius of your darkvision increases to 120 feet while underwater." 166 - }, 167 - { 168 - "name": "Hard to Hit", 169 - "desc": "While you aren't wearing armor or your only armor is a shield, your AC is 12 + your Dexterity modifier." 170 - } 171 - ] 172 - }, 173 - { 174 - "name": "Draconic Wings", 175 - "features": [ 176 - { 177 - "name": "Flight", 178 - "desc": "You have a fly speed of 30 feet. To use this speed, you can't be wearing medium or heavy armor. Whenever you spend 3 full consecutive rounds airborne without landing, you gain a level of fatigue. Any fatigue gained in this way is removed upon finishing a rest." 179 - } 180 - ] 181 - } 182 - ], 183 - "dwarf": [ 184 - { 185 - "name": "Dwarven Stability", 186 - "features": [ 187 - { 188 - "name": "Dwarven Stability", 189 - "desc": "You gain an expertise die on saving throws against effects that would knock you prone, and on saving throws made to resist being shoved." 190 - } 191 - ] 192 - }, 193 - { 194 - "name": "Dwarven Toughness", 195 - "features": [ 196 - { 197 - "name": "Dwarven Toughness", 198 - "desc": "As a bonus action, you gain a number of temporary hit points equal to 1d10 plus your level. These temporary hit points last for 1 minute. You can't use this trait again until after you finish a long rest.\nYou gain an expertise die on saving throws against poison, and you have resistance against poison damage." 199 - } 200 - ] 201 - } 202 - ], 203 - "elf": [ 204 - { 205 - "name": "Mystic Rapport", 206 - "features": [ 207 - { 208 - "name": "Arcane Sensitivity", 209 - "desc": "You gain proficiency with Arcana." 210 - }, 211 - { 212 - "name": "Arcane Empathy", 213 - "desc": "You can speak telepathically to a creature within 30 feet of you that you can see. Though this grants the creature no ability to respond telepathically, they can understand you if you share a language. You can speak in this way to one creature at a time." 214 - } 215 - ] 216 - }, 217 - { 218 - "name": "Prescient Vision", 219 - "features": [ 220 - { 221 - "name": "Glance the Future", 222 - "desc": "Your eyes can see a few moments into the future, and your mind apprehends the divergent possibilities. Once between rests you can use a bonus action to roll a d20 and record the result. Before the end of your next rest, when a creature you can see within 60 feet makes an ability check, attack roll, or saving throw, you can use your reaction to replace their roll with your recorded result. When the creature is also rolling an expertise die, only the d20 roll is replaced. When the creature is rolling more than one d20, such as when it has advantage or when a halfling is using their Halfling's Luck trait, the replacement applies to the creature's final roll." 223 - } 224 - ] 225 - }, 226 - { 227 - "name": "Preternatural Awareness", 228 - "features": [ 229 - { 230 - "name": "Keen Senses", 231 - "desc": "You gain proficiency in Perception." 232 - }, 233 - { 234 - "name": "Prophetic Instincts", 235 - "desc": "Your ability to detect danger is nearly supernatural. You gain a bonus to initiative rolls equal to your Wisdom modifier (minumum 1), and you can't be surprised while conscious (including during your Trance)." 236 - } 237 - ] 238 - } 239 - ], 240 - "gnome": [ 241 - { 242 - "name": "Gnomish Agility", 243 - "features": [ 244 - { 245 - "name": "Gnomish Agility", 246 - "desc": "You gain +1 to your Armor Class against creatures of a size category larger than your own." 247 - } 248 - ] 249 - }, 250 - { 251 - "name": "Into Mist", 252 - "features": [ 253 - { 254 - "name": "Into Mist", 255 - "desc": "Once between rests, as a bonus action or as a reaction immediately after taking damage, you can turn invisible. The invisibility lasts until the end of your next turn, and it ends early if you attack, deal damage, or cast a spell." 256 - } 257 - ] 258 - } 259 - ], 260 - "halfling": [ 261 - { 262 - "name": "Burrowing Claws", 263 - "features": [ 264 - { 265 - "name": "Burrow", 266 - "desc": "You have a burrowing speed of 10 feet. You can use your burrowing speed to move through nonmagical sand, loose earth, loamy soil, mud, or snow, but not solid rock. You do not naturally leave any sort of tunnel behind but you can attempt to create a 5-foot by 5-foot wide tunnel in earth, soil, or snow by spending extra time and effort shoring it up and adding support. This reduces your burrowing speed to 5 feet every 15 minutes." 267 - }, 268 - { 269 - "name": "Claws", 270 - "desc": "Your nails grow into strong shovel-like claws. The claws are natural weapons, which you can use to make unarmed strikes that deal slashing damage equal to 1d4 + your Strength modifier." 271 - } 272 - ] 273 - }, 274 - { 275 - "name": "Tuft Feet", 276 - "features": [ 277 - { 278 - "name": "Big Feet", 279 - "desc": "You gain an expertise die on checks and saving throws made to resist being knocked prone." 280 - }, 281 - { 282 - "name": "Thick Soles", 283 - "desc": "You are immune to damage from sharp terrain hazards (such as caltrops, broken glass, or the [i]spike growth[/i] spell) and ignore difficult terrain caused by them. Additionally, other kinds of difficult terrain reduce your movement speed by 5 feet instead of halving it." 284 - } 285 - ] 286 - }, 287 - { 288 - "name": "Twilight-Touched", 289 - "features": [ 290 - { 291 - "name": "Darkvision", 292 - "desc": "You have darkvision to 60 feet." 293 - }, 294 - { 295 - "name": "Telepathy", 296 - "desc": "You can speak telepathically to a creature within 30 feet of you that you can see. Though this grants the creature no ability to respond telepathically, they can understand you if you share a language. You can speak in this way to one creature at a time." 297 - } 298 - ] 299 - } 300 - ], 301 - "human": [ 302 - { 303 - "name": "Diehard Survivor", 304 - "features": [ 305 - { 306 - "name": "Feast and Famine", 307 - "desc": "You can go a number of days equal to your Constitution modifier without suffering any fatigue from lack of Supply. Afterwards you require twice as much Supply for as many days as you went without." 308 - }, 309 - { 310 - "name": "Radical Perserverance", 311 - "desc": "You only die after failing 4 death saving throws instead of 3." 312 - } 313 - ] 314 - }, 315 - { 316 - "name": "Ingenious Focus", 317 - "features": [ 318 - { 319 - "name": "Inexorable Concentration", 320 - "desc": "When you fail a Constitution saving throw to maintain concentration, you can immediately reroll it, taking the new result. You may use this trait a number of times equal to your Intelligence modifier (minimum 1), and regain all expended uses after a long rest." 321 - }, 322 - { 323 - "name": "Resident Expert", 324 - "desc": "Choose two tools with which you are proficient, or a skill with which you are proficient from Animal Handling, Arcana, Culture, Engineering, History, Medicine, Nature, or Religion. When you make a check with that tool or skill and the d20 shows a natural result of less than 10, you can count the d20 result as being 10." 325 - } 326 - ] 327 - }, 328 - { 329 - "name": "Spirited Traveler", 330 - "features": [ 331 - { 332 - "name": "Desperate Dash", 333 - "desc": "Once between rests, when you take the Dash action, your movement this turn does not provoke opportunity attacks. During this movement, you gain an expertise die on Acrobatics checks made to avoid hazards and Dexterity saving throws." 334 - }, 335 - { 336 - "name": "Marathon Runner", 337 - "desc": "The first time between each long rest you would gain a level of fatigue, you do not gain that level of fatigue. You still suffer a level of fatigue from finishing a long rest without any Supply." 338 - } 339 - ] 340 - } 341 - ], 342 - "orc": [ 343 - { 344 - "name": "Just Like Home", 345 - "features": [ 346 - { 347 - "name": "Just Like Home", 348 - "desc": "Choose one type of terrain, reflecting the area from which your family hails: arctic, desert, mountain, or swamp. You ignore all naturally created difficult terrain of that type. Additionally, you gain an expertise die on Survival checks made within this terrain type, and gain a type of damage resistance related to your chosen terrain: arctic—cold, desert—fire, mountain—lightning, swamp—poison." 349 - } 350 - ] 351 - }, 352 - { 353 - "name": "Ancestral Blessing", 354 - "features": [ 355 - { 356 - "name": "Divine Protection", 357 - "desc": "You have resistance to radiant damage." 358 - }, 359 - { 360 - "name": "Touch of Divinity", 361 - "desc": "You know the [i]resistance[/i] cantrip. In addition, you can cast the [i]shield[/i] spell once per long rest." 362 - } 363 - ] 364 - }, 365 - { 366 - "name": "Magic Adept", 367 - "features": [ 368 - { 369 - "name": "Magic Adept", 370 - "desc": "You are born with magic coursing through your veins, and are able to utilize it in a number of ways. You learn one cantrip of your choice from the wizard spell list. At 3rd level, choose one 1st- or 2nd-level spell from the wizard spell list. Once between long rests, you can cast the chosen spell without any material components. A 1st-level spell chosen this way can be cast at 2nd-level using this trait, if the spell allows. Your spellcasting ability for this trait is the same as the ability score used in the spellcasting class in which you have the highest level, or Charisma if you have no levels in a spellcasting class." 371 - } 372 - ] 373 - } 374 - ], 375 - "planetouched": [ 376 - { 377 - "name": "Aasimar", 378 - "features": [ 379 - { 380 - "name": "Celestial Legacy", 381 - "desc": "You know the [i]guidance[/i] cantrip. In addition, once between long rests you can use an action to touch a willing creature and restore a number of hit points equal to your level." 382 - }, 383 - { 384 - "name": "Divine Protection", 385 - "desc": "You have resistance to radiant damage." 386 - }, 387 - { 388 - "name": "Language", 389 - "desc": "You have an innate ability to recognize Celestial, and are able to speak, read, write, and sign it." 390 - } 391 - ] 392 - }, 393 - { 394 - "name": "Tiefling", 395 - "features": [ 396 - { 397 - "name": "Hellish Resistance", 398 - "desc": "You have resistance to fire damage." 399 - }, 400 - { 401 - "name": "Infernal Legacy", 402 - "desc": "You know the [i]produce flame[/i] cantrip. Once you reach 3rd level, you can cast [i]arcane riposte[/i] (fire damage only) once between long rests. At 5th level, you can cast [i]heat metal[/i] without material components once between long rests. Charisma is your spellcasting ability for these spells." 403 - } 404 - ] 405 - } 406 - ] 407 - } 408 - 409 - var culture_features: Dictionary = { 410 - "caravanner": [ 411 - { 412 - "name": "Caravanner", 413 - "desc": "You are proficient in Animal Handling and with land vehicles." 414 - }, 415 - { 416 - "name": "Long Hauler", 417 - "desc": "You have proficiency in Survival. In addition, you have advantage on checks made to avoid fatigue from a forced march." 418 - }, 419 - { 420 - "name": "Mobile Living", 421 - "desc": "You can create a ramshackle version of a cart or wagon with 30 minutes of work if you have access to raw or reclaimed materials. Ramshackle vehicles created in this way function identically to their normal counterparts, except their gold piece value is always 0, they have half as many hit points as their normal counterparts, and they break and become useless if they are hit by any attack roll with a result of natural 20." 422 - }, 423 - { 424 - "name": "Trampling Charge", 425 - "desc": "When you or a mount you're riding uses the Dash action or a vehicle you're driving uses the Ahead Full action, you can move through spaces occupied by creatures with a size category smaller than you, or your mount, or the vehicle. Creatures moved through in this way make a Dexterity saving throw (DC equal to 8 + your Dexterity modifier + your proficiency bonus). On a failed save, creatures are knocked prone and take an amount of bludgeoning damage equal to your level. Creatures cannot be damaged twice from the same trampling charge. Once you use this trait, you cannot do so again until you finish a short or rest." 426 - }, 427 - { 428 - "name": "Languages", 429 - "desc": "You can speak, read, write, and sign Common and one other language." 430 - } 431 - ], 432 - "circusfolk": [ 433 - { 434 - "name": "Rapid Escape", 435 - "desc": "You can use the Disengage action as a bonus action." 436 - }, 437 - { 438 - "name": "Slapstick", 439 - "desc": "You are proficient with improvised weapons, and improvised weapons you use can deal 1d6 damage rather than the damage they normally deal. You can use Dexterity instead of Strength for the attack and damage rolls of your improvised weapons." 440 - }, 441 - { 442 - "name": "Trickster's Veil", 443 - "desc": "You can cast [i]disguise self[/i] once per rest. Your spellcasting ability for this spell is Intelligence, Wisdom, or Charisma (whichever is highest)." 444 - }, 445 - { 446 - "name": "Languages", 447 - "desc": "You can speak, read, write, and sign Common." 448 - } 449 - ], 450 - "collegiate": [ 451 - { 452 - "name": "Philosophic Mind", 453 - "desc": "Once between rests, at the start of your turn you can suppress the effects of an enchantment spell you are under for 1 round as your logic overrides it." 454 - }, 455 - { 456 - "name": "Practiced Artisan", 457 - "desc": "You are proficient with calligrapher's supplies and two other artisan's tools." 458 - }, 459 - { 460 - "name": "Studied Discipline", 461 - "desc": "You have extensive knowledge in certain fields. For all skill proficiencies gained through this trait, you always choose which ability score to use for these rolls (Intelligence, Wisdom, or Charisma)." 462 - }, 463 - { 464 - "name": "Languages", 465 - "desc": "You can speak, read, write, and sign Common and three additional languages." 466 - } 467 - ], 468 - "cosmopolitan": [ 469 - { 470 - "name": "Discreetly Armed", 471 - "desc": "You gain an expertise die on checks made to persuade others to let you remain armed or to conceal weapons or items about your person." 472 - }, 473 - { 474 - "name": "Fashion Sense", 475 - "desc": "After you spend at least 1 minute observing a creature within 60 feet, you can use an action to make either an Insight or History check against a DC equal to the creature's passive Deception check score. On a success, you learn the following information about that creature:\n\n[ul bullet=*]* Whether the creature has a lower Charisma score than yourself.\n* The creature's culture and national origin (if any).\n* The creature's social standing in the local majority culture.[/ul]" 476 - }, 477 - { 478 - "name": "Skill Versatility", 479 - "desc": "You gain proficiency in Culture and one other skill of your choice." 480 - }, 481 - { 482 - "name": "Urban Denizen", 483 - "desc": "You can make an Investigation check to learn the location of (or at the Narrator's discretion gain a helpful clue to the trail of) a person by discreetly asking around in the right places. The difficulty of the check is DC 15 if the individual is not hiding, or DC 20 if they are trying to conceal their location." 484 - }, 485 - { 486 - "name": "Well-Connected", 487 - "desc": "You gain an extra connection, selected from a background of your choice. This person is of a different heritage or national origin than yourself." 488 - }, 489 - { 490 - "name": "Languages", 491 - "desc": "You can speak, read, write, and sign in Common and two additional languages." 492 - } 493 - ], 494 - "deepdwarf": [ 495 - { 496 - "name": "Superior Darkvision", 497 - "desc": "You have darkvision to 60 feet, or the range of your existing darkvision increases by 60 feet." 498 - }, 499 - { 500 - "name": "Deep Magic", 501 - "desc": "You know the [i]resistance[/i] cantrip. Once you reach 3rd level, you can cast [i]jump[/i] once per rest. At 5th level, you can cast [i]enlarge/reduce[/i] once per rest. You don't need material components for these spells, but you can't cast them while you're in direct sunlight (although sunlight has no effect on them once cast). Intelligence is your spellcasting ability for these spells." 502 - }, 503 - { 504 - "name": "Deep Suspicion", 505 - "desc": "You gain an expertise die on Wisdom saving throws against illusions and against being charmed or frightened." 506 - }, 507 - { 508 - "name": "Underground Combat Training", 509 - "desc": "You are proficient with hand crossbows, short swords, and war picks." 510 - }, 511 - { 512 - "name": "Languages", 513 - "desc": "You can speak, read, write, and sign Common, Dwarvish, and Undercommon." 514 - } 515 - ], 516 - "deepgnome": [ 517 - { 518 - "name": "Superior Darkvision", 519 - "desc": "You have darkvision to 60 feet, or the range of your existing darkvision increases by 60 feet." 520 - }, 521 - { 522 - "name": "Dark Gnome Magic", 523 - "desc": "You can cast [i]disguise self[/i] once per rest. Once you reach 3rd level, you can cast [i]blindness/deafness[/i] (blindness only) once per rest. At 5th level, you can cast [i]nondetection[/i] once per rest. You don't need material components for these spells, and when casting them your spellcasting ability is Intelligence, Wisdom, or Charisma (whichever is highest)." 524 - }, 525 - { 526 - "name": "Subterranean Camouflage", 527 - "desc": "You gain an expertise die on Stealth checks made to hide in rocky terrain." 528 - }, 529 - { 530 - "name": "Languages", 531 - "desc": "You can speak, read, write, and sign Common, Gnomish, and Undercommon." 532 - } 533 - ], 534 - "dragonbound": [ 535 - { 536 - "name": "Draconic Diplomacy", 537 - "desc": "You gain an expertise die on Charisma checks made to influence dragon creatures." 538 - }, 539 - { 540 - "name": "Dragonbound Teachings", 541 - "desc": "You know one cantrip of your choice from the cleric or wizard spell lists. Your spellcasting ability for this cantrip is Intelligence or Wisdom (whichever is highest)." 542 - }, 543 - { 544 - "name": "Progenitor's Boon", 545 - "desc": "Choose a type of boon.\n\n[b]Chromatic Dragon's Boon[/b]\nYou can cast [i]fear[/i] without the need for material components once per rest. Until you reach 5th level, the area of this casting of the spell is limited to a 15-foot cone. Your spellcasting ability for this spell is Charisma.\n\n[b]Essence Dragon's Boon[/b]\nYou know the [i]druidcraft[/i] cantrip. In addition, your diplomatic understanding extends towards the creatures of the land and the spirits within it. You gain an expertise die on Charisma checks made to influence beast and celestial creatures.\n\n[b]Gem Dragon's Boon[/b]\nYou know the [i]message[/i] cantrip. Once you reach 3rd level, you can cast [i]illusory script[/i] once per rest. At 5th level, you can cast [i]invisibility[/i] once per rest. You don't need material components for these spells, and when casting them your spellcasting ability is Intelligence or Charisma (whichever is highest).\n\n[b]Metallic Dragon's Boon[/b]\nChoose a skill from among Arcana, History, Medicine, Nature, or Religion. You have proficiency in the chosen skill and you gain an expertise die on ability checks you make using it." 546 - }, 547 - { 548 - "name": "Languages", 549 - "desc": "You can speak, read, write, and sign Common and Draconic." 550 - } 551 - ], 552 - "dragoncult": [ 553 - { 554 - "name": "Draconic Umbra", 555 - "desc": "As a bonus action, you can cause draconic power to course around you in a draconic umbra. This draconic umbra lasts for 1 minute or until you use a bonus action to end it. Once you have used this trait, you cannot use it again until after you finish a rest." 556 - }, 557 - { 558 - "name": "Secrets of the Wyrm", 559 - "desc": "Choose two skills from among Arcana, Deception, Persuasion, Religion, or Stealth. You have proficiency in the chosen skills." 560 - }, 561 - { 562 - "name": "Languages", 563 - "desc": "You can speak, read, write, and sign Common and Draconic." 564 - } 565 - ], 566 - "eladrin": [ 567 - { 568 - "name": "Eladrin Weapon Training", 569 - "desc": "You have proficiency with longswords and rapiers." 570 - }, 571 - { 572 - "name": "Fey Sublimation", 573 - "desc": "In addition to being humanoid, you also have the fey creature type." 574 - }, 575 - { 576 - "name": "Invocation of the Eladrin Lords", 577 - "desc": "You know one cantrip based on the aspect of nature you wish to manifest or that of your liege. Your spellcasting ability for this cantrip is Intelligence, Wisdom, or Charisma (whichever is highest).\nAt the end of a rest, you can change your selected aspect.\n\n[b]Autumn[/b]: [i]resistance[/i]\n[b]Hiding[/b]: [i]minor illusion[/i]\n[b]Respite[/b]: [i]mending[/i]\n[b]Rot[/b]: [i]chill touch[/i]\n[b]Spring[/b]: [i]druidcraft[/i]\n[b]Stars[/b]: [i]dancing lights[/i]\n[b]Storm[/b]: [i]shocking grasp[/i]\n[b]Summer[/b]: [i]produce flame[/i]\n[b]Toxicity[/b]: [i]pestilence[/i]\n[b]Winter[/b]: [i]ray of frost[/i]" 578 - }, 579 - { 580 - "name": "Knowledge of the Faerie Courts", 581 - "desc": "You are proficient in one of the following skills: Arcana, Culture, Deception, History, Insight, Persuasion, Survival." 582 - }, 583 - { 584 - "name": "Twilight Step", 585 - "desc": "You can forego your movement on your turn to teleport 30 feet to an unoccupied space you can see. Once you have used this trait, you cannot do so again until you finish a rest." 586 - }, 587 - { 588 - "name": "Languages", 589 - "desc": "You can speak, read, write, and sign in Common, Elvish, and Sylvan." 590 - } 591 - ], 592 - "forestgnome": [ 593 - { 594 - "name": "Artistic Pursuits", 595 - "desc": "You have proficiency with one type of artisans' tools of your choice." 596 - }, 597 - { 598 - "name": "Natural Illusionist", 599 - "desc": "You can cast [i]disguise self[/i] once per rest. Once you reach 3rd level, you can cast [i]blur[/i] once per rest. At 5th level, you can cast [i]major image[/i] once per rest. You don't need material components for these spells, and when casting them your spellcasting ability is Intelligence or Wisdom (whichever is higher)." 600 - }, 601 - { 602 - "name": "Small Beast Speech", 603 - "desc": "You have an innate ability to communicate simple thoughts and ideas with beasts of size Small or smaller." 604 - }, 605 - { 606 - "name": "Languages", 607 - "desc": "You can speak, read, write, and sign Common and Gnomish." 608 - } 609 - ], 610 - "forgottenfolx": [ 611 - { 612 - "name": "Eyes Everywhere", 613 - "desc": "As long as an ally is within 60 feet of you, you always know their general location even if you cannot see or otherwise sense them. This effect is blocked by 1 foot of lead or iron and magical effects like the [i]nondetection[/i] spell." 614 - }, 615 - { 616 - "name": "It Takes a Village", 617 - "desc": "You can use the Help action as a bonus action. Additionally, when you do so, the range at which you can Help an ally increases to 15 feet. Once per rest when you Help an ally, in addition to granting advantage you may also choose for your ally to gain an expertise die." 618 - }, 619 - { 620 - "name": "Languages", 621 - "desc": "You can speak, read, write, and sign Common, Gnomish, and one other language." 622 - } 623 - ], 624 - "forsaken": [ 625 - { 626 - "name": "Eat Like a Bird", 627 - "desc": "You can go a number of days equal to half your Constitution modifier without suffering any fatigue from lack of Supply." 628 - }, 629 - { 630 - "name": "Fleet of Foot", 631 - "desc": "Your Speed increases by 5 feet." 632 - }, 633 - { 634 - "name": "Improvised Tools", 635 - "desc": "During a rest, when you have access to raw materials you can jury-rig an improvised tool kit. If you roll a 1 while making a check using the improvised tools or the next time you take a rest, they break." 636 - }, 637 - { 638 - "name": "Pack Rat", 639 - "desc": "You count as one size larger when determining your carrying capacity." 640 - }, 641 - { 642 - "name": "Roll With the Punches", 643 - "desc": "After you fail an ability check, you have advantage on your next ability check. You can't use this trait again until you finish a short or rest." 644 - }, 645 - { 646 - "name": "Languages", 647 - "desc": "You can speak, read, write, and sign Common, and two additional languages." 648 - } 649 - ], 650 - "godbound": [ 651 - { 652 - "name": "Arts of Worship", 653 - "desc": "You are proficient with your choice of either Performance, two musical instruments, or two artisan's tools." 654 - }, 655 - { 656 - "name": "Bonus Connection", 657 - "desc": "You have one additional connection, selected from the Acolyte background." 658 - }, 659 - { 660 - "name": "Detect Faith", 661 - "desc": "After you speak with a person for at least 1 minute, you can use an action to make either an Insight or Religion check opposed by their Deception check. On a success, you learn the following information about them:\n[ul bullet=*]* Whether they have a lower Wisdom score than yourself.\n* Whether they are religious; if so, you also learn their faith.\n* Whether they have class levels in the cleric or herald class.[/ul]" 662 - }, 663 - { 664 - "name": "Devotion", 665 - "desc": "You gain an expertise die on saving throws made to resist being charmed or frightened." 666 - }, 667 - { 668 - "name": "Religious Education", 669 - "desc": "You are proficient in the Religion skill and know one cantrip of your choice from the cleric, druid, or herald spell list. Your spellcasting ability score for this cantrip is Intelligence, Wisdom, or Charisma (whichever is highest)." 670 - }, 671 - { 672 - "name": "Siblings in Faith", 673 - "desc": "You have advantage on checks made to socially interact with members of your current or former faith, such as when requesting services or gathering information." 674 - }, 675 - { 676 - "name": "Languages", 677 - "desc": "You can speak, read, write, and sign in Common and one other language." 678 - } 679 - ], 680 - "highelf": [ 681 - { 682 - "name": "Cunning Diplomat", 683 - "desc": "You can always choose to use Intelligence when making a Deception, Insight, Intimidation, or Persuasion check." 684 - }, 685 - { 686 - "name": "High Elf Education", 687 - "desc": "You are proficient in Culture and one additional skill of your choice." 688 - }, 689 - { 690 - "name": "High Elf Weapon Training", 691 - "desc": "You have proficiency with rapiers and longswords." 692 - }, 693 - { 694 - "name": "Magical Versatility", 695 - "desc": "You know a cantrip of your choice, which can be chosen from any spell list. Your spellcasting ability score for this cantrip is Intelligence, Wisdom, or Charisma (whichever is highest)." 696 - }, 697 - { 698 - "name": "Languages", 699 - "desc": "You can speak, read, write, and sign in Common, Elvish, and one other language." 700 - } 701 - ], 702 - "hilldwarf": [ 703 - { 704 - "name": "Community Magic", 705 - "desc": "You know the [i]friends[/i] cantrip. Once you reach 3rd level, you can cast [i]charm person[/i] once per rest. At 5th level, you can cast [i]suggestion[/i] once per rest. You don't need material components for these spells, and when casting them your spellcasting ability is Charisma." 706 - }, 707 - { 708 - "name": "Friendly", 709 - "desc": "You are proficient in either Deception or Persuasion." 710 - }, 711 - { 712 - "name": "Wagoner", 713 - "desc": "You are either proficient in either Animal Handling or with land vehicles." 714 - }, 715 - { 716 - "name": "Ways of the Land", 717 - "desc": "You are proficient in Survival and gain an expertise die on checks using it." 718 - }, 719 - { 720 - "name": "Languages", 721 - "desc": "You can speak, read, write, and sign Common, Dwarvish, and two additional languages." 722 - } 723 - ], 724 - "imperial": [ 725 - { 726 - "name": "Conscript", 727 - "desc": "You are proficient with light armor, spears, and light crossbows." 728 - }, 729 - { 730 - "name": "Learned Teachers", 731 - "desc": "You gain proficiency in History and one other skill of your choice." 732 - }, 733 - { 734 - "name": "Local Healers", 735 - "desc": "Whenever your hit point maximum or one of your ability scores would be reduced, it is reduced by half as much instead (minimum 1)." 736 - }, 737 - { 738 - "name": "Languages", 739 - "desc": "You can speak, read, write, and sign Common and one other language." 740 - } 741 - ], 742 - "itinerant": [ 743 - { 744 - "name": "Blending In", 745 - "desc": "You gain proficiency with the disguise kit." 746 - }, 747 - { 748 - "name": "Conscientious Socializer", 749 - "desc": "The first time you interact with strangers in an unfamiliar land or region, you gain an expertise die to the first Charisma check you make. This trait does not work on groups if at least one person in a group knows you." 750 - }, 751 - { 752 - "name": "I Know Someone", 753 - "desc": "You gain one additional connection, which you can choose from any background other than your own." 754 - }, 755 - { 756 - "name": "Many Cultures", 757 - "desc": "You gain proficiency in Culture. In addition, choose Intelligence or Wisdom. You gain an expertise die on ability checks using the chosen ability score that are made to understand the social customs of, interact with, or recall knowledge about individuals, objects, or environments associated with any culture or society you have been surrounded by for a month or longer." 758 - }, 759 - { 760 - "name": "Motive and Reason", 761 - "desc": "Choose one of the following:\n\n[b]Homeland Seeker[/b]\nYou gain proficiency in Arcana and History.\n\n[b]Labor Migrant[/b]\nYou are proficient with a set of artisan's tools and one skill of your choice.\n\n[b]Shadow Exile[/b]\nYou are proficient in Deception or Stealth. If you pick Stealth, once between rests you can make a Stealth check to replace a Perception check. If you pick Deception, once between rests you can make a Deception check to replace an Insight check.\n\n[b]Refugee[/b]\nYou are proficient in Survival, and when in an urban environment can roll Survival checks when using Intimidation or Persuasion." 762 - }, 763 - { 764 - "name": "Languages", 765 - "desc": "You can speak, read, write, and sign Common and three additional languages." 766 - } 767 - ], 768 - "kithbainhalfling": [ 769 - { 770 - "name": "Superior Darkvision", 771 - "desc": "You have darkvision to 60 feet, or the range of your existing darkvision increases by 60 feet." 772 - }, 773 - { 774 - "name": "Sunlight Sensitivity", 775 - "desc": "You have disadvantage on attack rolls and on Perception checks that rely on sight when you, the target of your attack, or whatever you are trying to perceive is in direct sunlight." 776 - }, 777 - { 778 - "name": "The Ken", 779 - "desc": "You can cast [i]telepathic bond[/i] without the need for material components once per rest." 780 - }, 781 - { 782 - "name": "Without Secrets", 783 - "desc": "You are proficient in Insight, and you gain an expertise die on checks made with it." 784 - }, 785 - { 786 - "name": "Languages", 787 - "desc": "You can speak, read, write, and sign Common, Halfling, and Sylvan." 788 - } 789 - ], 790 - "lonewanderer": [ 791 - { 792 - "name": "Culture of My Own", 793 - "desc": "You gain four skill or tool proficiencies of your choice." 794 - }, 795 - { 796 - "name": "Heirloom", 797 - "desc": "Choose one weapon worth 100 gold or less. You begin play with a masterwork version of that weapon." 798 - }, 799 - { 800 - "name": "Languages", 801 - "desc": "You can speak, read, write, and sign Common and two additional languages." 802 - } 803 - ], 804 - "mountaindwarf": [ 805 - { 806 - "name": "Dwarven Weapon Training", 807 - "desc": "You have proficiency with the battleaxe, handaxe, light hammer, and warhammer." 808 - }, 809 - { 810 - "name": "Dwarven Armor Training", 811 - "desc": "You have proficiency with light and medium armor." 812 - }, 813 - { 814 - "name": "Heart of the Forge", 815 - "desc": "You have resistance to fire damage. In addition, you have proficiency in Engineering." 816 - }, 817 - { 818 - "name": "Mountain Born", 819 - "desc": "You're acclimated to high and low altitudes, including elevations above 20,000 feet or depths below 20,000 feet. You're also naturally adapted to cold climates." 820 - }, 821 - { 822 - "name": "Stonecunning", 823 - "desc": "Whenever you make a History check related to the origin of stonework, you are considered proficient in the History skill and gain an expertise die." 824 - }, 825 - { 826 - "name": "Languages", 827 - "desc": "You can speak, read, write, and sign Common, Dwarvish, and one other language." 828 - } 829 - ], 830 - "mustbairnhalfling": [ 831 - { 832 - "name": "Child of the Soil", 833 - "desc": "You ignore difficult terrain caused by any form of earth or soil, such as mud, or mountainous terrain. In addition, you know the [i]druidcraft[/i] cantrip." 834 - }, 835 - { 836 - "name": "Earthspeak", 837 - "desc": "You can attempt to divine the earth's wisdom (as the [i]augury[/i] spell) by submerging your feet or hands into mud or soil. You can't use this trait again until after you finish a rest." 838 - }, 839 - { 840 - "name": "Wild and Unshackled", 841 - "desc": "You have the Chaotic alignment for the purposes of any spell or ability that would detect or affect Chaotic creatures. In addition, you gain proficiency in two of the following skills: Acrobatics, Animal Handling, Nature, Religion, or Survival." 842 - }, 843 - { 844 - "name": "Languages", 845 - "desc": "You can speak, read, write, and sign Common, Halfling, and Terran." 846 - } 847 - ], 848 - "nomad": [ 849 - { 850 - "name": "Nature Minded", 851 - "desc": "You are proficient in Animal Handling and Survival, and either Medicine, Nature, or Perception." 852 - }, 853 - { 854 - "name": "On the Road Again", 855 - "desc": "You are proficient with land vehicles and tinker's tools. You can use tinker's tools to repair a land vehicle you have travelled in for at least 1 month, and gain an expertise die on any checks made to do so. Additionally, you gain an expertise die on checks made to control or navigate a land vehicle." 856 - }, 857 - { 858 - "name": "Sense Weather", 859 - "desc": "After observing an outside area for 1 minute, you can predict the weather within the next 24 hours. You cannot foresee magical changes, but you can use an action to make an Insight or Perception check to notice them." 860 - }, 861 - { 862 - "name": "Languages", 863 - "desc": "You can speak, read, write, and sign Common and two additional languages." 864 - } 865 - ], 866 - "settler": [ 867 - { 868 - "name": "Claim Staker", 869 - "desc": "Whenever you begin a rest, you can choose to spend the first hour of that rest making the area into a fortified position for the duration. While resting in a fortified position, the ground in a 60-foot radius area around you is considered difficult terrain for any creatures other than those you consider allies. In addition, the first time a hidden creature enters the fortified area, it makes a Dexterity saving throw (DC 8 + your Wisdom modifier + your proficiency bonus). On a failed save, the creature inadvertently makes loud noises and is no longer hidden." 870 - }, 871 - { 872 - "name": "Frontier Survival", 873 - "desc": "You are proficient in the Insight and Survival skills." 874 - }, 875 - { 876 - "name": "Strange Forager", 877 - "desc": "You gain an expertise die on any check made to determine if something is poisonous." 878 - }, 879 - { 880 - "name": "Languages", 881 - "desc": "You can speak, read, write, and sign Common, and two additional languages." 882 - } 883 - ], 884 - "shadowelf": [ 885 - { 886 - "name": "Superior Darkvision", 887 - "desc": "You have darkvision to 60 feet, or the range of your existing darkvision increases by 60 feet." 888 - }, 889 - { 890 - "name": "Shadow Elf Weapon Training", 891 - "desc": "You have proficiency with rapiers and hand crossbows." 892 - }, 893 - { 894 - "name": "Shadow Lore", 895 - "desc": "You know a cantrip: either [i]dancing lights[/i] or [i]minor illusion[/i]. Once you reach 3rd level, you can cast [i]faerie fire[/i] once per rest. At 5th level, you can cast [i]darkness[/i] once per rest. You don't need material components for these spells, and when casting them your spellcasting ability is Intelligence, Wisdom, or Charisma (whichever is highest)." 896 - }, 897 - { 898 - "name": "Languages", 899 - "desc": "You can speak, read, write, and sign Common, Elvish, and Undercommon." 900 - } 901 - ], 902 - "steamforged": [ 903 - { 904 - "name": "Mind Like a Steel Trap", 905 - "desc": "You have proficiency in either History, Investigation, or Nature, and you gain an expertise die on checks made using the chosen skill." 906 - }, 907 - { 908 - "name": "Tech Savvy", 909 - "desc": "You have proficiency with tinker's tools and Engineering, plus one other artisan's tool of your choice." 910 - }, 911 - { 912 - "name": "War Scholar", 913 - "desc": "Choose one of the following:\n\n[b]Student of Martial Arts[/b]\nWhen you replace an attack or use an action to Disarm, Grapple, Overrun, Shove, or Tumble, you gain an expertise die.\n\n[b]Student of Martial Science[/b]\nChoose one 1st degree combat maneuver from any tradition. You can use this combat maneuver once without spending exertion. You can't use it again until you finish a rest." 914 - }, 915 - { 916 - "name": "Languages", 917 - "desc": "You can speak, read, write, and sign in Common and one other language." 918 - } 919 - ], 920 - "stoicorc": [ 921 - { 922 - "name": "Clarity of Mind", 923 - "desc": "You have advantage on saving throws made to resist being charmed or frightened." 924 - }, 925 - { 926 - "name": "Stoic Traditions", 927 - "desc": "You gain proficiency in one of the following skills: Arcana, History, Insight, Medicine, Nature, or Religion." 928 - }, 929 - { 930 - "name": "Ritualistic Focus", 931 - "desc": "You know two 1st-level spells of your choice. These spells must have the ritual tag and you may only cast them as rituals. Wisdom is your spellcasting ability for these spells. In addition, you may cast other spells you learn as rituals if those spells have the ritual tag." 932 - }, 933 - { 934 - "name": "Languages", 935 - "desc": "You can speak, read, write, and sign Common and Orc." 936 - } 937 - ], 938 - "stoneworthy": [ 939 - { 940 - "name": "Focused Patience", 941 - "desc": "Once between rests, you can do one of the following:\n\n[b]Concentrate[/b]\nYou gain an expertise die on a Constitution saving throw made to maintain concentration.\n\n[b]Persist[/b]\nYou may reattempt a failed ability check." 942 - }, 943 - { 944 - "name": "Natural Barterer", 945 - "desc": "When bartering, haggling, or negotiating an exchange of goods, you gain an expertise die on Intimidation and Persuasion checks, and you may always choose which ability score to use for these rolls (Intelligence, Wisdom, or Charisma)." 946 - }, 947 - { 948 - "name": "Natural Survivalist", 949 - "desc": "You gain proficiency in Survival." 950 - }, 951 - { 952 - "name": "Temporary Expert", 953 - "desc": "Each time you gain a level, you may choose to lose proficiency in one skill or tool and gain proficiency in a different skill or tool in its place. You cannot trade a skill proficiency for a tool proficiency, and vice versa." 954 - }, 955 - { 956 - "name": "Versatile Crafter", 957 - "desc": "You may spend 4 hours between rests crafting one non-metal tool or simple weapon, or five pieces of ammunition, provided you have access to the materials needed and the final cost of the items does not exceed 5 gold." 958 - }, 959 - { 960 - "name": "Languages", 961 - "desc": "You can speak, read, write, and sign Common and one other language." 962 - } 963 - ], 964 - "stouthalfling": [ 965 - { 966 - "name": "Borough Cooking", 967 - "desc": "Whenever you begin a rest, you and up to 6 allies can each consume 1 Supply to partake in your borough cooking, gaining 1d6 temporary hit points." 968 - }, 969 - { 970 - "name": "Home Gardening", 971 - "desc": "You gain proficiency in either Animal Handling or Nature." 972 - }, 973 - { 974 - "name": "Memoirist", 975 - "desc": "You gain proficiency with calligrapher's supplies. In addition, you gain an expertise die on Intelligence checks to recall details about past events you took part in by first checking your journals." 976 - }, 977 - { 978 - "name": "Languages", 979 - "desc": "You can speak, read, write, and sign Common, Halfling, and one other language." 980 - } 981 - ], 982 - "tinkergnome": [ 983 - { 984 - "name": "Cunning Creative", 985 - "desc": "You gain proficiency with tinker's tools, Engineering, and either Arcana or History. You gain an expertise die whenever you use them to make a check related to alchemical, magical, or technological items.\nBy spending 1 hour and 10 gold worth of materials, you may build a clockwork device that has an AC of 5 and 1 hit point. The device will cease to function after 24 hours, or if you choose to dismantle it, unless you spend an hour maintaining it. An hour can be spent to repair a device that has ceased to function. You can have up to three devices functioning at a time.\n\n[b]Audiophone[/b]\nWhen started, this device plays a pre-recorded sound at a moderate volume. The device stops playing when it reaches the end of the recording, or when shut off. You can use your action to record any 1 minute of audio, and can use a bonus action to start and shut off the device.\n\n[b]Clockwork Figure[/b]\nThis figure can be a Tiny animal, monster, or even a humanoid. When placed on the ground, you can use a bonus action to direct the figure to march up to 10 feet in a direction of your choice. You can choose to have the figure make a noise that is appropriate to the creature it represents, or to have it be silent. If you choose for the figure to be silent, you can instead equip it with a small flame that sheds dim light 5 feet in front of the figure.\n\n[b]Flame Box[/b]\nWhen a bonus action is used to activate this device it creates a small flame that can be used to light a candle, torch, or campfire. Alternatively, you can use a bonus action to shoot a small ball of fire from the device as a ranged weapon attack with a range of 30 feet, dealing 1d6 + 1 fire damage. You are considered proficient with the flame box. Using the device this way damages it, and it must be repaired over the course of a rest before it can be used again.\n\n[b]Sensor[/b]\nThis device can be attached to a wall or any smooth, sturdy surface. When placed, it begins monitoring the area around it. Choose one sort of activity to monitor: noise or movement. The device detects these things up to 30 feet around it, including through openings, but cannot sense through total cover. The device relays the information back to you telepathically, and can share either clips of sound (limited to 30 seconds at a time, with a minimum of 10 minutes in between relays) or information on the size and number of creatures moving in the area." 986 - }, 987 - { 988 - "name": "Languages", 989 - "desc": "You can speak, read, write, and sign Common, Gnomish, and one other language." 990 - } 991 - ], 992 - "tunnelhalfling": [ 993 - { 994 - "name": "Fleet of Foot", 995 - "desc": "Your speed increases by 5 feet." 996 - }, 997 - { 998 - "name": "Rebellious Tactics", 999 - "desc": "You gain proficiency with one of the following skills: Acrobatics, Deception, Nature, or Stealth." 1000 - }, 1001 - { 1002 - "name": "Slippery", 1003 - "desc": "When you are grappled, you can use your reaction to automatically escape that grapple. Once you have used this trait, you cannot do so again until you finish a rest." 1004 - }, 1005 - { 1006 - "name": "Trained Filcher", 1007 - "desc": "You gain proficiency in Sleight of Hand, and you gain an expertise die when picking a pocket or otherwise taking an item without notice." 1008 - }, 1009 - { 1010 - "name": "Languages", 1011 - "desc": "You can speak, read, write, and sign Common and Halfling." 1012 - } 1013 - ], 1014 - "tyrannized": [ 1015 - { 1016 - "name": "All Hail the Tyrant", 1017 - "desc": "You gain proficiency in either Deception or Intimidation." 1018 - }, 1019 - { 1020 - "name": "Defiant Will", 1021 - "desc": "You gain an expertise die on saving throws made to resist being charmed, frightened, paralyzed, poisoned, stunned, or put to sleep." 1022 - }, 1023 - { 1024 - "name": "Saving Face", 1025 - "desc": "If you miss with an attack roll or fail an ability check, you can gain a bonus to the roll equal to the number of allies you can see within 30 feet of you (maximum +3), possibly changing a failure into a success. Once you use this trait, you can't use it again until you finish a short or rest." 1026 - }, 1027 - { 1028 - "name": "Scars of the Scourge", 1029 - "desc": "Choose either scars or scourge, and then choose one of the following damage types: acid, cold, fire, force, lightning, necrotic, poison, psychic, radiant, or thunder.\n\n[b]Scars[/b]\nYou have resistance to the chosen damage type.\n\n[b]Scourge[/b]\nAs a bonus action, you can enhance the next attack you make this turn. If that attack hits, it deals extra damage of the chosen type equal to your proficiency bonus. However, the sting of the scourge lessens after the initial strike, so after you deal this extra damage to a creature, this trait cannot deal extra damage to it during the same combat." 1030 - }, 1031 - { 1032 - "name": "Languages", 1033 - "desc": "You can speak, read, write, and sign Common and one other language." 1034 - } 1035 - ], 1036 - "villager": [ 1037 - { 1038 - "name": "Farm Life", 1039 - "desc": "You gain proficiency in Animal Handling." 1040 - }, 1041 - { 1042 - "name": "Sharpened Tools", 1043 - "desc": "You are proficient with improvised weapons." 1044 - }, 1045 - { 1046 - "name": "Tall Tales", 1047 - "desc": "You may always choose to use Wisdom when making History, Nature, or Religion checks. However, the Narrator may decide that the results of a check made in this way are distorted or exaggerated forms of the truth." 1048 - }, 1049 - { 1050 - "name": "Village Watch", 1051 - "desc": "You gain an expertise die on Perception checks made while keeping watch during a rest." 1052 - }, 1053 - { 1054 - "name": "Languages", 1055 - "desc": "You can speak, read, sign, and write Common and one other language." 1056 - } 1057 - ], 1058 - "warhordling": [ 1059 - { 1060 - "name": "Aggressive", 1061 - "desc": "As a bonus action, you can move up to your Speed towards an enemy that you can see or hear." 1062 - }, 1063 - { 1064 - "name": "Menacing", 1065 - "desc": "You gain proficiency in Intimidation." 1066 - }, 1067 - { 1068 - "name": "War Horde Weapon Training", 1069 - "desc": "You are proficient with two martial weapons of your choice and with light armor. You are also able to cobble together functional if somewhat ramshackle weapons from whatever you have on hand. You can create a ramshackle version of any simple weapon (except crossbows) with 10 minutes of work if you have access to simple materials such as common household items, the rusted scraps found among battlefields, or the bounty of the forest. Ramshackle weapons created in this way function identically to their normal counterparts, except their gold value is always 0 and they break and become useless if you critically fumble." 1070 - }, 1071 - { 1072 - "name": "Wartime Scrounger", 1073 - "desc": "Once per rest, you can spend 4 hours of time to locate Supply for yourself and one other creature while traveling through urban environments, warzones, and battlefields." 1074 - }, 1075 - { 1076 - "name": "Languages", 1077 - "desc": "You can speak, read, write, and sign Common and one other language." 1078 - } 1079 - ], 1080 - "wildling": [ 1081 - { 1082 - "name": "Enhanced Vision", 1083 - "desc": "You gain proficiency in Perception. Choose one of the following.\n\n[b]Nightwalker[/b]\nYou gain an expertise die on Investigation and Perception checks made in moonlight or starlight.\n\n[b]Sunseeing[/b]\nYou gain an expertise die on Investigation and Perception checks made in daylight." 1084 - }, 1085 - { 1086 - "name": "Expert Forager", 1087 - "desc": "Once per rest, you can spend 4 hours of time to locate Supply for yourself and one other creature, or magical reagents worth up to 5 gold." 1088 - }, 1089 - { 1090 - "name": "Internal Clock", 1091 - "desc": "By observing the environment when on your home plane, you can estimate the time of year down to within a week of the actual date. When you are outdoors, you know the time of day." 1092 - }, 1093 - { 1094 - "name": "Living Off The Land", 1095 - "desc": "You gain proficiency in Nature, and can always choose to use Wisdom when making a Nature check. Choose one of the following.\n\n[b]Agriculturalist[/b]\nYou gain an expertise die on Persuasion checks made against farmers, horticulturalists, and those who cultivate for a living, and when making an ability check to use a land vehicle.\n\n[b]Beastwarden[/b]\nWhen you have a hunting animal such as a falcon or hunting dog assisting you, you gain an expertise die on checks made to hunt or track. In addition, you gain an expertise die on Animal Handling checks.\n\n[b]Land Hunter[/b]\nYou gain an expertise die on Intimidation and Stealth checks. Additionally, you can march up to 12 hours before you need to save against fatigue.\n\n[b]Water Drifter[/b]\nYou gain an expertise die when making an ability check to use a water vehicle. In addition, you gain an expertise die on Athletics checks, and you can hold your breath for up to 15 minutes by using an action to prepare to do so." 1096 - }, 1097 - { 1098 - "name": "Weather Sense", 1099 - "desc": "Pick a terrain type. After observing the area for 1 minute, you can predict the weather in this terrain within the next 24 hours. You cannot foresee magical changes, but you can use an action to make an Insight or Perception check to notice them. When you have successfully predicted the weather, you gain an expertise die on saving throws made against its effects." 1100 - }, 1101 - { 1102 - "name": "Languages", 1103 - "desc": "You can speak, read, write, and sign Common and one other language." 1104 - } 1105 - ], 1106 - "woodelf": [ 1107 - { 1108 - "name": "Fleet of Foot", 1109 - "desc": "Your Speed increases by 5 feet." 1110 - }, 1111 - { 1112 - "name": "Nature's Ally", 1113 - "desc": "You can cast animal friendship without material components once per rest. Your spellcasting ability for this spell is Intelligence, Wisdom, or Charisma (whichever is highest)." 1114 - }, 1115 - { 1116 - "name": "Nature's Touch", 1117 - "desc": "Choose one of the following.\n\n[b]Way with Animals[/b]\nYou gain proficiency with Animal Handling and with land vehicles.\n\n[b]Way with Plants[/b]\nYou gain proficiency in Nature and with herbalism kits." 1118 - }, 1119 - { 1120 - "name": "Treeborne Scout", 1121 - "desc": "You gain a climb speed equal to your Speed." 1122 - }, 1123 - { 1124 - "name": "Wood Elf Weapon Training", 1125 - "desc": "You are proficient with longbows and shortswords." 1126 - }, 1127 - { 1128 - "name": "Languages", 1129 - "desc": "You can speak, read, write, and sign Common and Elvish." 1130 - } 1131 - ] 1132 - } 16 + var heritage_features: Dictionary 17 + var heritage_gifts: Dictionary 18 + var culture_features: Dictionary 1133 19 1134 20 func heritage_button(toggle: bool, instance: Node): 1135 21 var index = instance.get_meta("index", -1) ··· 1143 29 else: 1144 30 heritage = index 1145 31 1146 - heritage_changed.emit(heritage) 32 + # heritage_changed.emit(heritage) 1147 33 features(key, toggle) 34 + 35 + if heritage == 0: 36 + set_view_panel("heritage", "") 37 + else: 38 + set_view_panel("heritage", instance.get_text()) 1148 39 1149 40 func culture_button(toggle: bool, instance: Node): 1150 41 var index = instance.get_meta("index", -1) ··· 1159 50 culture = index 1160 51 1161 52 cultures(key, toggle) 53 + # culture_changed.emit(culture) 54 + 55 + if culture == 0: 56 + set_view_panel("culture", "") 57 + else: 58 + set_view_panel("culture", instance.get_text()) 1162 59 1163 60 func class_button(toggle: bool, instance: Node): 1164 61 var index = instance.get_meta("index", -1) ··· 1173 70 else: 1174 71 class_val = index 1175 72 1176 - class_changed.emit(class_val) 73 + # class_changed.emit(class_val) 74 + 75 + if class_val == 0: 76 + set_view_panel("class", "") 77 + else: 78 + set_view_panel("class", "Level 1 " + tr(instance.get_text())) 79 + 80 + roll_values() 1177 81 1178 82 func background_button(toggle: bool, instance: Node): 1179 83 var index = instance.get_meta("index", -1) ··· 1188 92 else: 1189 93 background = index 1190 94 1191 - background_changed.emit(background) 95 + # background_changed.emit(background) 1192 96 1193 97 func _ready(): 1194 98 for i in range($Grid/HeritagePanel/VBoxContainer/Grid.get_child_count()): ··· 1210 114 $Grid/BackgroundPanel/GridContainer.get_child(i).toggled.connect(background_button.bind($Grid/BackgroundPanel/GridContainer.get_child(i))) 1211 115 $Grid/BackgroundPanel/GridContainer.get_child(i).set_meta("index", i + 1) 1212 116 $Grid/BackgroundPanel/GridContainer.get_child(i).set_meta("key", $Grid/BackgroundPanel/GridContainer.get_child(i).name.to_lower().replace("button", "")) 117 + 118 + rand = RandomNumberGenerator.new() 119 + 120 + var f = FileAccess.open('res://char_creator_a5e/heritage_features.json', FileAccess.READ) 121 + var json_string = f.get_as_text() 122 + heritage_features = JSON.parse_string(json_string) 123 + f.close() 124 + f = FileAccess.open('res://char_creator_a5e/heritage_gifts.json', FileAccess.READ) 125 + json_string = f.get_as_text() 126 + heritage_gifts = JSON.parse_string(json_string) 127 + f.close() 128 + f = FileAccess.open('res://char_creator_a5e/culture_features.json', FileAccess.READ) 129 + json_string = f.get_as_text() 130 + culture_features = JSON.parse_string(json_string) 131 + f.close() 1213 132 1214 133 func features(key: String, toggled: bool): 1215 134 if toggled: ··· 1405 324 $Grid/BackgroundPanel.visible = false 1406 325 $Grid/MiddlePanel/NextButton.visible = true 1407 326 panel = 2 327 + 328 + func set_view_panel(field: String, value: Variant): 329 + if field == "heritage": 330 + $Grid/CharacterPanel/HeritageLabel.set_text(value) 331 + elif field == "culture": 332 + $Grid/CharacterPanel/CultureLabel.set_text(value) 333 + elif field == "class": 334 + $Grid/CharacterPanel/ClassLabel.set_text(value) 335 + 336 + func roll_values(): 337 + var roll_value = func(dice_amount: int, dice_val: int, bonus: int): 338 + var total = 0 339 + var values: Array[int] = [] 340 + 341 + for i in range(dice_amount): 342 + var value = rand.randi_range(1, dice_val) 343 + total += value 344 + values.append(value) 345 + 346 + total += bonus 347 + return [total, values] 348 + 349 + var sum = func(vals: Array): 350 + var total = 0 351 + 352 + for val in vals: 353 + total += val 354 + 355 + return total 356 + 357 + var scores: Array[int] 358 + 359 + for i in range(6): 360 + var roll = roll_value.call(4, 6, 0) 361 + var values: Array[int] = roll[1].filter(func(val): return val != roll[1].min()) 362 + scores.append(sum.call(values)) 363 + 364 + print(scores)
+1
char_creator_a5e/culture_features.json
··· 1 + {"caravanner":[{"desc":"You are proficient in Animal Handling and with land vehicles.","name":"Caravanner"},{"desc":"You have proficiency in Survival. In addition, you have advantage on checks made to avoid fatigue from a forced march.","name":"Long Hauler"},{"desc":"You can create a ramshackle version of a cart or wagon with 30 minutes of work if you have access to raw or reclaimed materials. Ramshackle vehicles created in this way function identically to their normal counterparts, except their gold piece value is always 0, they have half as many hit points as their normal counterparts, and they break and become useless if they are hit by any attack roll with a result of natural 20.","name":"Mobile Living"},{"desc":"When you or a mount you're riding uses the Dash action or a vehicle you're driving uses the Ahead Full action, you can move through spaces occupied by creatures with a size category smaller than you, or your mount, or the vehicle. Creatures moved through in this way make a Dexterity saving throw (DC equal to 8 + your Dexterity modifier + your proficiency bonus). On a failed save, creatures are knocked prone and take an amount of bludgeoning damage equal to your level. Creatures cannot be damaged twice from the same trampling charge. Once you use this trait, you cannot do so again until you finish a short or rest.","name":"Trampling Charge"},{"desc":"You can speak, read, write, and sign Common and one other language.","name":"Languages"}],"circusfolk":[{"desc":"You can use the Disengage action as a bonus action.","name":"Rapid Escape"},{"desc":"You are proficient with improvised weapons, and improvised weapons you use can deal 1d6 damage rather than the damage they normally deal. You can use Dexterity instead of Strength for the attack and damage rolls of your improvised weapons.","name":"Slapstick"},{"desc":"You can cast [i]disguise self[/i] once per rest. Your spellcasting ability for this spell is Intelligence, Wisdom, or Charisma (whichever is highest).","name":"Trickster's Veil"},{"desc":"You can speak, read, write, and sign Common.","name":"Languages"}],"collegiate":[{"desc":"Once between rests, at the start of your turn you can suppress the effects of an enchantment spell you are under for 1 round as your logic overrides it.","name":"Philosophic Mind"},{"desc":"You are proficient with calligrapher's supplies and two other artisan's tools.","name":"Practiced Artisan"},{"desc":"You have extensive knowledge in certain fields. For all skill proficiencies gained through this trait, you always choose which ability score to use for these rolls (Intelligence, Wisdom, or Charisma).","name":"Studied Discipline"},{"desc":"You can speak, read, write, and sign Common and three additional languages.","name":"Languages"}],"cosmopolitan":[{"desc":"You gain an expertise die on checks made to persuade others to let you remain armed or to conceal weapons or items about your person.","name":"Discreetly Armed"},{"desc":"After you spend at least 1 minute observing a creature within 60 feet, you can use an action to make either an Insight or History check against a DC equal to the creature's passive Deception check score. On a success, you learn the following information about that creature:\n\n[ul bullet=*]* Whether the creature has a lower Charisma score than yourself.\n* The creature's culture and national origin (if any).\n* The creature's social standing in the local majority culture.[/ul]","name":"Fashion Sense"},{"desc":"You gain proficiency in Culture and one other skill of your choice.","name":"Skill Versatility"},{"desc":"You can make an Investigation check to learn the location of (or at the Narrator's discretion gain a helpful clue to the trail of) a person by discreetly asking around in the right places. The difficulty of the check is DC 15 if the individual is not hiding, or DC 20 if they are trying to conceal their location.","name":"Urban Denizen"},{"desc":"You gain an extra connection, selected from a background of your choice. This person is of a different heritage or national origin than yourself.","name":"Well-Connected"},{"desc":"You can speak, read, write, and sign in Common and two additional languages.","name":"Languages"}],"deepdwarf":[{"desc":"You have darkvision to 60 feet, or the range of your existing darkvision increases by 60 feet.","name":"Superior Darkvision"},{"desc":"You know the [i]resistance[/i] cantrip. Once you reach 3rd level, you can cast [i]jump[/i] once per rest. At 5th level, you can cast [i]enlarge/reduce[/i] once per rest. You don't need material components for these spells, but you can't cast them while you're in direct sunlight (although sunlight has no effect on them once cast). Intelligence is your spellcasting ability for these spells.","name":"Deep Magic"},{"desc":"You gain an expertise die on Wisdom saving throws against illusions and against being charmed or frightened.","name":"Deep Suspicion"},{"desc":"You are proficient with hand crossbows, short swords, and war picks.","name":"Underground Combat Training"},{"desc":"You can speak, read, write, and sign Common, Dwarvish, and Undercommon.","name":"Languages"}],"deepgnome":[{"desc":"You have darkvision to 60 feet, or the range of your existing darkvision increases by 60 feet.","name":"Superior Darkvision"},{"desc":"You can cast [i]disguise self[/i] once per rest. Once you reach 3rd level, you can cast [i]blindness/deafness[/i] (blindness only) once per rest. At 5th level, you can cast [i]nondetection[/i] once per rest. You don't need material components for these spells, and when casting them your spellcasting ability is Intelligence, Wisdom, or Charisma (whichever is highest).","name":"Dark Gnome Magic"},{"desc":"You gain an expertise die on Stealth checks made to hide in rocky terrain.","name":"Subterranean Camouflage"},{"desc":"You can speak, read, write, and sign Common, Gnomish, and Undercommon.","name":"Languages"}],"dragonbound":[{"desc":"You gain an expertise die on Charisma checks made to influence dragon creatures.","name":"Draconic Diplomacy"},{"desc":"You know one cantrip of your choice from the cleric or wizard spell lists. Your spellcasting ability for this cantrip is Intelligence or Wisdom (whichever is highest).","name":"Dragonbound Teachings"},{"desc":"Choose a type of boon.\n\n[b]Chromatic Dragon's Boon[/b]\nYou can cast [i]fear[/i] without the need for material components once per rest. Until you reach 5th level, the area of this casting of the spell is limited to a 15-foot cone. Your spellcasting ability for this spell is Charisma.\n\n[b]Essence Dragon's Boon[/b]\nYou know the [i]druidcraft[/i] cantrip. In addition, your diplomatic understanding extends towards the creatures of the land and the spirits within it. You gain an expertise die on Charisma checks made to influence beast and celestial creatures.\n\n[b]Gem Dragon's Boon[/b]\nYou know the [i]message[/i] cantrip. Once you reach 3rd level, you can cast [i]illusory script[/i] once per rest. At 5th level, you can cast [i]invisibility[/i] once per rest. You don't need material components for these spells, and when casting them your spellcasting ability is Intelligence or Charisma (whichever is highest).\n\n[b]Metallic Dragon's Boon[/b]\nChoose a skill from among Arcana, History, Medicine, Nature, or Religion. You have proficiency in the chosen skill and you gain an expertise die on ability checks you make using it.","name":"Progenitor's Boon"},{"desc":"You can speak, read, write, and sign Common and Draconic.","name":"Languages"}],"dragoncult":[{"desc":"As a bonus action, you can cause draconic power to course around you in a draconic umbra. This draconic umbra lasts for 1 minute or until you use a bonus action to end it. Once you have used this trait, you cannot use it again until after you finish a rest.","name":"Draconic Umbra"},{"desc":"Choose two skills from among Arcana, Deception, Persuasion, Religion, or Stealth. You have proficiency in the chosen skills.","name":"Secrets of the Wyrm"},{"desc":"You can speak, read, write, and sign Common and Draconic.","name":"Languages"}],"eladrin":[{"desc":"You have proficiency with longswords and rapiers.","name":"Eladrin Weapon Training"},{"desc":"In addition to being humanoid, you also have the fey creature type.","name":"Fey Sublimation"},{"desc":"You know one cantrip based on the aspect of nature you wish to manifest or that of your liege. Your spellcasting ability for this cantrip is Intelligence, Wisdom, or Charisma (whichever is highest).\nAt the end of a rest, you can change your selected aspect.\n\n[b]Autumn[/b]: [i]resistance[/i]\n[b]Hiding[/b]: [i]minor illusion[/i]\n[b]Respite[/b]: [i]mending[/i]\n[b]Rot[/b]: [i]chill touch[/i]\n[b]Spring[/b]: [i]druidcraft[/i]\n[b]Stars[/b]: [i]dancing lights[/i]\n[b]Storm[/b]: [i]shocking grasp[/i]\n[b]Summer[/b]: [i]produce flame[/i]\n[b]Toxicity[/b]: [i]pestilence[/i]\n[b]Winter[/b]: [i]ray of frost[/i]","name":"Invocation of the Eladrin Lords"},{"desc":"You are proficient in one of the following skills: Arcana, Culture, Deception, History, Insight, Persuasion, Survival.","name":"Knowledge of the Faerie Courts"},{"desc":"You can forego your movement on your turn to teleport 30 feet to an unoccupied space you can see. Once you have used this trait, you cannot do so again until you finish a rest.","name":"Twilight Step"},{"desc":"You can speak, read, write, and sign in Common, Elvish, and Sylvan.","name":"Languages"}],"forestgnome":[{"desc":"You have proficiency with one type of artisans' tools of your choice.","name":"Artistic Pursuits"},{"desc":"You can cast [i]disguise self[/i] once per rest. Once you reach 3rd level, you can cast [i]blur[/i] once per rest. At 5th level, you can cast [i]major image[/i] once per rest. You don't need material components for these spells, and when casting them your spellcasting ability is Intelligence or Wisdom (whichever is higher).","name":"Natural Illusionist"},{"desc":"You have an innate ability to communicate simple thoughts and ideas with beasts of size Small or smaller.","name":"Small Beast Speech"},{"desc":"You can speak, read, write, and sign Common and Gnomish.","name":"Languages"}],"forgottenfolx":[{"desc":"As long as an ally is within 60 feet of you, you always know their general location even if you cannot see or otherwise sense them. This effect is blocked by 1 foot of lead or iron and magical effects like the [i]nondetection[/i] spell.","name":"Eyes Everywhere"},{"desc":"You can use the Help action as a bonus action. Additionally, when you do so, the range at which you can Help an ally increases to 15 feet. Once per rest when you Help an ally, in addition to granting advantage you may also choose for your ally to gain an expertise die.","name":"It Takes a Village"},{"desc":"You can speak, read, write, and sign Common, Gnomish, and one other language.","name":"Languages"}],"forsaken":[{"desc":"You can go a number of days equal to half your Constitution modifier without suffering any fatigue from lack of Supply.","name":"Eat Like a Bird"},{"desc":"Your Speed increases by 5 feet.","name":"Fleet of Foot"},{"desc":"During a rest, when you have access to raw materials you can jury-rig an improvised tool kit. If you roll a 1 while making a check using the improvised tools or the next time you take a rest, they break.","name":"Improvised Tools"},{"desc":"You count as one size larger when determining your carrying capacity.","name":"Pack Rat"},{"desc":"After you fail an ability check, you have advantage on your next ability check. You can't use this trait again until you finish a short or rest.","name":"Roll With the Punches"},{"desc":"You can speak, read, write, and sign Common, and two additional languages.","name":"Languages"}],"godbound":[{"desc":"You are proficient with your choice of either Performance, two musical instruments, or two artisan's tools.","name":"Arts of Worship"},{"desc":"You have one additional connection, selected from the Acolyte background.","name":"Bonus Connection"},{"desc":"After you speak with a person for at least 1 minute, you can use an action to make either an Insight or Religion check opposed by their Deception check. On a success, you learn the following information about them:\n[ul bullet=*]* Whether they have a lower Wisdom score than yourself.\n* Whether they are religious; if so, you also learn their faith.\n* Whether they have class levels in the cleric or herald class.[/ul]","name":"Detect Faith"},{"desc":"You gain an expertise die on saving throws made to resist being charmed or frightened.","name":"Devotion"},{"desc":"You are proficient in the Religion skill and know one cantrip of your choice from the cleric, druid, or herald spell list. Your spellcasting ability score for this cantrip is Intelligence, Wisdom, or Charisma (whichever is highest).","name":"Religious Education"},{"desc":"You have advantage on checks made to socially interact with members of your current or former faith, such as when requesting services or gathering information.","name":"Siblings in Faith"},{"desc":"You can speak, read, write, and sign in Common and one other language.","name":"Languages"}],"highelf":[{"desc":"You can always choose to use Intelligence when making a Deception, Insight, Intimidation, or Persuasion check.","name":"Cunning Diplomat"},{"desc":"You are proficient in Culture and one additional skill of your choice.","name":"High Elf Education"},{"desc":"You have proficiency with rapiers and longswords.","name":"High Elf Weapon Training"},{"desc":"You know a cantrip of your choice, which can be chosen from any spell list. Your spellcasting ability score for this cantrip is Intelligence, Wisdom, or Charisma (whichever is highest).","name":"Magical Versatility"},{"desc":"You can speak, read, write, and sign in Common, Elvish, and one other language.","name":"Languages"}],"hilldwarf":[{"desc":"You know the [i]friends[/i] cantrip. Once you reach 3rd level, you can cast [i]charm person[/i] once per rest. At 5th level, you can cast [i]suggestion[/i] once per rest. You don't need material components for these spells, and when casting them your spellcasting ability is Charisma.","name":"Community Magic"},{"desc":"You are proficient in either Deception or Persuasion.","name":"Friendly"},{"desc":"You are either proficient in either Animal Handling or with land vehicles.","name":"Wagoner"},{"desc":"You are proficient in Survival and gain an expertise die on checks using it.","name":"Ways of the Land"},{"desc":"You can speak, read, write, and sign Common, Dwarvish, and two additional languages.","name":"Languages"}],"imperial":[{"desc":"You are proficient with light armor, spears, and light crossbows.","name":"Conscript"},{"desc":"You gain proficiency in History and one other skill of your choice.","name":"Learned Teachers"},{"desc":"Whenever your hit point maximum or one of your ability scores would be reduced, it is reduced by half as much instead (minimum 1).","name":"Local Healers"},{"desc":"You can speak, read, write, and sign Common and one other language.","name":"Languages"}],"itinerant":[{"desc":"You gain proficiency with the disguise kit.","name":"Blending In"},{"desc":"The first time you interact with strangers in an unfamiliar land or region, you gain an expertise die to the first Charisma check you make. This trait does not work on groups if at least one person in a group knows you.","name":"Conscientious Socializer"},{"desc":"You gain one additional connection, which you can choose from any background other than your own.","name":"I Know Someone"},{"desc":"You gain proficiency in Culture. In addition, choose Intelligence or Wisdom. You gain an expertise die on ability checks using the chosen ability score that are made to understand the social customs of, interact with, or recall knowledge about individuals, objects, or environments associated with any culture or society you have been surrounded by for a month or longer.","name":"Many Cultures"},{"desc":"Choose one of the following:\n\n[b]Homeland Seeker[/b]\nYou gain proficiency in Arcana and History.\n\n[b]Labor Migrant[/b]\nYou are proficient with a set of artisan's tools and one skill of your choice.\n\n[b]Shadow Exile[/b]\nYou are proficient in Deception or Stealth. If you pick Stealth, once between rests you can make a Stealth check to replace a Perception check. If you pick Deception, once between rests you can make a Deception check to replace an Insight check.\n\n[b]Refugee[/b]\nYou are proficient in Survival, and when in an urban environment can roll Survival checks when using Intimidation or Persuasion.","name":"Motive and Reason"},{"desc":"You can speak, read, write, and sign Common and three additional languages.","name":"Languages"}],"kithbainhalfling":[{"desc":"You have darkvision to 60 feet, or the range of your existing darkvision increases by 60 feet.","name":"Superior Darkvision"},{"desc":"You have disadvantage on attack rolls and on Perception checks that rely on sight when you, the target of your attack, or whatever you are trying to perceive is in direct sunlight.","name":"Sunlight Sensitivity"},{"desc":"You can cast [i]telepathic bond[/i] without the need for material components once per rest.","name":"The Ken"},{"desc":"You are proficient in Insight, and you gain an expertise die on checks made with it.","name":"Without Secrets"},{"desc":"You can speak, read, write, and sign Common, Halfling, and Sylvan.","name":"Languages"}],"lonewanderer":[{"desc":"You gain four skill or tool proficiencies of your choice.","name":"Culture of My Own"},{"desc":"Choose one weapon worth 100 gold or less. You begin play with a masterwork version of that weapon.","name":"Heirloom"},{"desc":"You can speak, read, write, and sign Common and two additional languages.","name":"Languages"}],"mountaindwarf":[{"desc":"You have proficiency with the battleaxe, handaxe, light hammer, and warhammer.","name":"Dwarven Weapon Training"},{"desc":"You have proficiency with light and medium armor.","name":"Dwarven Armor Training"},{"desc":"You have resistance to fire damage. In addition, you have proficiency in Engineering.","name":"Heart of the Forge"},{"desc":"You're acclimated to high and low altitudes, including elevations above 20,000 feet or depths below 20,000 feet. You're also naturally adapted to cold climates.","name":"Mountain Born"},{"desc":"Whenever you make a History check related to the origin of stonework, you are considered proficient in the History skill and gain an expertise die.","name":"Stonecunning"},{"desc":"You can speak, read, write, and sign Common, Dwarvish, and one other language.","name":"Languages"}],"mustbairnhalfling":[{"desc":"You ignore difficult terrain caused by any form of earth or soil, such as mud, or mountainous terrain. In addition, you know the [i]druidcraft[/i] cantrip.","name":"Child of the Soil"},{"desc":"You can attempt to divine the earth's wisdom (as the [i]augury[/i] spell) by submerging your feet or hands into mud or soil. You can't use this trait again until after you finish a rest.","name":"Earthspeak"},{"desc":"You have the Chaotic alignment for the purposes of any spell or ability that would detect or affect Chaotic creatures. In addition, you gain proficiency in two of the following skills: Acrobatics, Animal Handling, Nature, Religion, or Survival.","name":"Wild and Unshackled"},{"desc":"You can speak, read, write, and sign Common, Halfling, and Terran.","name":"Languages"}],"nomad":[{"desc":"You are proficient in Animal Handling and Survival, and either Medicine, Nature, or Perception.","name":"Nature Minded"},{"desc":"You are proficient with land vehicles and tinker's tools. You can use tinker's tools to repair a land vehicle you have travelled in for at least 1 month, and gain an expertise die on any checks made to do so. Additionally, you gain an expertise die on checks made to control or navigate a land vehicle.","name":"On the Road Again"},{"desc":"After observing an outside area for 1 minute, you can predict the weather within the next 24 hours. You cannot foresee magical changes, but you can use an action to make an Insight or Perception check to notice them.","name":"Sense Weather"},{"desc":"You can speak, read, write, and sign Common and two additional languages.","name":"Languages"}],"settler":[{"desc":"Whenever you begin a rest, you can choose to spend the first hour of that rest making the area into a fortified position for the duration. While resting in a fortified position, the ground in a 60-foot radius area around you is considered difficult terrain for any creatures other than those you consider allies. In addition, the first time a hidden creature enters the fortified area, it makes a Dexterity saving throw (DC 8 + your Wisdom modifier + your proficiency bonus). On a failed save, the creature inadvertently makes loud noises and is no longer hidden.","name":"Claim Staker"},{"desc":"You are proficient in the Insight and Survival skills.","name":"Frontier Survival"},{"desc":"You gain an expertise die on any check made to determine if something is poisonous.","name":"Strange Forager"},{"desc":"You can speak, read, write, and sign Common, and two additional languages.","name":"Languages"}],"shadowelf":[{"desc":"You have darkvision to 60 feet, or the range of your existing darkvision increases by 60 feet.","name":"Superior Darkvision"},{"desc":"You have proficiency with rapiers and hand crossbows.","name":"Shadow Elf Weapon Training"},{"desc":"You know a cantrip: either [i]dancing lights[/i] or [i]minor illusion[/i]. Once you reach 3rd level, you can cast [i]faerie fire[/i] once per rest. At 5th level, you can cast [i]darkness[/i] once per rest. You don't need material components for these spells, and when casting them your spellcasting ability is Intelligence, Wisdom, or Charisma (whichever is highest).","name":"Shadow Lore"},{"desc":"You can speak, read, write, and sign Common, Elvish, and Undercommon.","name":"Languages"}],"steamforged":[{"desc":"You have proficiency in either History, Investigation, or Nature, and you gain an expertise die on checks made using the chosen skill.","name":"Mind Like a Steel Trap"},{"desc":"You have proficiency with tinker's tools and Engineering, plus one other artisan's tool of your choice.","name":"Tech Savvy"},{"desc":"Choose one of the following:\n\n[b]Student of Martial Arts[/b]\nWhen you replace an attack or use an action to Disarm, Grapple, Overrun, Shove, or Tumble, you gain an expertise die.\n\n[b]Student of Martial Science[/b]\nChoose one 1st degree combat maneuver from any tradition. You can use this combat maneuver once without spending exertion. You can't use it again until you finish a rest.","name":"War Scholar"},{"desc":"You can speak, read, write, and sign in Common and one other language.","name":"Languages"}],"stoicorc":[{"desc":"You have advantage on saving throws made to resist being charmed or frightened.","name":"Clarity of Mind"},{"desc":"You gain proficiency in one of the following skills: Arcana, History, Insight, Medicine, Nature, or Religion.","name":"Stoic Traditions"},{"desc":"You know two 1st-level spells of your choice. These spells must have the ritual tag and you may only cast them as rituals. Wisdom is your spellcasting ability for these spells. In addition, you may cast other spells you learn as rituals if those spells have the ritual tag.","name":"Ritualistic Focus"},{"desc":"You can speak, read, write, and sign Common and Orc.","name":"Languages"}],"stoneworthy":[{"desc":"Once between rests, you can do one of the following:\n\n[b]Concentrate[/b]\nYou gain an expertise die on a Constitution saving throw made to maintain concentration.\n\n[b]Persist[/b]\nYou may reattempt a failed ability check.","name":"Focused Patience"},{"desc":"When bartering, haggling, or negotiating an exchange of goods, you gain an expertise die on Intimidation and Persuasion checks, and you may always choose which ability score to use for these rolls (Intelligence, Wisdom, or Charisma).","name":"Natural Barterer"},{"desc":"You gain proficiency in Survival.","name":"Natural Survivalist"},{"desc":"Each time you gain a level, you may choose to lose proficiency in one skill or tool and gain proficiency in a different skill or tool in its place. You cannot trade a skill proficiency for a tool proficiency, and vice versa.","name":"Temporary Expert"},{"desc":"You may spend 4 hours between rests crafting one non-metal tool or simple weapon, or five pieces of ammunition, provided you have access to the materials needed and the final cost of the items does not exceed 5 gold.","name":"Versatile Crafter"},{"desc":"You can speak, read, write, and sign Common and one other language.","name":"Languages"}],"stouthalfling":[{"desc":"Whenever you begin a rest, you and up to 6 allies can each consume 1 Supply to partake in your borough cooking, gaining 1d6 temporary hit points.","name":"Borough Cooking"},{"desc":"You gain proficiency in either Animal Handling or Nature.","name":"Home Gardening"},{"desc":"You gain proficiency with calligrapher's supplies. In addition, you gain an expertise die on Intelligence checks to recall details about past events you took part in by first checking your journals.","name":"Memoirist"},{"desc":"You can speak, read, write, and sign Common, Halfling, and one other language.","name":"Languages"}],"tinkergnome":[{"desc":"You gain proficiency with tinker's tools, Engineering, and either Arcana or History. You gain an expertise die whenever you use them to make a check related to alchemical, magical, or technological items.\nBy spending 1 hour and 10 gold worth of materials, you may build a clockwork device that has an AC of 5 and 1 hit point. The device will cease to function after 24 hours, or if you choose to dismantle it, unless you spend an hour maintaining it. An hour can be spent to repair a device that has ceased to function. You can have up to three devices functioning at a time.\n\n[b]Audiophone[/b]\nWhen started, this device plays a pre-recorded sound at a moderate volume. The device stops playing when it reaches the end of the recording, or when shut off. You can use your action to record any 1 minute of audio, and can use a bonus action to start and shut off the device.\n\n[b]Clockwork Figure[/b]\nThis figure can be a Tiny animal, monster, or even a humanoid. When placed on the ground, you can use a bonus action to direct the figure to march up to 10 feet in a direction of your choice. You can choose to have the figure make a noise that is appropriate to the creature it represents, or to have it be silent. If you choose for the figure to be silent, you can instead equip it with a small flame that sheds dim light 5 feet in front of the figure.\n\n[b]Flame Box[/b]\nWhen a bonus action is used to activate this device it creates a small flame that can be used to light a candle, torch, or campfire. Alternatively, you can use a bonus action to shoot a small ball of fire from the device as a ranged weapon attack with a range of 30 feet, dealing 1d6 + 1 fire damage. You are considered proficient with the flame box. Using the device this way damages it, and it must be repaired over the course of a rest before it can be used again.\n\n[b]Sensor[/b]\nThis device can be attached to a wall or any smooth, sturdy surface. When placed, it begins monitoring the area around it. Choose one sort of activity to monitor: noise or movement. The device detects these things up to 30 feet around it, including through openings, but cannot sense through total cover. The device relays the information back to you telepathically, and can share either clips of sound (limited to 30 seconds at a time, with a minimum of 10 minutes in between relays) or information on the size and number of creatures moving in the area.","name":"Cunning Creative"},{"desc":"You can speak, read, write, and sign Common, Gnomish, and one other language.","name":"Languages"}],"tunnelhalfling":[{"desc":"Your speed increases by 5 feet.","name":"Fleet of Foot"},{"desc":"You gain proficiency with one of the following skills: Acrobatics, Deception, Nature, or Stealth.","name":"Rebellious Tactics"},{"desc":"When you are grappled, you can use your reaction to automatically escape that grapple. Once you have used this trait, you cannot do so again until you finish a rest.","name":"Slippery"},{"desc":"You gain proficiency in Sleight of Hand, and you gain an expertise die when picking a pocket or otherwise taking an item without notice.","name":"Trained Filcher"},{"desc":"You can speak, read, write, and sign Common and Halfling.","name":"Languages"}],"tyrannized":[{"desc":"You gain proficiency in either Deception or Intimidation.","name":"All Hail the Tyrant"},{"desc":"You gain an expertise die on saving throws made to resist being charmed, frightened, paralyzed, poisoned, stunned, or put to sleep.","name":"Defiant Will"},{"desc":"If you miss with an attack roll or fail an ability check, you can gain a bonus to the roll equal to the number of allies you can see within 30 feet of you (maximum +3), possibly changing a failure into a success. Once you use this trait, you can't use it again until you finish a short or rest.","name":"Saving Face"},{"desc":"Choose either scars or scourge, and then choose one of the following damage types: acid, cold, fire, force, lightning, necrotic, poison, psychic, radiant, or thunder.\n\n[b]Scars[/b]\nYou have resistance to the chosen damage type.\n\n[b]Scourge[/b]\nAs a bonus action, you can enhance the next attack you make this turn. If that attack hits, it deals extra damage of the chosen type equal to your proficiency bonus. However, the sting of the scourge lessens after the initial strike, so after you deal this extra damage to a creature, this trait cannot deal extra damage to it during the same combat.","name":"Scars of the Scourge"},{"desc":"You can speak, read, write, and sign Common and one other language.","name":"Languages"}],"villager":[{"desc":"You gain proficiency in Animal Handling.","name":"Farm Life"},{"desc":"You are proficient with improvised weapons.","name":"Sharpened Tools"},{"desc":"You may always choose to use Wisdom when making History, Nature, or Religion checks. However, the Narrator may decide that the results of a check made in this way are distorted or exaggerated forms of the truth.","name":"Tall Tales"},{"desc":"You gain an expertise die on Perception checks made while keeping watch during a rest.","name":"Village Watch"},{"desc":"You can speak, read, sign, and write Common and one other language.","name":"Languages"}],"warhordling":[{"desc":"As a bonus action, you can move up to your Speed towards an enemy that you can see or hear.","name":"Aggressive"},{"desc":"You gain proficiency in Intimidation.","name":"Menacing"},{"desc":"You are proficient with two martial weapons of your choice and with light armor. You are also able to cobble together functional if somewhat ramshackle weapons from whatever you have on hand. You can create a ramshackle version of any simple weapon (except crossbows) with 10 minutes of work if you have access to simple materials such as common household items, the rusted scraps found among battlefields, or the bounty of the forest. Ramshackle weapons created in this way function identically to their normal counterparts, except their gold value is always 0 and they break and become useless if you critically fumble.","name":"War Horde Weapon Training"},{"desc":"Once per rest, you can spend 4 hours of time to locate Supply for yourself and one other creature while traveling through urban environments, warzones, and battlefields.","name":"Wartime Scrounger"},{"desc":"You can speak, read, write, and sign Common and one other language.","name":"Languages"}],"wildling":[{"desc":"You gain proficiency in Perception. Choose one of the following.\n\n[b]Nightwalker[/b]\nYou gain an expertise die on Investigation and Perception checks made in moonlight or starlight.\n\n[b]Sunseeing[/b]\nYou gain an expertise die on Investigation and Perception checks made in daylight.","name":"Enhanced Vision"},{"desc":"Once per rest, you can spend 4 hours of time to locate Supply for yourself and one other creature, or magical reagents worth up to 5 gold.","name":"Expert Forager"},{"desc":"By observing the environment when on your home plane, you can estimate the time of year down to within a week of the actual date. When you are outdoors, you know the time of day.","name":"Internal Clock"},{"desc":"You gain proficiency in Nature, and can always choose to use Wisdom when making a Nature check. Choose one of the following.\n\n[b]Agriculturalist[/b]\nYou gain an expertise die on Persuasion checks made against farmers, horticulturalists, and those who cultivate for a living, and when making an ability check to use a land vehicle.\n\n[b]Beastwarden[/b]\nWhen you have a hunting animal such as a falcon or hunting dog assisting you, you gain an expertise die on checks made to hunt or track. In addition, you gain an expertise die on Animal Handling checks.\n\n[b]Land Hunter[/b]\nYou gain an expertise die on Intimidation and Stealth checks. Additionally, you can march up to 12 hours before you need to save against fatigue.\n\n[b]Water Drifter[/b]\nYou gain an expertise die when making an ability check to use a water vehicle. In addition, you gain an expertise die on Athletics checks, and you can hold your breath for up to 15 minutes by using an action to prepare to do so.","name":"Living Off The Land"},{"desc":"Pick a terrain type. After observing the area for 1 minute, you can predict the weather in this terrain within the next 24 hours. You cannot foresee magical changes, but you can use an action to make an Insight or Perception check to notice them. When you have successfully predicted the weather, you gain an expertise die on saving throws made against its effects.","name":"Weather Sense"},{"desc":"You can speak, read, write, and sign Common and one other language.","name":"Languages"}],"woodelf":[{"desc":"Your Speed increases by 5 feet.","name":"Fleet of Foot"},{"desc":"You can cast animal friendship without material components once per rest. Your spellcasting ability for this spell is Intelligence, Wisdom, or Charisma (whichever is highest).","name":"Nature's Ally"},{"desc":"Choose one of the following.\n\n[b]Way with Animals[/b]\nYou gain proficiency with Animal Handling and with land vehicles.\n\n[b]Way with Plants[/b]\nYou gain proficiency in Nature and with herbalism kits.","name":"Nature's Touch"},{"desc":"You gain a climb speed equal to your Speed.","name":"Treeborne Scout"},{"desc":"You are proficient with longbows and shortswords.","name":"Wood Elf Weapon Training"},{"desc":"You can speak, read, write, and sign Common and Elvish.","name":"Languages"}]}
+1
char_creator_a5e/heritage_features.json
··· 1 + {"dragonborn":[{"desc":"Your walking speed is 30 feet.","name":"Speed"},{"desc":"You can use your dragon breath as an action.\nChoose the type of damage dealt by your breath weapon from the following list: acid, cold, fire, force, lightning, necrotic, poison, psychic, radiant, or thunder.\nAdditionally, choose between a 30-foot line that is 5 feet wide or a 15-foot cone for the area that your breath weapon affects. Each creature in the breath's area makes a Dexterity saving throw. If your breath weapon deals psychic damage, a Wisdom saving throw is made instead of Dexterity; if cold, necrotic, poison, radiant, or thunder, a Constitution saving throw. The DC is 8 + your Constitution modifier + your proficiency bonus.\nA creature takes 2d6 damage on a failed saving throw, or half damage on a success. The damage increases to 3d6 at 4th level, 4d6 at 9th level, 5d6 at 14th level, and 6d6 at 19th level.\nAfter you use your dragon breath, you can't use it again until you finish a rest.","name":"Dragon Breath"}],"dwarf":[{"desc":"You have a walking speed of 25 feet. Your Speed is not reduced by wearing heavy armor or wielding tower shields.","name":"Speed"},{"desc":"You have darkvision to 60 feet.","name":"Darkvision"},{"desc":"You gain proficiency with one set of artisan's tools (either brewer's supplies or mason's tools) or smith's tools. During a long rest, you can use these tools for crafting instead of sleeping and still receive the full benefits of the long rest.","name":"Creator's Blessing"},{"desc":"Your character level is added to your hit point maximum.","name":"Tough"}],"elf":[{"desc":"You have a walking speed of 30 feet.","name":"Speed"},{"desc":"You have darkvision to 60 feet.","name":"Darkvision"},{"desc":"You gain an expertise die on saving throws against being charmed, and you are immune to magical effects that would put you to sleep.","name":"Fey Ancestry"},{"desc":"Instead of sleeping, elves enter a trance state. When you take a long rest, you spend 4 hours in your trance state (instead of sleeping for 6 hours). During the trance you suffer no penalty to passive Perception. A long rest remains 8 hours for you as normal, and the remainder of the time must be filled only with light activity.","name":"Trance"}],"gnome":[{"desc":"You have a walking speed of 25 feet.","name":"Speed"},{"desc":"You have darkvision to 60 feet.","name":"Darkvision"},{"desc":"You gain an expertise die on Intelligence, Wisdom, and Charisma saving throws made against spells and magical effects.","name":"Gnome Cunning"},{"desc":"You know the [i]minor illusion[/i] cantrip. Your spellcasting ability for this spell is Intelligence, Wisdom, or Charisma (whichever is highest).","name":"Gnomish Magic"}],"halfling":[{"desc":"You have a walking speed of 25 feet.","name":"Speed"},{"desc":"You are immune to the effects of the frightened condition.","name":"Fearless"},{"desc":"If a creature is at least one size larger than you, you can move through its space.","name":"Nimble Steps"},{"desc":"When you make an ability check, attack roll, or saving throw and roll a 1, you can choose to roll again, taking the second result.","name":"Halfling's Luck"}],"human":[{"desc":"You have a walking speed of 30 feet.","name":"Speed"},{"desc":"You gain proficiency in one additional skill of your choice. In addition, you require half as much time as normal to train yourself in the use of a suit of armor, tool, or weapon during downtime.","name":"Fast Learner"},{"desc":"Once between rests, when you make an ability check, attack roll, or saving throw, you can choose to gain an expertise die on that roll.","name":"Intrepid"}],"orc":[{"desc":"You have a walking speed of 30 feet.","name":"Speed"},{"desc":"You have darkvision to 60 feet.","name":"Darkvision"},{"desc":"When determining your carrying capacity and the weight that you can push, drag, or lift, your size is considered to be Large.","name":"Heavy Lifter"},{"desc":"When you critically hit with a melee weapon attack, roll one of the weapon's damage dice again and add the result to the attack's damage.","name":"Mighty Attacks"}],"planetouched":[{"desc":"You have a walking speed of 30 feet.","name":"Speed"},{"desc":"You have darkvision to 60 feet.","name":"Darkvision"},{"desc":"Once between long rests, when damage would reduce you to 0 hit points, you are instead reduced to 1 hit point.","name":"Immortal Blessing"}]}
+1
char_creator_a5e/heritage_gifts.json
··· 1 + {"dragonborn":[{"features":[{"desc":"You grow retractable claws from the tips of your fingers. Extending or retracting the claws requires no action. The claws are natural weapons, which you can use to make unarmed strikes that deal slashing damage equal to 1d4 + your Strength modifier.","name":"Claws"}],"name":"Draconic Armor"},{"features":[{"desc":"You have a swimming speed of 30 feet and you can hold your breath for up to 15 minutes at a time.","name":"Swimmer"},{"desc":"You have darkvision to 60 feet. In addition, your eyes are perfectly adapted for spotting movement at depth, and the radius of your darkvision increases to 120 feet while underwater.","name":"Deep Darkvision"},{"desc":"While you aren't wearing armor or your only armor is a shield, your AC is 12 + your Dexterity modifier.","name":"Hard to Hit"}],"name":"Draconic Fins"},{"features":[{"desc":"You have a fly speed of 30 feet. To use this speed, you can't be wearing medium or heavy armor. Whenever you spend 3 full consecutive rounds airborne without landing, you gain a level of fatigue. Any fatigue gained in this way is removed upon finishing a rest.","name":"Flight"}],"name":"Draconic Wings"}],"dwarf":[{"features":[{"desc":"You gain an expertise die on saving throws against effects that would knock you prone, and on saving throws made to resist being shoved.","name":"Dwarven Stability"}],"name":"Dwarven Stability"},{"features":[{"desc":"As a bonus action, you gain a number of temporary hit points equal to 1d10 plus your level. These temporary hit points last for 1 minute. You can't use this trait again until after you finish a long rest.\nYou gain an expertise die on saving throws against poison, and you have resistance against poison damage.","name":"Dwarven Toughness"}],"name":"Dwarven Toughness"}],"elf":[{"features":[{"desc":"You gain proficiency with Arcana.","name":"Arcane Sensitivity"},{"desc":"You can speak telepathically to a creature within 30 feet of you that you can see. Though this grants the creature no ability to respond telepathically, they can understand you if you share a language. You can speak in this way to one creature at a time.","name":"Arcane Empathy"}],"name":"Mystic Rapport"},{"features":[{"desc":"Your eyes can see a few moments into the future, and your mind apprehends the divergent possibilities. Once between rests you can use a bonus action to roll a d20 and record the result. Before the end of your next rest, when a creature you can see within 60 feet makes an ability check, attack roll, or saving throw, you can use your reaction to replace their roll with your recorded result. When the creature is also rolling an expertise die, only the d20 roll is replaced. When the creature is rolling more than one d20, such as when it has advantage or when a halfling is using their Halfling's Luck trait, the replacement applies to the creature's final roll.","name":"Glance the Future"}],"name":"Prescient Vision"},{"features":[{"desc":"You gain proficiency in Perception.","name":"Keen Senses"},{"desc":"Your ability to detect danger is nearly supernatural. You gain a bonus to initiative rolls equal to your Wisdom modifier (minumum 1), and you can't be surprised while conscious (including during your Trance).","name":"Prophetic Instincts"}],"name":"Preternatural Awareness"}],"gnome":[{"features":[{"desc":"You gain +1 to your Armor Class against creatures of a size category larger than your own.","name":"Gnomish Agility"}],"name":"Gnomish Agility"},{"features":[{"desc":"Once between rests, as a bonus action or as a reaction immediately after taking damage, you can turn invisible. The invisibility lasts until the end of your next turn, and it ends early if you attack, deal damage, or cast a spell.","name":"Into Mist"}],"name":"Into Mist"}],"halfling":[{"features":[{"desc":"You have a burrowing speed of 10 feet. You can use your burrowing speed to move through nonmagical sand, loose earth, loamy soil, mud, or snow, but not solid rock. You do not naturally leave any sort of tunnel behind but you can attempt to create a 5-foot by 5-foot wide tunnel in earth, soil, or snow by spending extra time and effort shoring it up and adding support. This reduces your burrowing speed to 5 feet every 15 minutes.","name":"Burrow"},{"desc":"Your nails grow into strong shovel-like claws. The claws are natural weapons, which you can use to make unarmed strikes that deal slashing damage equal to 1d4 + your Strength modifier.","name":"Claws"}],"name":"Burrowing Claws"},{"features":[{"desc":"You gain an expertise die on checks and saving throws made to resist being knocked prone.","name":"Big Feet"},{"desc":"You are immune to damage from sharp terrain hazards (such as caltrops, broken glass, or the [i]spike growth[/i] spell) and ignore difficult terrain caused by them. Additionally, other kinds of difficult terrain reduce your movement speed by 5 feet instead of halving it.","name":"Thick Soles"}],"name":"Tuft Feet"},{"features":[{"desc":"You have darkvision to 60 feet.","name":"Darkvision"},{"desc":"You can speak telepathically to a creature within 30 feet of you that you can see. Though this grants the creature no ability to respond telepathically, they can understand you if you share a language. You can speak in this way to one creature at a time.","name":"Telepathy"}],"name":"Twilight-Touched"}],"human":[{"features":[{"desc":"You can go a number of days equal to your Constitution modifier without suffering any fatigue from lack of Supply. Afterwards you require twice as much Supply for as many days as you went without.","name":"Feast and Famine"},{"desc":"You only die after failing 4 death saving throws instead of 3.","name":"Radical Perserverance"}],"name":"Diehard Survivor"},{"features":[{"desc":"When you fail a Constitution saving throw to maintain concentration, you can immediately reroll it, taking the new result. You may use this trait a number of times equal to your Intelligence modifier (minimum 1), and regain all expended uses after a long rest.","name":"Inexorable Concentration"},{"desc":"Choose two tools with which you are proficient, or a skill with which you are proficient from Animal Handling, Arcana, Culture, Engineering, History, Medicine, Nature, or Religion. When you make a check with that tool or skill and the d20 shows a natural result of less than 10, you can count the d20 result as being 10.","name":"Resident Expert"}],"name":"Ingenious Focus"},{"features":[{"desc":"Once between rests, when you take the Dash action, your movement this turn does not provoke opportunity attacks. During this movement, you gain an expertise die on Acrobatics checks made to avoid hazards and Dexterity saving throws.","name":"Desperate Dash"},{"desc":"The first time between each long rest you would gain a level of fatigue, you do not gain that level of fatigue. You still suffer a level of fatigue from finishing a long rest without any Supply.","name":"Marathon Runner"}],"name":"Spirited Traveler"}],"orc":[{"features":[{"desc":"Choose one type of terrain, reflecting the area from which your family hails: arctic, desert, mountain, or swamp. You ignore all naturally created difficult terrain of that type. Additionally, you gain an expertise die on Survival checks made within this terrain type, and gain a type of damage resistance related to your chosen terrain: arctic—cold, desert—fire, mountain—lightning, swamp—poison.","name":"Just Like Home"}],"name":"Just Like Home"},{"features":[{"desc":"You have resistance to radiant damage.","name":"Divine Protection"},{"desc":"You know the [i]resistance[/i] cantrip. In addition, you can cast the [i]shield[/i] spell once per long rest.","name":"Touch of Divinity"}],"name":"Ancestral Blessing"},{"features":[{"desc":"You are born with magic coursing through your veins, and are able to utilize it in a number of ways. You learn one cantrip of your choice from the wizard spell list. At 3rd level, choose one 1st- or 2nd-level spell from the wizard spell list. Once between long rests, you can cast the chosen spell without any material components. A 1st-level spell chosen this way can be cast at 2nd-level using this trait, if the spell allows. Your spellcasting ability for this trait is the same as the ability score used in the spellcasting class in which you have the highest level, or Charisma if you have no levels in a spellcasting class.","name":"Magic Adept"}],"name":"Magic Adept"}],"planetouched":[{"features":[{"desc":"You know the [i]guidance[/i] cantrip. In addition, once between long rests you can use an action to touch a willing creature and restore a number of hit points equal to your level.","name":"Celestial Legacy"},{"desc":"You have resistance to radiant damage.","name":"Divine Protection"},{"desc":"You have an innate ability to recognize Celestial, and are able to speak, read, write, and sign it.","name":"Language"}],"name":"Aasimar"},{"features":[{"desc":"You have resistance to fire damage.","name":"Hellish Resistance"},{"desc":"You know the [i]produce flame[/i] cantrip. Once you reach 3rd level, you can cast [i]arcane riposte[/i] (fire damage only) once between long rests. At 5th level, you can cast [i]heat metal[/i] without material components once between long rests. Charisma is your spellcasting ability for these spells.","name":"Infernal Legacy"}],"name":"Tiefling"}]}
+12
default-scores.txt
··· 1 + Barbarian - STR,CON,DEX,WIS,CHA,INT 2 + Bard - CHA,DEX,CON,INT,WIS,STR 3 + Cleric - WIS,STR,CON,CHA,DEX,INT 4 + Druid - WIS,DEX=CON,CHA,STR,INT 5 + Fighter - STR,CON,DEX,WIS,INT,CHA 6 + Monk - DEX,CON=WIS,STR,CHA,INT 7 + Paladin - STR,CHA,CON,DEX,WIS,INT 8 + Ranger - DEX,WIS,CON,STR,CHA,INT 9 + Rogue - DEX,CON,INT=WIS,CHA,STR 10 + Sorcerer - CHA,CON,DEX,INT,WIS,STR 11 + Warlock - CHA,CON,DEX=INT,WIS,STR 12 + Wizard - INT,CON,DEX,CHA,WIS,STR
+14
project.godot
··· 11 11 [application] 12 12 13 13 config/name="Project Varhaven" 14 + config/name_localized={ 15 + "en_US": "Project Varhaven", 16 + "es": "Projecto Varhaven" 17 + } 14 18 run/main_scene="res://char_creator_a5e/char_creator.tscn" 15 19 config/features=PackedStringArray("4.2", "Forward Plus") 16 20 config/icon="res://icon.svg" ··· 19 23 20 24 version_control/plugin_name="GitPlugin" 21 25 version_control/autoload_on_startup=true 26 + 27 + [editor_plugins] 28 + 29 + enabled=PackedStringArray("res://addons/tres_translation/plugin.cfg") 30 + 31 + [internationalization] 32 + 33 + locale/translations=PackedStringArray("res://translations/strings.en_US.translation", "res://translations/strings.es.translation") 34 + locale/translations_pot_files=PackedStringArray("res://char_creator_a5e/char_creator.tscn", "res://main_menu/main_menu.tscn") 35 + locale/test="en_GB"
strings.ods

This is a binary file and will not be displayed.

+3
translations/en_US.tres
··· 1 + [gd_resource type="Translation" format=3 uid="uid://va5m3pk2syuu"] 2 + 3 + [resource]
+103
translations/strings.csv
··· 1 + key,en_US,es 2 + HERITAGE_LABEL,Choose your Heritage,Elegir a su Ascendencia 3 + HERITAGE_DRAG,Dragonborn,Dracónido 4 + HERITAGE_ELF,Elf,Elfo 5 + HERITAGE_GNOM,Gnome,Gnomo 6 + HERITAGE_HALF,Halfling,Mediano 7 + HERITAGE_HUMA,Human,Humano 8 + HERITAGE_ORC,Orc,Orco 9 + HERITAGE_PLAN,Planetouched,De Planos 10 + HGIFT_LABEL,Heritage Gift,Regalo de Ascendencia 11 + CULTURE_LABEL,Choose your Culture,Elegir a su Cultura 12 + CULTURE_SUGG,Suggested Cultures,Culturas Sugeridas 13 + CULTURE_OTHER,Other Cultures,Otras Culturas 14 + CULTURE_CARA,Caravanner,Caravanner 15 + CULTURE_CIRC,Circusfolk,Pueblos del Circo 16 + CULTURE_COLL,Collegiate,Colegiado 17 + CULTURE_COSM,Cosmopolitan,Cosmopolita 18 + CULTURE_DEDW,Deep Dwarf,Enano de la Profundidade 19 + CULTURE_DRBN,Dragonbound,Saltar a Dragón 20 + CULTURE_DRCT,Dragoncult,Culto del Dragón 21 + CULTURE_ELAD,Eladrin,Eladrin 22 + CULTURE_FORE,Forest Gnome,Gnomo del Bosque 23 + CULTURE_FORG,"Forgotton 24 + Folx",Pueblos Olvidados 25 + CULTURE_FORS,Forsaken,Abandonado 26 + CULTURE_GODB,Godbound,Godbound 27 + CULTURE_HIGH,High Elf,Elfo del Altos 28 + CULTURE_HILL,Hill Dwarf,Enano de la Colinas 29 + CULTURE_DEGN,Deep Gnome,Gnomo de la Profundidade 30 + CULTURE_IMPE,Imperial,Imperial 31 + CULTURE_ITIN,Itinerant,Itinerante 32 + CULTURE_KITH,"Kithbáin 33 + Halfling",Mediano de Kitben 34 + CULTURE_LONE,"Lone 35 + Wanderer",Errante Solitario 36 + CULTURE_MOUN,"Mountain 37 + Dwarf",Enano de la Montaña 38 + CULTURE_MIST,"Mistbairn 39 + Halfling",Mediano de Mistben 40 + CULTURE_NOMA,Nomad,Nómada 41 + CULTURE_SETT,Settler,Colono 42 + CULTURE_SHAD,Shadow Elf,Elfo de las Sombras 43 + CULTURE_STEA,Steamforged,Forjado de Vapor 44 + CULTURE_STOI,Stoic Orc,Orco Estoico 45 + CULTURE_STON,Stoneworthy,Digno de Piedra 46 + CULTURE_STOU,Stout Halfling,Mediano Robusto 47 + CULTURE_TINK,Tinker Gnome,Gnomo de Retorciendo 48 + CULTURE_TUNN,Tunnel Halfling,Mediano del Túnel 49 + CULTURE_TYRA,Tyrannized,Tiranizado 50 + CULTURE_VILL,Villager,Aldeano 51 + CULTURE_WARH,Warhordling,Warhordling 52 + CULTURE_WILD,Wildling,Wildling 53 + CULTURE_WOOD,Wood Elf,Elfo del Bosque 54 + CLASS_LABEL,Choose your Class,Elegir a su Clase 55 + BACKGROUND_LABEL,Choose your Background,Elegir a su Trasfondo 56 + BACKGROUND_ACOL,Acolyte,Acólito 57 + BACKGROUND_ARTI,Artisan,Artesano 58 + BACKGROUND_CHAR,Charlatan,Charlatán 59 + BACKGROUND_CRIM,Criminal,Criminal 60 + BACKGROUND_CULT,Cultist,Cultisto 61 + BACKGROUND_ENTE,Entertainer,Artista 62 + BACKGROUND_EXIL,Exile,Exilio 63 + BACKGROUND_FARM,Farmer,Agricultor 64 + BACKGROUND_FOLK,Folk Hero,Héroe Popular 65 + BACKGROUND_GAMB,Gambler,Jugador 66 + BACKGROUND_GUAR,Guard,Protector 67 + BACKGROUND_GUIL,Guild Member,Miembro de Gremio 68 + BACKGROUND_HERM,Hermit,Ermitaño 69 + BACKGROUND_MARA,Marauder,Bandido 70 + BACKGROUND_NOBL,Noble,Nobiliario 71 + BACKGROUND_OUTL,Outlander,Outlander 72 + BACKGROUND_SAGE,Sage,Sabio 73 + BACKGROUND_SAIL,Sailor,Marinero 74 + BACKGROUND_SOLD,Soldier,Soldado 75 + BACKGROUND_TRAD,Trader,Comerciante 76 + BACKGROUND_URCH,Urchin,Erizo 77 + BUTTON_BACK,Back,Volver 78 + BUTTON_NEXT,Next,Siguiente 79 + STRENGTH_LABEL,STR,FUE 80 + DEXTERITY_LABEL,DEX,DES 81 + CONSTITUTION_LABEL,CON,CON 82 + INTELLIGENCE_LABEL,INT,INT 83 + WISDOM_LABEL,WIS,SAB 84 + CHARISMA_LABEL,CHA,CAR 85 + MENU_LABEL,Main Menu,Menú Principal 86 + NEW_GAME_5E,New Game (5E),Nuevo Juego (5E) 87 + NEW_GAME_A5E,New Game (A5E),Nuevo Juego (A5E) 88 + NEW_GAME_PF2E,New Game (PF2E),Nuevo Juego (PF2E) 89 + MENU_QUIT,Quit Game,Cerrar el Juego 90 + HERITAGE_DWAR,Dwarf,Enano 91 + CLASS_ADEP,Adept,Versado 92 + CLASS_BARD,Bard,Bardo 93 + CLASS_BERS,Berserker,Berserker 94 + CLASS_HERA,Herald,Heraldo 95 + CLASS_CLER,Cleric,Clérigo 96 + CLASS_DRUI,Druid,Druida 97 + CLASS_FIGH,Fighter,Guerrero 98 + CLASS_MARS,Marshal,Mariscal 99 + CLASS_RANG,Ranger,Explorador 100 + CLASS_ROGU,Rogue,Pícaro 101 + CLASS_SORC,Sorcerer,Hechicero 102 + CLASS_WARL,Warlock,Brujo 103 + CLASS_WIZA,Wizard,Mago
+17
translations/strings.csv.import
··· 1 + [remap] 2 + 3 + importer="csv_translation" 4 + type="Translation" 5 + uid="uid://dhxn31iwldthb" 6 + 7 + [deps] 8 + 9 + files=["res://translations/strings.en_US.translation", "res://translations/strings.es.translation"] 10 + 11 + source_file="res://translations/strings.csv" 12 + dest_files=["res://translations/strings.en_US.translation", "res://translations/strings.es.translation"] 13 + 14 + [params] 15 + 16 + compress=true 17 + delimiter=0