diff --git a/README.md b/README.md index 2a957a0f..e35fe4a8 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,10 @@ Um die Vorbereitung einer Sitzung so komfortabel wie möglich zu gestalten, gibt oder NSCs vorzubereiten welche Waren und oder (ggf. in Anzahl beschränkte) Dienstleistungen bereitstellen, gegen einen Preis natürlich. +### Battle + +Um heimlich vergleichend Talentproben von zwei Charakteren und oder Kreaturen durchzuführen gibt es den Battle Dialog. In diesem können Charaktere/Kreaturen ausgewählt werden, deren Talente ausgewählt oder eingegeben (samt Eigenschaften) werden, Erschwernisse eingetragen werden und dann geht es auch schon los. + --- # Acknowledgments diff --git a/src/assets/Halloween/SODA_Icons_Halloween_001.png b/src/assets/Halloween/SODA_Icons_Halloween_001.png new file mode 100644 index 00000000..8c165ad8 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_001.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_002.png b/src/assets/Halloween/SODA_Icons_Halloween_002.png new file mode 100644 index 00000000..baf53a8b Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_002.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_003.png b/src/assets/Halloween/SODA_Icons_Halloween_003.png new file mode 100644 index 00000000..f7f156c2 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_003.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_004.png b/src/assets/Halloween/SODA_Icons_Halloween_004.png new file mode 100644 index 00000000..e57fab67 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_004.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_005.png b/src/assets/Halloween/SODA_Icons_Halloween_005.png new file mode 100644 index 00000000..81ba9657 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_005.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_006.png b/src/assets/Halloween/SODA_Icons_Halloween_006.png new file mode 100644 index 00000000..87484101 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_006.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_007.png b/src/assets/Halloween/SODA_Icons_Halloween_007.png new file mode 100644 index 00000000..848ee093 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_007.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_008.png b/src/assets/Halloween/SODA_Icons_Halloween_008.png new file mode 100644 index 00000000..e2924c9a Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_008.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_009.png b/src/assets/Halloween/SODA_Icons_Halloween_009.png new file mode 100644 index 00000000..6170d734 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_009.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_010.png b/src/assets/Halloween/SODA_Icons_Halloween_010.png new file mode 100644 index 00000000..4c57d189 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_010.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_011.png b/src/assets/Halloween/SODA_Icons_Halloween_011.png new file mode 100644 index 00000000..2573656d Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_011.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_012.png b/src/assets/Halloween/SODA_Icons_Halloween_012.png new file mode 100644 index 00000000..25a1beaa Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_012.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_013.png b/src/assets/Halloween/SODA_Icons_Halloween_013.png new file mode 100644 index 00000000..cab6ab1f Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_013.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_014.png b/src/assets/Halloween/SODA_Icons_Halloween_014.png new file mode 100644 index 00000000..b9a7e378 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_014.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_015.png b/src/assets/Halloween/SODA_Icons_Halloween_015.png new file mode 100644 index 00000000..f0dfa8bc Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_015.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_016.png b/src/assets/Halloween/SODA_Icons_Halloween_016.png new file mode 100644 index 00000000..0e6599be Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_016.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_017.png b/src/assets/Halloween/SODA_Icons_Halloween_017.png new file mode 100644 index 00000000..74cb2379 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_017.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_018.png b/src/assets/Halloween/SODA_Icons_Halloween_018.png new file mode 100644 index 00000000..99d99c80 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_018.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_019.png b/src/assets/Halloween/SODA_Icons_Halloween_019.png new file mode 100644 index 00000000..58b17edc Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_019.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_020.png b/src/assets/Halloween/SODA_Icons_Halloween_020.png new file mode 100644 index 00000000..ca9e9214 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_020.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_021.png b/src/assets/Halloween/SODA_Icons_Halloween_021.png new file mode 100644 index 00000000..852ea519 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_021.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_022.png b/src/assets/Halloween/SODA_Icons_Halloween_022.png new file mode 100644 index 00000000..a34f678d Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_022.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_023.png b/src/assets/Halloween/SODA_Icons_Halloween_023.png new file mode 100644 index 00000000..3e199856 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_023.png differ diff --git a/src/assets/Halloween/SODA_Icons_Halloween_024.png b/src/assets/Halloween/SODA_Icons_Halloween_024.png new file mode 100644 index 00000000..a9c4df31 Binary files /dev/null and b/src/assets/Halloween/SODA_Icons_Halloween_024.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_001.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_001.png new file mode 100644 index 00000000..3ab8dd33 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_001.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_002.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_002.png new file mode 100644 index 00000000..58eebe99 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_002.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_003.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_003.png new file mode 100644 index 00000000..0364d2ea Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_003.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_004.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_004.png new file mode 100644 index 00000000..e590b157 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_004.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_005.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_005.png new file mode 100644 index 00000000..7ef55b18 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_005.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_006.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_006.png new file mode 100644 index 00000000..34513b07 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_006.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_007.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_007.png new file mode 100644 index 00000000..d349d592 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_007.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_008.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_008.png new file mode 100644 index 00000000..ec8da05d Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_008.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_009.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_009.png new file mode 100644 index 00000000..3257c220 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_009.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_010.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_010.png new file mode 100644 index 00000000..145a3b39 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_010.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_011.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_011.png new file mode 100644 index 00000000..f1c85898 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_011.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_012.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_012.png new file mode 100644 index 00000000..9295c37f Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_012.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_013.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_013.png new file mode 100644 index 00000000..deae732f Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_013.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_014.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_014.png new file mode 100644 index 00000000..533a60c1 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_014.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_015.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_015.png new file mode 100644 index 00000000..5e2425a5 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_015.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_016.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_016.png new file mode 100644 index 00000000..8da57bc4 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_016.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_017.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_017.png new file mode 100644 index 00000000..90af6db7 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_017.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_018.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_018.png new file mode 100644 index 00000000..bc15615e Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_018.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_019.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_019.png new file mode 100644 index 00000000..a68190fc Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_019.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_020.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_020.png new file mode 100644 index 00000000..94ff1fb4 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_020.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_021.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_021.png new file mode 100644 index 00000000..bf0652e2 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_021.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_022.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_022.png new file mode 100644 index 00000000..9ca39036 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_022.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_023.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_023.png new file mode 100644 index 00000000..2b9bead3 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_023.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_024.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_024.png new file mode 100644 index 00000000..bb9769f3 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_024.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_025.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_025.png new file mode 100644 index 00000000..3e2354ea Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_025.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_026.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_026.png new file mode 100644 index 00000000..94efa604 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_026.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_027.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_027.png new file mode 100644 index 00000000..ca299ad6 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_027.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_028.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_028.png new file mode 100644 index 00000000..ddbc9f23 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_028.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_029.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_029.png new file mode 100644 index 00000000..3c84e996 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_029.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_030.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_030.png new file mode 100644 index 00000000..d0db322b Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_030.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_031.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_031.png new file mode 100644 index 00000000..eda6e2c6 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_031.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_032.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_032.png new file mode 100644 index 00000000..b6811384 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_032.png differ diff --git a/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_033.png b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_033.png new file mode 100644 index 00000000..ce02d422 Binary files /dev/null and b/src/assets/Potions Labels/SODA_Icons_PotionsLabeled_033.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_001.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_001.png new file mode 100644 index 00000000..bc26b9d6 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_001.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_002.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_002.png new file mode 100644 index 00000000..3f67b613 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_002.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_003.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_003.png new file mode 100644 index 00000000..9b58a756 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_003.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_004.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_004.png new file mode 100644 index 00000000..4f19f073 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_004.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_005.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_005.png new file mode 100644 index 00000000..07603a53 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_005.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_006.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_006.png new file mode 100644 index 00000000..e336fee9 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_006.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_007.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_007.png new file mode 100644 index 00000000..13357d66 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_007.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_008.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_008.png new file mode 100644 index 00000000..ccbe7719 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_008.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_009.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_009.png new file mode 100644 index 00000000..7a39b3f0 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_009.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_010.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_010.png new file mode 100644 index 00000000..3805a61e Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_010.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_011.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_011.png new file mode 100644 index 00000000..d60ae700 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_011.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_012.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_012.png new file mode 100644 index 00000000..fcb9b5d9 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_012.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_013.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_013.png new file mode 100644 index 00000000..3abc7a7d Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_013.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_014.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_014.png new file mode 100644 index 00000000..e0c99b27 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_014.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_015.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_015.png new file mode 100644 index 00000000..f246bfcd Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_015.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_016.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_016.png new file mode 100644 index 00000000..a335ed8d Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_016.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_017.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_017.png new file mode 100644 index 00000000..72e4e852 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_017.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_018.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_018.png new file mode 100644 index 00000000..64d4af21 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_018.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_019.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_019.png new file mode 100644 index 00000000..c189c39b Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_019.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_020.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_020.png new file mode 100644 index 00000000..b156318b Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_020.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_021.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_021.png new file mode 100644 index 00000000..2325a8bb Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_021.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_022.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_022.png new file mode 100644 index 00000000..7b184e15 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_022.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_023.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_023.png new file mode 100644 index 00000000..3deca045 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_023.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_024.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_024.png new file mode 100644 index 00000000..c8822fce Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_024.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_025.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_025.png new file mode 100644 index 00000000..ba8acf2e Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_025.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_026.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_026.png new file mode 100644 index 00000000..4cf5df48 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_026.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_027.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_027.png new file mode 100644 index 00000000..bdfcb56e Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_027.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_028.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_028.png new file mode 100644 index 00000000..260b627c Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_028.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_029.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_029.png new file mode 100644 index 00000000..d7b60a74 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_029.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_030.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_030.png new file mode 100644 index 00000000..50ea5c17 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_030.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_031.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_031.png new file mode 100644 index 00000000..e6ac7f70 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_031.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_032.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_032.png new file mode 100644 index 00000000..c61292db Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_032.png differ diff --git a/src/assets/Potions Tags/SODA_Icons_PotionsTagged_033.png b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_033.png new file mode 100644 index 00000000..d120cff4 Binary files /dev/null and b/src/assets/Potions Tags/SODA_Icons_PotionsTagged_033.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_001.png b/src/assets/Potions/SODA_Icons_Potions_001.png new file mode 100644 index 00000000..cf9f2be8 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_001.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_002.png b/src/assets/Potions/SODA_Icons_Potions_002.png new file mode 100644 index 00000000..62eab65c Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_002.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_003.png b/src/assets/Potions/SODA_Icons_Potions_003.png new file mode 100644 index 00000000..513db9cb Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_003.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_004.png b/src/assets/Potions/SODA_Icons_Potions_004.png new file mode 100644 index 00000000..6af34b61 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_004.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_005.png b/src/assets/Potions/SODA_Icons_Potions_005.png new file mode 100644 index 00000000..618b4059 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_005.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_006.png b/src/assets/Potions/SODA_Icons_Potions_006.png new file mode 100644 index 00000000..2333435c Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_006.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_007.png b/src/assets/Potions/SODA_Icons_Potions_007.png new file mode 100644 index 00000000..3ca98c86 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_007.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_008.png b/src/assets/Potions/SODA_Icons_Potions_008.png new file mode 100644 index 00000000..e28f34e9 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_008.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_009.png b/src/assets/Potions/SODA_Icons_Potions_009.png new file mode 100644 index 00000000..604f7163 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_009.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_010.png b/src/assets/Potions/SODA_Icons_Potions_010.png new file mode 100644 index 00000000..6b7d2af2 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_010.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_011.png b/src/assets/Potions/SODA_Icons_Potions_011.png new file mode 100644 index 00000000..e1f8678e Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_011.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_012.png b/src/assets/Potions/SODA_Icons_Potions_012.png new file mode 100644 index 00000000..34643ba1 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_012.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_013.png b/src/assets/Potions/SODA_Icons_Potions_013.png new file mode 100644 index 00000000..fb41ff1b Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_013.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_014.png b/src/assets/Potions/SODA_Icons_Potions_014.png new file mode 100644 index 00000000..0decf5c2 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_014.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_015.png b/src/assets/Potions/SODA_Icons_Potions_015.png new file mode 100644 index 00000000..6649164b Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_015.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_016.png b/src/assets/Potions/SODA_Icons_Potions_016.png new file mode 100644 index 00000000..1dbdc926 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_016.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_017.png b/src/assets/Potions/SODA_Icons_Potions_017.png new file mode 100644 index 00000000..a20ddf9c Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_017.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_018.png b/src/assets/Potions/SODA_Icons_Potions_018.png new file mode 100644 index 00000000..5bc063b0 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_018.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_019.png b/src/assets/Potions/SODA_Icons_Potions_019.png new file mode 100644 index 00000000..557900f8 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_019.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_020.png b/src/assets/Potions/SODA_Icons_Potions_020.png new file mode 100644 index 00000000..42036e1b Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_020.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_021.png b/src/assets/Potions/SODA_Icons_Potions_021.png new file mode 100644 index 00000000..17db167b Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_021.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_022.png b/src/assets/Potions/SODA_Icons_Potions_022.png new file mode 100644 index 00000000..8944aa7d Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_022.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_023.png b/src/assets/Potions/SODA_Icons_Potions_023.png new file mode 100644 index 00000000..53613e7e Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_023.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_024.png b/src/assets/Potions/SODA_Icons_Potions_024.png new file mode 100644 index 00000000..fc459275 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_024.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_025.png b/src/assets/Potions/SODA_Icons_Potions_025.png new file mode 100644 index 00000000..8eecb419 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_025.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_026.png b/src/assets/Potions/SODA_Icons_Potions_026.png new file mode 100644 index 00000000..88aad1ba Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_026.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_027.png b/src/assets/Potions/SODA_Icons_Potions_027.png new file mode 100644 index 00000000..5b197ebf Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_027.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_028.png b/src/assets/Potions/SODA_Icons_Potions_028.png new file mode 100644 index 00000000..01a3e6bc Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_028.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_029.png b/src/assets/Potions/SODA_Icons_Potions_029.png new file mode 100644 index 00000000..1cddc862 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_029.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_030.png b/src/assets/Potions/SODA_Icons_Potions_030.png new file mode 100644 index 00000000..6503cc80 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_030.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_031.png b/src/assets/Potions/SODA_Icons_Potions_031.png new file mode 100644 index 00000000..84fb76fa Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_031.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_032.png b/src/assets/Potions/SODA_Icons_Potions_032.png new file mode 100644 index 00000000..c03e882e Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_032.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_033.png b/src/assets/Potions/SODA_Icons_Potions_033.png new file mode 100644 index 00000000..c48de917 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_033.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_034.png b/src/assets/Potions/SODA_Icons_Potions_034.png new file mode 100644 index 00000000..e443d25d Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_034.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_035.png b/src/assets/Potions/SODA_Icons_Potions_035.png new file mode 100644 index 00000000..a94a9fec Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_035.png differ diff --git a/src/assets/Potions/SODA_Icons_Potions_036.png b/src/assets/Potions/SODA_Icons_Potions_036.png new file mode 100644 index 00000000..95c09544 Binary files /dev/null and b/src/assets/Potions/SODA_Icons_Potions_036.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_001.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_001.png new file mode 100644 index 00000000..2ef1b1e7 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_001.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_002.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_002.png new file mode 100644 index 00000000..604571e2 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_002.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_003.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_003.png new file mode 100644 index 00000000..13b4fa50 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_003.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_004.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_004.png new file mode 100644 index 00000000..74fa92ca Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_004.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_005.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_005.png new file mode 100644 index 00000000..6de2a2b1 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_005.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_006.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_006.png new file mode 100644 index 00000000..195bc516 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_006.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_007.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_007.png new file mode 100644 index 00000000..b8d33a3d Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_007.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_008.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_008.png new file mode 100644 index 00000000..8e1fc587 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_008.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_009.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_009.png new file mode 100644 index 00000000..441aae6a Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_009.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_010.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_010.png new file mode 100644 index 00000000..a6b4eaa8 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_010.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_011.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_011.png new file mode 100644 index 00000000..759680e5 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_011.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_012.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_012.png new file mode 100644 index 00000000..01f7843d Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_012.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_013.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_013.png new file mode 100644 index 00000000..9bf789a6 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_013.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_014.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_014.png new file mode 100644 index 00000000..911be0b2 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_014.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_015.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_015.png new file mode 100644 index 00000000..0f52fb6c Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_015.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_016.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_016.png new file mode 100644 index 00000000..5f98b51d Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_016.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_017.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_017.png new file mode 100644 index 00000000..96b56dac Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_017.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_018.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_018.png new file mode 100644 index 00000000..8081e0a2 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_018.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_019.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_019.png new file mode 100644 index 00000000..e86efdb3 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_019.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_020.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_020.png new file mode 100644 index 00000000..2225774b Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_020.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_021.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_021.png new file mode 100644 index 00000000..2158d33b Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_021.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_022.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_022.png new file mode 100644 index 00000000..cf5b988a Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_022.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_023.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_023.png new file mode 100644 index 00000000..dd598ca5 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_023.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_024.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_024.png new file mode 100644 index 00000000..feeca4a8 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_024.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_025.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_025.png new file mode 100644 index 00000000..1ae825e7 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_025.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_026.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_026.png new file mode 100644 index 00000000..cc1fa604 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_026.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_027.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_027.png new file mode 100644 index 00000000..d8393f10 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_027.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_028.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_028.png new file mode 100644 index 00000000..a67e02fb Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_028.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_029.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_029.png new file mode 100644 index 00000000..4e9081dc Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_029.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_030.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_030.png new file mode 100644 index 00000000..1c15919d Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_030.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_031.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_031.png new file mode 100644 index 00000000..22ec41c1 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_031.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_032.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_032.png new file mode 100644 index 00000000..5d263853 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_032.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_033.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_033.png new file mode 100644 index 00000000..65742b84 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_033.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_034.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_034.png new file mode 100644 index 00000000..4498e3da Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_034.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_035.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_035.png new file mode 100644 index 00000000..361a91cc Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_035.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_036.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_036.png new file mode 100644 index 00000000..f5ee28bc Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_036.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_037.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_037.png new file mode 100644 index 00000000..a7e1975f Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_037.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_038.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_038.png new file mode 100644 index 00000000..8f8a87eb Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_038.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_039.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_039.png new file mode 100644 index 00000000..b019399d Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_039.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_040.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_040.png new file mode 100644 index 00000000..8fdbcd78 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_040.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_041.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_041.png new file mode 100644 index 00000000..85e392a2 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_041.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_042.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_042.png new file mode 100644 index 00000000..1d6d1da9 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_042.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_043.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_043.png new file mode 100644 index 00000000..35713327 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_043.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_044.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_044.png new file mode 100644 index 00000000..4966ae6f Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_044.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_045.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_045.png new file mode 100644 index 00000000..c45f5128 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_045.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_046.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_046.png new file mode 100644 index 00000000..a1d8ee16 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_046.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_047.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_047.png new file mode 100644 index 00000000..c7ca9929 Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_047.png differ diff --git a/src/assets/Unique Potions/SODA_Icons_PotionsUnique_048.png b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_048.png new file mode 100644 index 00000000..2e7d37bf Binary files /dev/null and b/src/assets/Unique Potions/SODA_Icons_PotionsUnique_048.png differ diff --git a/src/main.mjs b/src/main.mjs index 2d12f38d..58a062df 100644 --- a/src/main.mjs +++ b/src/main.mjs @@ -31,6 +31,7 @@ import {XmlImportDialog} from "./module/dialog/xmlImportDialog.mjs"; import {MerchantDataModel} from "./module/data/merchant.mjs"; import {MerchantSheet} from "./module/sheets/merchantSheet.mjs"; import {RestingDialog} from "./module/dialog/restingDialog.mjs"; +import {BattleDialog} from "./module/dialog/battleDialog.mjs"; async function preloadHandlebarsTemplates() { return foundry.applications.handlebars.loadTemplates([ @@ -58,7 +59,8 @@ Hooks.once("init", () => { Zonenwunde, Trefferzone, Wunde, - RestingDialog + RestingDialog, + BattleDialog } // Configure custom Document implementations. diff --git a/src/module/data/talent.mjs b/src/module/data/talent.mjs new file mode 100644 index 00000000..04762cce --- /dev/null +++ b/src/module/data/talent.mjs @@ -0,0 +1,101 @@ +export class Talent { + + + /** + * @typedef TalentEigenschaften + * @property Number mu + * @property Number kl + * @property Number in + * @property Number ch + * @property Number ff + * @property Number ge + * @property Number ko + * @property Number kk + */ + + /** + * @typedef TalentData + * @property {String} name + * @property {Number} taw + * @property {TalentEigenschaften} eigenschaften + * @property {"mu","kl","in","ch","ff","ge","ko","kk"} eigenschaft1 + * @property {"mu","kl","in","ch","ff","ge","ko","kk"} eigenschaft2 + * @property {"mu","kl","in","ch","ff","ge","ko","kk"} eigenschaft3 + */ + + /** + * + * @param {TalentData} data + **/ + constructor(data) { + this.data = data + } + + /** + * @param {"publicroll", "gmroll", "privateroll"} rollMode + * @returns {Promise<{tap: any, meisterlich: boolean, patzer: boolean, evaluatedRoll: Roll & {_evaluated: true, _total: number, readonly total: number}}>} + */ + evaluate(rollMode) { + return this.#talentRoll(this.data, rollMode) + } + + + /** + * + * @param {TalentData} data + * @param {"publicroll", "gmroll", "privateroll"} rollMode + * @returns {Promise<{tap: any, meisterlich: boolean, patzer: boolean, evaluatedRoll: Roll & {_evaluated: true, _total: number, readonly total: number}}>} + */ + async #talentRoll(data, rollMode) { + + + let roll1 = new Roll("3d20"); + + let evaluated1 = (await roll1.evaluate()) + + const dsaDieRollEvaluated = this._evaluateRoll(evaluated1.terms[0].results, { + taw: data.taw, + werte: [data.eigenschaften[data.eigenschaft1], data.eigenschaften[data.eigenschaft2], data.eigenschaften[data.eigenschaft3]], + }) + + return { + ...dsaDieRollEvaluated, + evaluatedRoll: evaluated1, + } + } + + _evaluateRoll(rolledDice, { + taw, + lowerThreshold = 1, + upperThreshold = 20, + countToMeisterlich = 3, + countToPatzer = 3, + werte = [] + }) { + let tap = taw; + let meisterlichCounter = 0; + let patzerCounter = 0; + let failCounter = 0; + + rolledDice.forEach((rolledDie, index) => { + if (tap < 0 && rolledDie.result > werte[index]) { + tap -= rolledDie.result - werte[index]; + if (tap < 0) { // konnte nicht vollständig ausgeglichen werden + failCounter++; + } + } else if (rolledDie.result > werte[index]) { // taw ist bereits aufgebraucht und wert kann nicht ausgeglichen werden + tap -= rolledDie.result - werte[index]; + failCounter++; + } + if (rolledDie.result <= lowerThreshold) meisterlichCounter++; + if (rolledDie.result > upperThreshold) patzerCounter++; + }) + + return { + tap, + meisterlich: meisterlichCounter === countToMeisterlich, + patzer: patzerCounter === countToPatzer, + } + } + +} \ No newline at end of file diff --git a/src/module/dialog/battleDialog.mjs b/src/module/dialog/battleDialog.mjs new file mode 100644 index 00000000..136c475d --- /dev/null +++ b/src/module/dialog/battleDialog.mjs @@ -0,0 +1,247 @@ +import {ActionManager} from "../sheets/actions/action-manager.mjs"; +import {Talent} from "../data/talent.mjs"; + +const {ApplicationV2, HandlebarsApplicationMixin} = foundry.applications.api + + +/** + * @typedef TokenDistance + * @property {Number} x + * @property {Number} y + * @property {Number} d + * @property {Token} token + */ + +export class BattleDialog extends HandlebarsApplicationMixin(ApplicationV2) { + + static DEFAULT_OPTIONS = { + classes: ['dsa41', 'dialog', 'battle'], + tag: "form", + position: { + width: 640, + height: 518 + }, + window: { + resizable: false, + }, + form: { + submitOnChange: true, + closeOnSubmit: false, + handler: BattleDialog.#onSubmitForm + }, + actions: { + selectOffenseActor: BattleDialog.#setOffenseActor, + selectDefenseActor: BattleDialog.#setDefenseActor, + doBattle: BattleDialog.#doBattle, + + } + } + + static PARTS = { + form: { + template: 'systems/DSA_4-1/templates/dialog/battle-dialog.hbs', + } + } + + /** + * @type {Actor} + * @private + */ + _offenseActor = null + _defenseActor = null + + constructor() { + super() + } + + + static async #onSubmitForm(event, form, formData) { + event.preventDefault() + + this._offenseTalent = formData.object['offense.talent'] + this._defenseTalent = formData.object['defense.talent'] + } + + static #setOffenseActor(event, target) { + const {id} = target.dataset + + this._offenseActor = game.actors.get(id) + this.render({parts: ["form"]}) + } + + + static #setDefenseActor(event, target) { + const {id} = target.dataset + + this._defenseActor = game.actors.get(id) + this.render({parts: ["form"]}) + } + + static async #doBattle(event, target) { + + // TODO perform Dice Rolls but in secret mode so its up to the GM if they want to display the result or not + + let offenseTalent = {} + + if (this._offenseActor && this._offenseActor.items.get(this._offenseTalent)) { + const skill = this._offenseActor.items.get(this._offenseTalent) + offenseTalent.name = skill.name + offenseTalent.taw = skill.system.taw + offenseTalent.probe = skill.system.probe + } else { + offenseTalent.name = this.element.querySelector('input[name="offense.talent.name"]').value + offenseTalent.taw = this.element.querySelector('input[name="offense.talent.taw"]').value + offenseTalent.probe = [ + this.element.querySelector('input[name="offense.talent.probe.0.name"]').value, + this.element.querySelector('input[name="offense.talent.probe.1.name"]').value, + this.element.querySelector('input[name="offense.talent.probe.2.name"]').value + ] + } + + offenseTalent.eigenschaften = {} + + if (this._offenseActor && this._offenseActor.system.attribute) { + offenseTalent.eigenschaften = this._offenseActor.system.attribute + } else { + offenseTalent.eigenschaften = { + mu: this.element.querySelector('input[name="offenseAttributes.mu"]').value, + kl: this.element.querySelector('input[name="offenseAttributes.in"]').value, + in: this.element.querySelector('input[name="offenseAttributes.kl"]').value, + ch: this.element.querySelector('input[name="offenseAttributes.ch"]').value, + ff: this.element.querySelector('input[name="offenseAttributes.ff"]').value, + ge: this.element.querySelector('input[name="offenseAttributes.ge"]').value, + ko: this.element.querySelector('input[name="offenseAttributes.ko"]').value, + kk: this.element.querySelector('input[name="offenseAttributes.kk"]').value, + + } + } + + let defenseTalent = {} + + if (this._defenseActor && this._defenseActor.items.get(this._defenseTalent)) { + const skill = this._defenseActor.items.get(this._defenseTalent) + defenseTalent.name = skill.name + defenseTalent.taw = skill.system.taw + defenseTalent.probe = skill.system.probe + } else { + defenseTalent.name = this.element.querySelector('input[name="defense.talent.name"]').value + defenseTalent.taw = this.element.querySelector('input[name="defense.talent.taw"]').value + defenseTalent.probe = [ + this.element.querySelector('input[name="defense.talent.probe.0.name"]').value, + this.element.querySelector('input[name="defense.talent.probe.1.name"]').value, + this.element.querySelector('input[name="defense.talent.probe.2.name"]').value + ] + } + + + defenseTalent.eigenschaften = {} + + if (this._defenseActor && this._defenseActor.system.attribute) { + defenseTalent.eigenschaften = this._defenseActor.system.attribute + } else { + defenseTalent.eigenschaften = { + mu: this.element.querySelector('input[name="defenseAttributes.mu"]').value, + kl: this.element.querySelector('input[name="defenseAttributes.in"]').value, + in: this.element.querySelector('input[name="defenseAttributes.kl"]').value, + ch: this.element.querySelector('input[name="defenseAttributes.ch"]').value, + ff: this.element.querySelector('input[name="defenseAttributes.ff"]').value, + ge: this.element.querySelector('input[name="defenseAttributes.ge"]').value, + ko: this.element.querySelector('input[name="defenseAttributes.ko"]').value, + kk: this.element.querySelector('input[name="defenseAttributes.kk"]').value, + + } + } + + + const offense = await (new Talent(offenseTalent)).evaluate("gmroll") + const defense = await (new Talent(defenseTalent)).evaluate("gmroll") + + offense.evaluatedRoll.toMessage({ + speaker: ChatMessage.getSpeaker({actor: this._offenseActor}), + flavor: `Talent: ${offenseTalent.name}
TaP: ${offense.tap}
${offense.meisterlich ? "Meisterlich" : ""}${offense.patzer ? "Petzer" : ""}`, + }) + defense.evaluatedRoll.toMessage({ + speaker: ChatMessage.getSpeaker({actor: this._defenseActor}), + flavor: `Talent: ${defenseTalent.name}
TaP: ${defense.tap}
${defense.meisterlich ? "Meisterlich" : ""}${defense.patzer ? "Petzer" : ""}`, + }) + + this.close() + } + + _configureRenderOptions(options) { + super._configureRenderOptions(options) + if (options.window) { + options.window.title = "Vergleichende Proben" + } + return options + } + + + async _prepareContext(options) { + const context = await super._prepareContext(options) + context.actors = game.actors.filter(actor => actor.type === "character" || actor.type === "creature") + + context.offenseTalent = this._offenseTalent ?? '' + context.offenseTalents = {} + + if (this._offenseActor) { + context.offenseActor = this._offenseActor._id + + if (this._offenseActor.system.attribute) { + context.offenseAttributes = {} + Object.entries(this._offenseActor.system.attribute)?.forEach(([key, eigenschaft]) => { + context.offenseAttributes[key] = eigenschaft?.aktuell ?? 0 + }) + } else { + context.offenseAttributes = false + } + + if (this._offenseActor.itemTypes["Skill"]?.length > 0) { + this._offenseActor.itemTypes["Skill"]?.forEach((skill) => { + + if (skill.system.probe.length === 3) { + context.offenseTalents[`${skill.name}: ${skill.system.taw} (${skill.system.probe[0]}/${skill.system.probe[1]}/${skill.system.probe[2]})`] = skill.id + } + }) + } else { + context.offenseTalents = false + } + } + + context.defenseTalent = this._defenseTalent ?? '' + context.defenseTalents = {} + + if (this._defenseActor) { + context.defenseActor = this._defenseActor._id + + if (this._defenseActor.system.attribute) { + + context.defenseAttributes = {} + Object.entries(this._defenseActor.system.attribute)?.forEach(([key, eigenschaft]) => { + context.defenseAttributes[key] = eigenschaft?.aktuell ?? 0 + }) + + } else { + context.defenseAttributes = false + } + if (this._defenseActor.itemTypes["Skill"]?.length > 0) { + this._defenseActor.itemTypes["Skill"]?.forEach((skill) => { + + if (skill.system.probe.length === 3) { + context.defenseTalents[`${skill.name}: ${skill.system.taw} (${skill.system.probe[0]}/${skill.system.probe[1]}/${skill.system.probe[2]})`] = skill.id + } + }) + } else { + context.defenseTalents = false + } + } + + return context + } + + _onRender(context, options) { + + } + + +} \ No newline at end of file diff --git a/src/module/documents/character.mjs b/src/module/documents/character.mjs index 2a9a5cd8..d6a39418 100644 --- a/src/module/documents/character.mjs +++ b/src/module/documents/character.mjs @@ -125,14 +125,16 @@ export class Character extends Actor { // half KO is the maximum a character can sustain wounds before collapsing systemData.wunden.max = ko / 2; if (game.settings.get("DSA_4-1", "optional_trefferzonen")) { - systemData.wunden.kopf = 0; - systemData.wunden.brust = 0; - systemData.wunden.bauch = 0; - systemData.wunden.ruecken = 0; - systemData.wunden.armlinks = 0; - systemData.wunden.armrechts = 0; - systemData.wunden.beinlinks = 0; - systemData.wunden.beinrechts = 0; + systemData.wunden.kopf = 0 + systemData.wunden.brust = 0 + systemData.wunden.bauch = 0 + systemData.wunden.ruecken = 0 + systemData.wunden.armlinks = 0 + systemData.wunden.armrechts = 0 + systemData.wunden.beinlinks = 0 + systemData.wunden.beinrechts = 0 + } else { + systemData.wunden.gesamt = 0 } systemData.ws = ko / 2; diff --git a/src/module/sheets/character/advsf.mjs b/src/module/sheets/character/advsf.mjs index 878225e9..f0074d84 100644 --- a/src/module/sheets/character/advsf.mjs +++ b/src/module/sheets/character/advsf.mjs @@ -9,18 +9,32 @@ export default { context.name = context.derived.name ?? actorData.name context.effects = actorData.effects ?? [] context.advantages = [] + context.flaws = [] actorData.itemTypes.Advantage.forEach((item) => { - context.advantages.push({ - id: item._id, - name: item.name, - value: item.system.value, - options: item.system.auswahl, - description: item.system.description, - isAdvantage: !item.system.nachteil, - isDisadvantage: item.system.nachteil, - isBadAttribute: item.system.schlechteEigenschaft - }) + if (!item.system.schlechteEigenschaft) { + context.advantages.push({ + id: item._id, + name: item.name, + value: item.system.value, + options: item.system.auswahl, + description: item.system.description, + isAdvantage: !item.system.nachteil, + isDisadvantage: item.system.nachteil, + isBadAttribute: item.system.schlechteEigenschaft + }) + } else { + context.flaws.push({ + id: item._id, + name: item.name, + value: item.system.value, + options: item.system.auswahl, + description: item.system.description, + isAdvantage: !item.system.nachteil, + isDisadvantage: item.system.nachteil, + isBadAttribute: item.system.schlechteEigenschaft + }) + } } ) diff --git a/src/module/sheets/character/effects.mjs b/src/module/sheets/character/effects.mjs index e59e080d..f24fce2a 100644 --- a/src/module/sheets/character/effects.mjs +++ b/src/module/sheets/character/effects.mjs @@ -12,36 +12,34 @@ export default { context.isGM = game.user.isGM context.effects = [] - Object.values(actorData.items).forEach((item, index) => { - if (item.type === "ActiveEffect") { - const effect = item.effects[0]; - const conditions = [] - if (effect) { - effect.changes.forEach(change => { - if (change.key.indexOf("wunden") === -1) { - const key = change.key - .replace(/system\./g, "") - .replace(/\.mod/g, "") - .replace(/attribute./g, "") - .replace(/.links/g, "(Links)") - .replace(/.rechts/g, "(Rechts)") - const value = Number(change.value) > 0 ? "+" + change.value : change.value - conditions.push( - `${key}${value}` - ) - } - }) + for (let i = 0; i < actorData.appliedEffects.length; i++) { + const item = actorData.appliedEffects[i] + const conditions = [] + + item.changes.forEach(change => { + if (change.key.indexOf("wunden") === -1) { + const key = change.key + .replace(/system\./g, "") + .replace(/\.mod/g, "") + .replace(/attribute./g, "") + .replace(/.links/g, "(Links)") + .replace(/.rechts/g, "(Rechts)") + const value = Number(change.value) > 0 ? "+" + change.value : change.value + conditions.push( + `${key}${value}` + ) } + }) - context.effects.push({ - name: item.name, - conditions: conditions.join(" "), - id: item._id, - actor: actorData._id - }); - } - }) + context.effects.push({ + name: item.parent.name, + conditions: conditions.join(" "), + id: item.parent._id, + actor: actorData._id + }); + + } return context }, diff --git a/src/module/sheets/characterSheet.mjs b/src/module/sheets/characterSheet.mjs index 4aa7ee09..e183890d 100644 --- a/src/module/sheets/characterSheet.mjs +++ b/src/module/sheets/characterSheet.mjs @@ -37,6 +37,7 @@ class CharacterSheet extends HandlebarsApplicationMixin(ActorSheetV2) { actions: { rollCombatSkill: CharacterSheet.#rollCombatSkill, rollSkill: CharacterSheet.#rollSkill, + rollFlaw: CharacterSheet.#rollFlaw, roll: CharacterSheet.#dieRoll, editImage: DocumentSheetV2.DEFAULT_OPTIONS.actions.editImage, openEmbeddedDocument: CharacterSheet.#openEmbeddedDocument, @@ -48,6 +49,8 @@ class CharacterSheet extends HandlebarsApplicationMixin(ActorSheetV2) { cancelCooldown: CharacterSheet.#cancelCooldown, activateCooldown: CharacterSheet.#activateCooldown, rest: CharacterSheet.#startResting, + removeEffect: CharacterSheet.#removeEffect, + } } @@ -118,10 +121,10 @@ class CharacterSheet extends HandlebarsApplicationMixin(ActorSheetV2) { } } - static #dieRoll(event) { + static #dieRoll(event, target) { event.preventDefault() - const dataset = event.currentTarget.dataset - if (dataset.roll) { + const {roll} = target.dataset + if (roll) { let label = dataset.label ? `[Attribut] ${dataset.label}` : '' let roll = new Roll(dataset.roll, this.actor.getRollData()) roll.toMessage({ @@ -133,6 +136,24 @@ class CharacterSheet extends HandlebarsApplicationMixin(ActorSheetV2) { } } + static async #rollFlaw(event, target) { + event.preventDefault() + const {itemId} = target.dataset + if (itemId) { + const flaw = this.document.items.get(itemId) + if (flaw) { + const target = flaw.system.value + let roll = await new Roll(`1d20`).evaluate() + let diff = target - roll.terms[0].results[0].result + roll.toMessage({ + speaker: ChatMessage.getSpeaker({actor: this.actor}), + flavor: `Schlechte Eigenschaft: ${flaw.name}
Ergebnis: ${Math.abs(diff)}${diff > 0 ? " übrig" : " daneben"}`, + rollMode: game.settings.get('core', 'rollMode'), + }); + } + } + } + static async #progressCooldown(event, target) { const {cooldownId} = target.dataset const cooldowns = this.document.system.cooldowns @@ -223,6 +244,22 @@ class CharacterSheet extends HandlebarsApplicationMixin(ActorSheetV2) { dialog.render(true) } + static async #removeEffect(event, target) { + const {actorId, effectId} = target.dataset + + if (actorId === this.document._id) { + + const item = this.document.items.get(effectId) + + if (item.type === "ActiveEffect") { + this.document.deleteEmbeddedDocuments("Item", [effectId]) + } + + } + + } + + /** * Handle form submission * @this {AdvantageSheet} @@ -305,7 +342,7 @@ class CharacterSheet extends HandlebarsApplicationMixin(ActorSheetV2) { context.effects = actorData.effects ?? [] context.maxWounds = actorData.system.wunden.max ?? 3 - context.wounds = actorData.system.wunden.aktuell ?? 0 + context.wounds = actorData.system.wunden.gesamt ?? 0 context.woundsFilled = [] for (let i = 1; i <= context.maxWounds; i++) { context.woundsFilled[i] = i <= context.wounds diff --git a/src/module/sheets/liturgySheet.mjs b/src/module/sheets/liturgySheet.mjs index d2e0f14e..5c6a958f 100644 --- a/src/module/sheets/liturgySheet.mjs +++ b/src/module/sheets/liturgySheet.mjs @@ -18,9 +18,10 @@ export class LiturgySheet extends HandlebarsApplicationMixin(DocumentSheetV2) { static TABS = { sheet: { tabs: [ - {id: 'json', group: 'sheet', label: 'JSON'}, + {id: 'meta', group: 'sheet', label: 'Meta'}, + {id: 'commonality', group: 'sheet', label: 'Verbreitung'}, ], - initial: 'json' + initial: 'meta' } } @@ -29,9 +30,12 @@ export class LiturgySheet extends HandlebarsApplicationMixin(DocumentSheetV2) { form: { template: `systems/DSA_4-1/templates/item/liturgy/main-sheet.hbs` }, - json: { - template: `systems/DSA_4-1/templates/item/liturgy/tab-json.hbs` + meta: { + template: `systems/DSA_4-1/templates/item/liturgy/tab-meta.hbs` }, + commonality: { + template: `systems/DSA_4-1/templates/item/liturgy/tab-commonality.hbs` + } } /** @@ -50,12 +54,12 @@ export class LiturgySheet extends HandlebarsApplicationMixin(DocumentSheetV2) { /** @override */ async _prepareContext(options) { const context = await super._prepareContext(options); - const liturgyData = context.document; - context.system = liturgyData.system; - context.flags = liturgyData.flags; - context.json = JSON.stringify(liturgyData); + context.system = liturgyData.system + context.flags = liturgyData.flags + context.name = liturgyData.name + context.json = JSON.stringify(liturgyData) return context; } diff --git a/src/module/xml-import/xml-import.mjs b/src/module/xml-import/xml-import.mjs index c0875d70..ee3f3757 100644 --- a/src/module/xml-import/xml-import.mjs +++ b/src/module/xml-import/xml-import.mjs @@ -655,7 +655,7 @@ export class XmlImport { name: kultur.name, type: "Culture", system: { - variant: kultur.variante.name ?? "", + variant: kultur.variante?.name ?? kultur.string ?? "", feminineDemonym: kultur.string, masculineDemonym: kultur.string, description: "Importiert", diff --git a/src/packs/_source/wunden/wunde.json b/src/packs/_source/wunden/wunde.json index 0f6ff0cb..a2463c62 100644 --- a/src/packs/_source/wunden/wunde.json +++ b/src/packs/_source/wunden/wunde.json @@ -5,7 +5,7 @@ "image": "icons/skills/wounds/bone-broken-knee-beam.webp", "effects": [ { - "key": "system.wunden", + "key": "system.wunden.gesamt", "mode": 2, "value": "1", "priority": 10 diff --git a/src/style/atoms/_colours.scss b/src/style/atoms/_colours.scss index 26d0d225..e533a041 100644 --- a/src/style/atoms/_colours.scss +++ b/src/style/atoms/_colours.scss @@ -63,8 +63,7 @@ $attribute-die-bd-text-color: #000; $attribute-die-st-text-color: #000; -$attribute-label-color: #FFF; -$attribute-label-background-color: #0008; +$attribute-label-color: #000; $rollable-die-border-color: #000; diff --git a/src/style/atoms/_typography.scss b/src/style/atoms/_typography.scss index e3cb3ab3..0827abfe 100644 --- a/src/style/atoms/_typography.scss +++ b/src/style/atoms/_typography.scss @@ -24,7 +24,10 @@ } input, - .rkp .pill { + .rkp .pill, + .cooldown > span, + .attribute.rollable > .name, + .attribute.rollable > .wert { font-family: Andalus, sans-serif; } diff --git a/src/style/molecules/_attributes.scss b/src/style/molecules/_attributes.scss index 3c8ef194..178a3cfa 100644 --- a/src/style/molecules/_attributes.scss +++ b/src/style/molecules/_attributes.scss @@ -10,25 +10,20 @@ .attributes { display: flex; + position: relative; + top: -10px; + right: -10px; .attribute.rollable { width: 48px; height: 48px; position: relative; - box-shadow: inset numbers.$dice-box-inset numbers.$dice-box-inset numbers.$dice-box-blur-radius colours.$dice-box-shadow; - background: assets.$dice-box-background; margin-left: 2px; - border: numbers.$dice-box-border-width inset colours.$dice-box-border-color; .die { - stroke-width: 0.5; svg { position: absolute; - left: -6px; - top: -6px; - bottom: -6px; - right: -6px; path { fill: colours.$attribute-die-color; @@ -39,9 +34,9 @@ .wert { font-weight: bold; position: absolute; - left: -2px; + left: -1px; width: 48px; - top: -2px; + top: -1px; font-size: smaller; line-height: 48px; vertical-align: middle; @@ -53,12 +48,11 @@ position: absolute; left: 0; right: 0; - bottom: 0; + bottom: -12px; line-height: 12px; vertical-align: middle; text-align: center; color: colours.$attribute-label-color; - background-color: colours.$attribute-label-background-color; } } diff --git a/src/style/molecules/_fieldset.scss b/src/style/molecules/_fieldset.scss new file mode 100644 index 00000000..682178b9 --- /dev/null +++ b/src/style/molecules/_fieldset.scss @@ -0,0 +1,14 @@ +.dsa41 { + + fieldset { + border-left: 0; + border-bottom: 0; + border-right: 0; + + legend { + padding: 0 16px; + text-align: center; + } + } + +} \ No newline at end of file diff --git a/src/style/molecules/_sidebar-elements.scss b/src/style/molecules/_sidebar-elements.scss index 3614e865..8b5921a0 100644 --- a/src/style/molecules/_sidebar-elements.scss +++ b/src/style/molecules/_sidebar-elements.scss @@ -63,6 +63,12 @@ } + .button { + + margin-bottom: 8px; + + } + .attack { display: grid; @@ -192,6 +198,7 @@ color: white; text-align: center; text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.3); + overflow: hidden; } .progress { diff --git a/src/style/molecules/_tabs.scss b/src/style/molecules/_tabs.scss index f0012859..042934f1 100644 --- a/src/style/molecules/_tabs.scss +++ b/src/style/molecules/_tabs.scss @@ -45,7 +45,7 @@ content: ''; left: 0; right: 0; - bottom: 0; + bottom: -1px; height: 3px; background: assets.$tab-background; z-index: 5; diff --git a/src/style/organisms/_battle-dialog.scss b/src/style/organisms/_battle-dialog.scss new file mode 100644 index 00000000..4b6398f4 --- /dev/null +++ b/src/style/organisms/_battle-dialog.scss @@ -0,0 +1,195 @@ +.dsa41.dialog.battle { + + section[data-application-part="form"] { + + display: grid; + height: 100%; + + grid-template-columns: 1fr 1fr; + grid-template-rows: 32px 1fr 32px; + gap: 8px; + grid-template-areas: "presets presets" "offense defense" "summary summary"; + + .presets { + grid-area: presets; + + label { + display: flex; + flex-direction: row; + height: 32px; + justify-content: center; + gap: 0 8px; + + span { + height: 32px; + line-height: 32px; + vertical-align: middle; + flex: 0; + } + + select { + flex: 0; + width: 180px; + } + + button { + height: 32px; + flex: 0; + } + + } + } + + .offense-character { + grid-area: offense; + } + + .defense-character { + grid-area: defense; + } + + .summary { + grid-area: summary; + } + + .scroll-y { + overflow: hidden; + overflow-y: auto; + height: calc(3 * (32px + 8px)) + } + + .actor { + height: 32px; + margin-bottom: 8px; + display: grid; + grid-template-columns: 32px 1fr; + + img { + width: 32px; + height: 32px; + border-radius: 4px; + background-color: rgba(0, 0, 0, 0.5); + border: 1px inset; + } + + span { + height: 32px; + line-height: 32px; + vertical-align: middle; + } + + &.selected { + background-color: rgba(255, 140, 0, 0.2); + border: 1px solid orange; + border-radius: 4px; + } + + } + + span.dummylabel { + height: 16px; + line-height: 16px; + display: block; + } + + .attributes { + display: grid; + grid-template-columns: repeat(8, 1fr); + height: 48px; + + .attribut { + label { + span { + display: block; + height: 16px; + line-height: 16px; + vertical-align: middle; + width: 100%; + text-align: center; + } + + input { + height: 32px; + width: 100%; + } + + output { + height: 32px; + width: 100%; + line-height: 32px; + vertical-align: middle; + display: block; + padding: 0 8px; + border: 1px inset; + border-radius: 4px; + box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); + } + } + } + + } + + .talent { + display: grid; + grid-template-columns: 1fr 32px 32px 32px 32px; + height: 48px; + + label { + + span { + display: block; + height: 16px; + line-height: 16px; + vertical-align: middle; + text-align: center; + width: 100%; + } + + input { + height: 32px; + width: 100%; + + &.attrib { + padding: 0; + text-align: center; + } + } + + } + } + + .summary { + + display: grid; + grid-template-columns: 1fr 1fr 1fr; + grid-template-areas: "offense buttons defense"; + + button { + grid-area: buttons; + } + + .offenseActorSave { + grid-area: offense; + + input { + position: relative; + top: 2px; + } + } + + .defenseActorSave { + grid-area: defense; + justify-self: end; + + input { + position: relative; + top: 2px; + } + } + + } + + } + + +} \ No newline at end of file diff --git a/src/style/organisms/_combat-action-dialog.scss b/src/style/organisms/_combat-action-dialog.scss index 0773beaa..274d1032 100644 --- a/src/style/organisms/_combat-action-dialog.scss +++ b/src/style/organisms/_combat-action-dialog.scss @@ -23,17 +23,9 @@ flex: 1; - border-bottom: 0; - border-left: 0; - border-right: 0; padding: 0; margin: 0; - legend { - text-align: center; - padding: 0 16px; - } - &.modding { flex: 0; } diff --git a/src/style/organisms/_liturgy-sheet.scss b/src/style/organisms/_liturgy-sheet.scss new file mode 100644 index 00000000..56470fe7 --- /dev/null +++ b/src/style/organisms/_liturgy-sheet.scss @@ -0,0 +1,136 @@ +.dsa41.item.liturgy { + + + .tab.meta.active { + + display: flex; + flex-direction: column; + + div.head { + flex: 0; + height: unset; + display: flex; + flex-direction: column; + padding: unset; + margin: 8px; + + label { + + display: grid; + grid-template-columns: 120px 1fr; + gap: 8px; + height: 32px; + + span { + height: 32px; + line-height: 32px; + vertical-align: middle; + } + + input { + + } + + } + + } + + fieldset { + flex: 1; + margin: 8px; + + .auswirkungen { + overflow-x: hidden; + overflow-y: auto; + + .auswirkung { + + display: flex; + flex-direction: row; + + .rank { + padding-right: 8px; + text-align: center; + display: block; + align-self: center; + } + + } + + } + + } + + } + + .tab.commonality.active > section { + + display: flex; + flex-direction: column; + padding: 8px; + gap: 8px; + + .commonalities { + flex: 1; + overflow-x: hidden; + overflow-y: auto; + height: unset; + display: unset; + padding: unset; + + .commonality { + display: grid; + grid-template-columns: 1fr 1fr 16px; + height: 16px; + margin-bottom: 8px; + + button { + border: none; + background: none; + padding: 0; + margin: 0; + height: 16px; + width: 16px; + text-align: center; + min-height: unset; + + &:hover { + color: red; + } + + } + + &:hover { + background-color: rgba(0, 0, 0, 0.2) + } + + } + + } + + fieldset { + flex: 0; + + div.content { + display: grid; + grid-template-columns: 1fr 0.5fr; + grid-template-rows: 54px 32px; + gap: 8px; + + label { + + span { + + display: block; + + } + + } + + } + + } + + } + +} diff --git a/src/style/organisms/_xml-import-dialog.scss b/src/style/organisms/_xml-import-dialog.scss index c8f59e36..0254be47 100644 --- a/src/style/organisms/_xml-import-dialog.scss +++ b/src/style/organisms/_xml-import-dialog.scss @@ -30,14 +30,6 @@ fieldset { grid-area: options; - border-left: 0; - border-bottom: 0; - border-right: 0; - - legend { - padding: 0 16px; - text-align: center; - } div { diff --git a/src/style/organisms/character-tabs/_advsf.scss b/src/style/organisms/character-tabs/_advsf.scss index f03a8898..ecf0b2e8 100644 --- a/src/style/organisms/character-tabs/_advsf.scss +++ b/src/style/organisms/character-tabs/_advsf.scss @@ -6,7 +6,7 @@ gap: 8px; } - .advantages, .special-abilities { + .advantages, .special-abilities, .flaws { margin-bottom: 16px; ul { @@ -19,7 +19,7 @@ display: inline-block; } - .advantage, .special-ability { + .advantage, .special-ability, .flaw { position: relative; border: 1px solid gold; box-shadow: 2px 2px 4px #000; @@ -63,6 +63,29 @@ margin-left: 8px; } + &.flaw { + position: relative; + margin-left: 24px; + + .die { + + path { + fill: #6a24d8ff; + } + + position: absolute; + left: -24px; + + height: 24px; + width: 24px; + } + + &::after { + background: rgba(106, 36, 216, 0.5); + } + + } + &.disadvantage { font-style: italic; diff --git a/src/style/styles.scss b/src/style/styles.scss index b811eb52..803314b5 100644 --- a/src/style/styles.scss +++ b/src/style/styles.scss @@ -10,6 +10,7 @@ @use "molecules/sheet-header"; @use "molecules/coins"; @use "molecules/weights"; +@use "molecules/fieldset"; @use "molecules/tabs"; @use "molecules/paperdoll"; @@ -30,4 +31,6 @@ @use "organisms/xml-import-dialog"; @use "organisms/combat-action-dialog"; @use "organisms/merchant-sheet"; -@use "organisms/resting-dialog"; \ No newline at end of file +@use "organisms/resting-dialog"; +@use "organisms/battle-dialog"; +@use "organisms/liturgy-sheet"; \ No newline at end of file diff --git a/src/templates/actor/character/tab-advsf.hbs b/src/templates/actor/character/tab-advsf.hbs index 346a6ba4..63858a2d 100644 --- a/src/templates/actor/character/tab-advsf.hbs +++ b/src/templates/actor/character/tab-advsf.hbs @@ -2,7 +2,15 @@ data-tab="{{tabs.advsf.id}}" data-group="{{tabs.advsf.group}}">
-
+
+

Schlechte Eigenschaften

+
    + {{#each this.flaws}} +
  • {{> "systems/DSA_4-1/templates/ui/partial-advantage-button.hbs" this}}
  • + {{/each}} +
+
+

Vor- und Nachteile

    {{#each this.advantages}} diff --git a/src/templates/actor/character/tab-combat.hbs b/src/templates/actor/character/tab-combat.hbs index 652a4e89..67511b0f 100644 --- a/src/templates/actor/character/tab-combat.hbs +++ b/src/templates/actor/character/tab-combat.hbs @@ -34,6 +34,10 @@ {{derived.be}}
+
+ + {{derived.gs.aktuell}} +
diff --git a/src/templates/actor/character/tab-effects.hbs b/src/templates/actor/character/tab-effects.hbs index b131f219..eb492c9c 100644 --- a/src/templates/actor/character/tab-effects.hbs +++ b/src/templates/actor/character/tab-effects.hbs @@ -18,7 +18,7 @@ {{this.conditions}} {{#if ../isGM}} - {{/if}} {{/each}} diff --git a/src/templates/actor/character/tab-liturgies.hbs b/src/templates/actor/character/tab-liturgies.hbs index 77ff666a..e1e41c60 100644 --- a/src/templates/actor/character/tab-liturgies.hbs +++ b/src/templates/actor/character/tab-liturgies.hbs @@ -38,7 +38,7 @@ data-lkp="{{../lkp}}" data-deity="{{../deity}}"> {{> 'systems/DSA_4-1/templates/ui/partial-die.hbs' }} - + {{this.name}} @@ -58,7 +58,7 @@ data-lkp="{{../lkp}}" data-deity="{{../deity}}"> {{> 'systems/DSA_4-1/templates/ui/partial-die.hbs' }} - + {{this.name}} @@ -80,7 +80,7 @@ {{> 'systems/DSA_4-1/templates/ui/partial-die.hbs' }} {{this.name}} + data-action="openEmbeddedDocument">{{this.name}} {{/each}} {{/if}} @@ -100,7 +100,7 @@ {{> 'systems/DSA_4-1/templates/ui/partial-die.hbs' }} {{this.name}} + data-action="openEmbeddedDocument">{{this.name}} {{/each}} {{/if}} @@ -120,7 +120,7 @@ {{> 'systems/DSA_4-1/templates/ui/partial-die.hbs' }} {{this.name}} + data-action="openEmbeddedDocument">{{this.name}} {{/each}}{{/if}} {{#if this.countV}} @@ -139,7 +139,7 @@ {{> 'systems/DSA_4-1/templates/ui/partial-die.hbs' }} {{this.name}} + data-action="openEmbeddedDocument">{{this.name}} {{/each}} {{/if}} @@ -159,7 +159,7 @@ {{> 'systems/DSA_4-1/templates/ui/partial-die.hbs' }} {{this.name}} + data-action="openEmbeddedDocument">{{this.name}} {{/each}} {{/if}}{{#if this.countVII}} @@ -178,7 +178,7 @@ {{> 'systems/DSA_4-1/templates/ui/partial-die.hbs' }} {{this.name}} + data-action="openEmbeddedDocument">{{this.name}} {{/each}} {{/if}}{{#if this.countVIII}} @@ -197,7 +197,7 @@ {{> 'systems/DSA_4-1/templates/ui/partial-die.hbs' }} {{this.name}} + data-action="openEmbeddedDocument">{{this.name}} {{/each}} {{/if}} diff --git a/src/templates/dialog/battle-dialog.hbs b/src/templates/dialog/battle-dialog.hbs new file mode 100644 index 00000000..39e620ef --- /dev/null +++ b/src/templates/dialog/battle-dialog.hbs @@ -0,0 +1,349 @@ +
+ +
+ +
+ +
+
+ Charakterauswahl +
+ {{#each actors}} +
+ {{this.name}} + {{this.name}} +
+ {{/each}} +
+
+ + {{#if (not offenseAttributes)}} +
+ Eigenschaften + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+ {{else}} +
+ Eigenschaften + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+ {{/if}} + + {{#if offenseTalents}} +
+ Talent +   + +
+ {{else}} +
+ Talent +
+ + + + + +
+
+ {{/if}} + +
+ Erschwernisse + +
+
+ +
+
+ Charakterauswahl +
+ {{#each actors}} +
+ {{this.name}} + {{this.name}} +
+ {{/each}} +
+
+ + {{#if (not defenseAttributes)}} +
+ Eigenschaften + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+ {{else}} +
+ Eigenschaften + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+ {{/if}} + + {{#if defenseTalents}} +
+ Talent +   + +
+ {{else}} +
+ Talent +
+ + + + + +
+
+ {{/if}} + +
+ Erschwernisse + +
+
+ +
+ {{#if (or (not offenseTalents) (not offenseAttributes))}} +
+
+ {{/if}} + + {{#if (or (not defenseTalents) (not defenseAttributes))}} +
+
+ {{/if}} + +
+ +
\ No newline at end of file diff --git a/src/templates/item/liturgy/main-sheet.hbs b/src/templates/item/liturgy/main-sheet.hbs index 38015a2f..21d661ee 100644 --- a/src/templates/item/liturgy/main-sheet.hbs +++ b/src/templates/item/liturgy/main-sheet.hbs @@ -1,4 +1,14 @@
- - Alveranische Baustelle, bitte gehen Sie weiter, hier gibt es nichts zu sehen. + {{!-- Sheet Tab Navigation --}} +
\ No newline at end of file diff --git a/src/templates/item/liturgy/tab-commonality.hbs b/src/templates/item/liturgy/tab-commonality.hbs new file mode 100644 index 00000000..7d42bd49 --- /dev/null +++ b/src/templates/item/liturgy/tab-commonality.hbs @@ -0,0 +1,39 @@ +
+ +
+ + {{#if editable}} +
+ Neue Verbreitung +
+ + +
+ +
+
+
+ {{/if}} + +
+ {{#each system.herkunft}} +
+ {{this.name}} + Grad {{grad}} + {{#if ../editable}} + + {{/if}} +
+ {{/each}} +
+
+ +
+ diff --git a/src/templates/item/liturgy/tab-meta.hbs b/src/templates/item/liturgy/tab-meta.hbs new file mode 100644 index 00000000..d2ed49df --- /dev/null +++ b/src/templates/item/liturgy/tab-meta.hbs @@ -0,0 +1,75 @@ +
+ +
+ + + + +
+ +
+ Grade der Liturgie +
+ {{#if system.auswirkung.I}} +
+ I +
{{system.auswirkung.I}}
+
+ {{/if}} + {{#if system.auswirkung.II}} +
+ II +
{{system.auswirkung.II}}
+
+ {{/if}} + {{#if system.auswirkung.III}} +
+ III +
{{system.auswirkung.III}}
+
+ {{/if}} + {{#if system.auswirkung.IV}} +
+ IV +
{{system.auswirkung.IV}}
+
+ {{/if}} + {{#if system.auswirkung.V}} +
+ V +
{{system.auswirkung.V}}
+
+ {{/if}} + {{#if system.auswirkung.VI}} +
+ VI +
{{system.auswirkung.VI}}
+
+ {{/if}} + {{#if system.auswirkung.VII}} +
+ VII +
{{system.auswirkung.VII}}
+
+ {{/if}} + {{#if system.auswirkung.VIII}} +
+ VIII +
{{system.auswirkung.VIII}}
+
+ {{/if}} +
+
+ +
+ diff --git a/src/templates/ui/partial-advantage-button.hbs b/src/templates/ui/partial-advantage-button.hbs index 044635cc..4dc86bff 100644 --- a/src/templates/ui/partial-advantage-button.hbs +++ b/src/templates/ui/partial-advantage-button.hbs @@ -1,4 +1,15 @@ +{{#if this.isBadAttribute}} +
+
+ {{> 'systems/DSA_4-1/templates/ui/partial-die.hbs' }} +
+ {{this.name}} {{#if + this.value}} + : {{this.value}}{{/if}} +
+{{else}}
{{this.name}} {{#if this.value}} : {{this.value}}{{/if}}
+{{/if}} diff --git a/src/templates/ui/partial-attribute-button.hbs b/src/templates/ui/partial-attribute-button.hbs index 2fce6caa..4e439926 100644 --- a/src/templates/ui/partial-attribute-button.hbs +++ b/src/templates/ui/partial-attribute-button.hbs @@ -5,10 +5,6 @@ {{> 'systems/DSA_4-1/templates/ui/partial-die.hbs' }}
- - {{this.wert}} - - - {{this.name}} - + {{this.wert}} + {{this.name}}