JSON System Implemented

This commit is contained in:
Patrick_Pluto 2024-06-14 09:42:54 +02:00
parent bf80420f22
commit 01cd337c66
20 changed files with 21 additions and 519 deletions

View file

@ -1,62 +0,0 @@
openDND
Character-informations
STR=Strength
DEX=Dexterity
CON=Constitution
INT=Itelligence
WIS=Wisdom
CHA=Charisma
Skillchecks;
1. Acrobatics (Dexterity)
2. Animal Handling (Wisdom)
3. Arcana (Intelligence)
4. Athletics (Strength)
5. Deception (Charisma)
6. History (Intelligence)
7. Insight (Wisdom)
8. Intimidation (Charisma)
9. Investigation (Intelligence)
10. Medicine (Wisdom)
11. Nature (Intelligence)
12. Perception (Wisdom)
13. Performance (Charisma)
14. Persuasion (Charisma)
15. Religion (Intelligence)
16. Sleight of Hand (Dexterity)
17. Stealth (Dexterity)
18. Survival (Wisdom)
Proficency Bonus{
1-4: +2
5-8: +3
9-12: +4
13-16: +5
17-20: +6
}
Calculation Modifier=(stat-10)/2
Armour Class{
Base-AC 10 (can be modified by your class)
Dexterity-bonus plus dex (can by limited by your armour)
Armour-Bonus 0 (if not stated different in the item)
Shield: +2
}
# Example Calculation 10+3+0+2=15 --> AC=15
HP{
Hit-dice (definied by class)
Char-Level multiplier
Con-modifier
}
#Calculation= level*(hitdice+con-modifier)
# spellsave-dc-calculation = (10+level+magic-modifier)

View file

@ -1,39 +0,0 @@
# Will be enbeded in an open source Dynamik online tool later on
ToDo-List
1. Create a test map
1.1 Distance Manager
1.2 Tile creation
1.3 Limit walking per turn
1.4 Dynamik Field
2. Create test character 1-3
2.1 Base Stats
2.2 Race
2.3 Class
2.4 Background
2.5 Skill Checks
2.6 Saving throws
2.7 Dynamic AC
2.8 Dynamic HP
2.9 Inventory
2.10 pdf, odf, html export
3. Simulation Dice (20, 12, 00, 10, 8, 6, 4, 2)
3.1 20: For Attacks, Skill Checks, Saving Throws
3.2 12: Heavy Weapon Damage*
3.3 10: Two handed Weapon Damage*
3.4 00: Combined with 10 1-100, for special effects and loot tables
3.5 8: Weapon Damage*
3.6 6: short weapon damage*
3.7 4: Minor Weapon damage*
3.8 2: Coinflips, Gambling in game etc.
4. combat turns
4.1 Initiative System
4.2 Movement, Action, Bonus-action, reaction
5. Enemies
5.1 Stats
5.2 Attacks
5.3 HP
5.4 AC
5.5 Inventory
6. To be continiued

View file

@ -1,46 +0,0 @@
Charackter1{
Name: Björn
Race: Dwarf
Class: Mage (Level 1)
Stats{
STR 8 -1
DEX 12 +1
CON 10 -0
INT 16 +3
WIS 14 +2
CHA 12 +1
}
Proficency{Arcana, History, Nature}
Movement: 30
Action: Cast a spell (watch spelllist)
Bonus-action:
Dagger: +dex+prof 1d4 5
Dodge: Damage-halved
Reaction:
Counterspell: Watch Spellist
reduce-harm: Reduce damage taken by a ally by 1d10+level
Race-feature{
Dwarfen-resistance: Poison Damage halved
Healing-Word ability
reduce-harm
}
Spellslots: 3x Longrest
Spelllist{
Level 0 (At Will Spells):
Name Bonus to hit Damage Damagetype reach
Firedagger +int+prof 1d10+int fire 120
Icedagger +int+prof 1d10+int ice 120
Mage-shield - 10 Temporary HP - self
Level 1:
Create-flame Dex-save 3d6 fire 80 / 20 radius
Healing-word - 1d8 heal 30
Counterspell If roll higher than enemy == enemy spells doesn't work 30
}
}

View file

@ -1,44 +0,0 @@
Character2 {
Name: Elara
Race: Elf
Class: Ranger (Level 1)
Stats {
STR 10 +0
DEX 14 +2
CON 12 +1
INT 10 +0
WIS 16 +3
CHA 8 -1
}
Proficiency { Animal Handling, Stealth, Survival }
Movement: 35
Action: Shoot Longbow (watch weaponlist)
Bonus-action:
Dagger: +dex+prof 1d4+2
Hide: Become invisible
Reaction:
Parry: Reduce damage taken by 1d6+level
Race-feature {
Elven-Agility: Advantage on DEX saves
Trance: Elves don't need to sleep and meditate for 4 hours
Fey-Ancestry: Advantage on saving throws against being charmed, and magic can't put you to sleep
}
Spellslots: 2x Longrest
Spelllist {
Level 0 (At Will Spells):
Name Bonus to hit Damage Damagetype reach
Thornwhip +wis+prof 1d6+wis piercing 30
Mage-hand - - - 30
Guidance - 1d4 - touch
Level 1:
Goodberry - 1d4 heal 30
Hunter's-Mark - 1d6 magic 90
Entangle STR-save - Restrained 20 / 20 radius
}
}

View file

@ -1,72 +0,0 @@
Character5 {
Name: Gigachad
Race: Human
Class: Paladin (Level 20)
Stats {
STR 20 +5
DEX 14 +2
CON 18 +4
INT 10 +0
WIS 14 +2
CHA 20 +5
}
Proficiency { Athletics, Intimidation, Persuasion, Religion }
Movement: 30
Action: Attack with Greatsword (watch weaponlist)
Bonus-action:
Divine Smite: Expend a spell slot to deal extra radiant damage
Shield of Faith: +2 AC for 10 minutes
Lay on Hands: Heal up to 100 HP (pool: level x 5)
Reaction:
Divine Sense: Detect celestial, fiend, or undead within 60 feet
Aura of Protection: Allies within 10 feet add +cha to saving throws
Race-feature {
Human-Determination: Gain proficiency in one additional skill
Versatility: Gain one extra feat at Level 1
Resilience: Advantage on saving throws against being frightened
}
Feats:
Great Weapon Master: Bonus attack on critical hit or kill, and can take a -5 penalty to hit for +10 damage
Tough: +2 HP per level
Inspiring Leader: Can spend 10 minutes inspiring allies, granting temporary HP equal to level + cha modifier
Class Features:
Divine Health: Immune to disease
Aura of Courage: Allies within 10 feet are immune to being frightened
Aura of Devotion: Allies within 10 feet are immune to being charmed
Cleansing Touch: End one spell on yourself or an ally within touch range (5 times per long rest)
Improved Divine Smite: +1d8 radiant damage on melee attacks
Lay on Hands: Heal up to 100 HP per long rest
Sacred Oath: Oath of Devotion, Oath Spells: (Protection from Evil and Good, Sanctuary, Lesser Restoration, Zone of Truth, Beacon of Hope, Dispel Magic, Freedom of Movement, Guardian of Faith, Commune, Flame Strike, Circle of Power, Holy Weapon)
Spellslots: 4x 1st, 3x 2nd, 3x 3rd, 3x 4th, 2x 5th (per long rest)
Spelllist {
Level 1:
Bless - - adv on attacks and saves 30
Shield of Faith - +2 AC - 60
Level 2:
Lesser Restoration- - heal conditions touch
Zone of Truth - - - 60
Level 3:
Dispel Magic - - - 120
Beacon of Hope - - heal max 30
Level 4:
Guardian of Faith- 20 radiant - 30
Freedom of Movement- - - touch
Level 5:
Circle of Power - - adv on saves self (30 radius)
Holy Weapon - 2d8 radiant - 30
}
Weaponlist {
Greatsword: +str+prof 2d6+5 slashing
Warhammer: +str+prof 1d8+5 bludgeoning (versatile 1d10)
Javelin: +str+prof 1d6+5 piercing (range 30/120)
}
}

View file

@ -1,45 +0,0 @@
Character4 {
Name: Lyra
Race: Tiefling
Class: Bard (Level 1)
Stats {
STR 8 -1
DEX 14 +2
CON 12 +1
INT 12 +1
WIS 10 +0
CHA 16 +3
}
Proficiency { Performance, Persuasion, Deception }
Movement: 30
Action: Cast a spell (watch spelllist)
Bonus-action:
Inspiration: Grant a d6 to an ally's ability check, attack roll, or saving throw
Dagger: +dex+prof 1d4+2
Healing Word: Restore 1d4+cha HP to an ally within 60 feet
Reaction:
Cutting Words: Use a Bardic Inspiration die to subtract from an enemy's attack roll, ability check, or damage roll
Race-feature {
Hellish Resistance: Resistance to fire damage
Infernal Legacy: Can cast Thaumaturgy cantrip; at 3rd level, can cast Hellish Rebuke once per long rest
Darkvision: See in darkness within 60 feet
}
Spellslots: 2x Longrest
Spelllist {
Level 0 (At Will Spells):
Name Bonus to hit Damage Damagetype reach
Vicious Mockery - 1d4 psychic 60
Mending - - - touch
Prestidigitation- - - 10
Level 1:
Healing Word - 1d4+cha heal 60
Faerie Fire Dex-save - adv on attacks 20 ft cube
Charm Person Wis-save - charmed 30
}
}

View file

@ -1,43 +0,0 @@
Character3 {
Name: Tharok
Race: Human
Class: Fighter (Level 1)
Stats {
STR 16 +3
DEX 12 +1
CON 14 +2
INT 10 +0
WIS 12 +1
CHA 10 +0
}
Proficiency { Athletics, Intimidation, Perception }
Movement: 30
Action: Attack with Longsword (watch weaponlist)
Bonus-action:
Second Wind: Regain 1d10+level HP
Dagger: +dex+prof 1d4+1
Reaction:
Parry: Reduce damage taken by 1d6+level
Race-feature {
Human-Determination: Gain proficiency in one additional skill
Versatility: Gain one extra feat at Level 1
Resilience: Advantage on saving throws against being frightened
}
Feats:
Great Weapon Fighting: Reroll 1s and 2s on damage dice with melee weapons wielded in two hands
Combat Skills:
Second Wind: Once per short rest, you can use a bonus action to regain 1d10+level HP
Action Surge: Once per short rest, take one additional action on your turn
Weaponlist {
Longsword: +str+prof 1d8+3 slashing
Greatsword: +str+prof 2d6+3 slashing
Dagger: +dex+prof 1d4+1 piercing
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bgdgd23qgi52x"
path="res://.godot/imported/grass.png-bb6d7e2a4e3a4ad0eb76f57232766d96.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/test/grass.png"
dest_files=["res://.godot/imported/grass.png-bb6d7e2a4e3a4ad0eb76f57232766d96.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 461 B

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dheqglouhkis6"
path="res://.godot/imported/player.png-40bc1da34d1da22b834e701c7257e718.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/test/player.png"
dest_files=["res://.godot/imported/player.png-40bc1da34d1da22b834e701c7257e718.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 540 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://chgkgpiiy1yui"
path="res://.godot/imported/water.png-294f741d71b412e0a6039d5110937f78.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/test/water.png"
dest_files=["res://.godot/imported/water.png-294f741d71b412e0a6039d5110937f78.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View file

@ -2,13 +2,14 @@
[ext_resource type="Script" path="res://scripts/menu.gd" id="1_xc6y7"]
[node name="Control" type="Control"]
[node name="main_menu" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_xc6y7")
[node name="Button" type="Button" parent="."]
layout_mode = 0
@ -18,6 +19,14 @@ offset_right = 90.0
offset_bottom = 32.0
scale = Vector2(5, 5)
text = "Test"
script = ExtResource("1_xc6y7")
[connection signal="pressed" from="Button" to="Button" method="_on_pressed"]
[node name="Button2" type="Button" parent="."]
layout_mode = 0
offset_top = 192.0
offset_right = 90.0
offset_bottom = 224.0
scale = Vector2(5, 5)
text = "Test2"
[connection signal="pressed" from="Button" to="." method="_on_button_pressed"]
[connection signal="pressed" from="Button2" to="." method="_on_button_2_pressed"]

File diff suppressed because one or more lines are too long

View file

@ -1,19 +0,0 @@
[gd_scene load_steps=4 format=3 uid="uid://dv67vdgb4h44q"]
[ext_resource type="Texture2D" uid="uid://dheqglouhkis6" path="res://assets/test/player.png" id="1_cujcj"]
[ext_resource type="Script" path="res://scripts/player.gd" id="1_oik63"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_kf6qt"]
size = Vector2(20, 18)
[node name="player" type="CharacterBody2D"]
script = ExtResource("1_oik63")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("1_cujcj")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_kf6qt")
[node name="camera" type="Camera2D" parent="."]
enabled = false

View file

@ -1,4 +1,10 @@
extends Node
func _on_pressed():
get_tree().change_scene_to_file("res://scenes/test/map.tscn")
func _on_button_pressed():
get_tree().change_scene_to_file("res://testing/test/map.tscn")
func _on_button_2_pressed():
get_tree().change_scene_to_file("res://scenes/menu/create.tscn")

View file

@ -24,3 +24,4 @@ func start():
$camera.enabled = true
active = true
toCalculate = position