From 85fe10114ee08a1ac42052b991516e7b0328d6fc Mon Sep 17 00:00:00 2001 From: Gambit Date: Sun, 18 Aug 2024 20:03:52 -0400 Subject: [PATCH] 0.5.25 --- .github/workflows/main.yml | 7 +- .../{001097.log => 001121.log} | 0 packs/gps-3rd-party-features/CURRENT | 2 +- packs/gps-3rd-party-features/LOG | 16 +- packs/gps-3rd-party-features/LOG.old | 16 +- .../{MANIFEST-001095 => MANIFEST-001119} | Bin 226 -> 226 bytes .../{001099.log => 001123.log} | 0 packs/gps-3rd-party-items/CURRENT | 2 +- packs/gps-3rd-party-items/LOG | 16 +- packs/gps-3rd-party-items/LOG.old | 16 +- .../{MANIFEST-001097 => MANIFEST-001121} | Bin 283 -> 283 bytes .../{001108.log => 001134.log} | 0 .../{000841.ldb => 001136.ldb} | Bin 63226 -> 63501 bytes packs/gps-3rd-party-spells/CURRENT | 2 +- packs/gps-3rd-party-spells/LOG | 23 ++- packs/gps-3rd-party-spells/LOG.old | 23 ++- packs/gps-3rd-party-spells/MANIFEST-001106 | Bin 260 -> 0 bytes packs/gps-3rd-party-spells/MANIFEST-001132 | Bin 0 -> 537 bytes packs/gps-actors/{001565.log => 001589.log} | 0 packs/gps-actors/CURRENT | 2 +- packs/gps-actors/LOG | 16 +- packs/gps-actors/LOG.old | 16 +- .../{MANIFEST-001563 => MANIFEST-001587} | Bin 272 -> 272 bytes .../{002761.ldb => 002786.ldb} | Bin 101279 -> 101249 bytes .../{002768.log => 002793.log} | 0 packs/gps-class-features/CURRENT | 2 +- packs/gps-class-features/LOG | 16 +- packs/gps-class-features/LOG.old | 16 +- packs/gps-class-features/MANIFEST-002766 | Bin 287 -> 0 bytes packs/gps-class-features/MANIFEST-002791 | Bin 0 -> 262 bytes .../{002826.log => 002850.log} | 0 packs/gps-generic-features/CURRENT | 2 +- packs/gps-generic-features/LOG | 16 +- packs/gps-generic-features/LOG.old | 16 +- .../{MANIFEST-002824 => MANIFEST-002848} | Bin 260 -> 260 bytes .../{002730.log => 002754.log} | 0 packs/gps-homebrew-features/CURRENT | 2 +- packs/gps-homebrew-features/LOG | 16 +- packs/gps-homebrew-features/LOG.old | 16 +- .../{MANIFEST-002728 => MANIFEST-002752} | Bin 262 -> 262 bytes .../{002735.log => 002759.log} | 0 packs/gps-homebrew-items/CURRENT | 2 +- packs/gps-homebrew-items/LOG | 16 +- packs/gps-homebrew-items/LOG.old | 16 +- .../{MANIFEST-002733 => MANIFEST-002757} | Bin 235 -> 235 bytes .../{002399.log => 002423.log} | 0 packs/gps-homebrew-spells/CURRENT | 2 +- packs/gps-homebrew-spells/LOG | 16 +- packs/gps-homebrew-spells/LOG.old | 16 +- .../{MANIFEST-002397 => MANIFEST-002421} | Bin 225 -> 225 bytes packs/gps-items/{002731.log => 002755.log} | 0 packs/gps-items/CURRENT | 2 +- packs/gps-items/LOG | 16 +- packs/gps-items/LOG.old | 16 +- .../{MANIFEST-002729 => MANIFEST-002753} | Bin 201 -> 201 bytes .../{002729.log => 002754.log} | 0 packs/gps-monster-features/CURRENT | 2 +- packs/gps-monster-features/LOG | 23 +-- packs/gps-monster-features/LOG.old | 16 +- packs/gps-monster-features/MANIFEST-002727 | Bin 565 -> 0 bytes packs/gps-monster-features/MANIFEST-002752 | Bin 0 -> 287 bytes .../{000434.log => 000458.log} | 0 packs/gps-race-features/CURRENT | 2 +- packs/gps-race-features/LOG | 16 +- packs/gps-race-features/LOG.old | 16 +- .../{MANIFEST-000432 => MANIFEST-000456} | Bin 224 -> 224 bytes packs/gps-spells/{002804.log => 002829.log} | 0 packs/gps-spells/{002781.ldb => 002831.ldb} | Bin 150041 -> 154364 bytes packs/gps-spells/CURRENT | 2 +- packs/gps-spells/LOG | 23 ++- packs/gps-spells/LOG.old | 16 +- packs/gps-spells/MANIFEST-002802 | Bin 260 -> 0 bytes packs/gps-spells/MANIFEST-002827 | Bin 0 -> 461 bytes scripts/helpers.js | 5 +- scripts/macros/opportunityAttack.js | 188 +++++++++++------- scripts/module.js | 50 ++--- templates/generalSettingsMenu.html | 2 +- 77 files changed, 383 insertions(+), 339 deletions(-) rename packs/gps-3rd-party-features/{001097.log => 001121.log} (100%) rename packs/gps-3rd-party-features/{MANIFEST-001095 => MANIFEST-001119} (57%) rename packs/gps-3rd-party-items/{001099.log => 001123.log} (100%) rename packs/gps-3rd-party-items/{MANIFEST-001097 => MANIFEST-001121} (67%) rename packs/gps-3rd-party-spells/{001108.log => 001134.log} (100%) rename packs/gps-3rd-party-spells/{000841.ldb => 001136.ldb} (74%) delete mode 100644 packs/gps-3rd-party-spells/MANIFEST-001106 create mode 100644 packs/gps-3rd-party-spells/MANIFEST-001132 rename packs/gps-actors/{001565.log => 001589.log} (100%) rename packs/gps-actors/{MANIFEST-001563 => MANIFEST-001587} (70%) rename packs/gps-class-features/{002761.ldb => 002786.ldb} (96%) rename packs/gps-class-features/{002768.log => 002793.log} (100%) delete mode 100644 packs/gps-class-features/MANIFEST-002766 create mode 100644 packs/gps-class-features/MANIFEST-002791 rename packs/gps-generic-features/{002826.log => 002850.log} (100%) rename packs/gps-generic-features/{MANIFEST-002824 => MANIFEST-002848} (75%) rename packs/gps-homebrew-features/{002730.log => 002754.log} (100%) rename packs/gps-homebrew-features/{MANIFEST-002728 => MANIFEST-002752} (73%) rename packs/gps-homebrew-items/{002735.log => 002759.log} (100%) rename packs/gps-homebrew-items/{MANIFEST-002733 => MANIFEST-002757} (81%) rename packs/gps-homebrew-spells/{002399.log => 002423.log} (100%) rename packs/gps-homebrew-spells/{MANIFEST-002397 => MANIFEST-002421} (56%) rename packs/gps-items/{002731.log => 002755.log} (100%) rename packs/gps-items/{MANIFEST-002729 => MANIFEST-002753} (63%) rename packs/gps-monster-features/{002729.log => 002754.log} (100%) delete mode 100644 packs/gps-monster-features/MANIFEST-002727 create mode 100644 packs/gps-monster-features/MANIFEST-002752 rename packs/gps-race-features/{000434.log => 000458.log} (100%) rename packs/gps-race-features/{MANIFEST-000432 => MANIFEST-000456} (57%) rename packs/gps-spells/{002804.log => 002829.log} (100%) rename packs/gps-spells/{002781.ldb => 002831.ldb} (91%) delete mode 100644 packs/gps-spells/MANIFEST-002802 create mode 100644 packs/gps-spells/MANIFEST-002827 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 27c3d9f6..f018c315 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,8 +20,11 @@ jobs: run: | echo "- General: Updated manifest link to not prompt a new url each update part 2.x." >> release_notes.txt echo "- Additions:" >> release_notes.txt - echo " - Foresight: Automates the 9th level spell Foresight" >> release_notes.txt - echo " - Thought Shield: Automates the Warlocks Thought Shield feature" >> release_notes.txt + echo " - Electric Eels: V12 Compatability" >> release_notes.txt + echo " - Dimension Door: Automates the Dimension Door spell, allowing selection of an ally within 5 feet to teleport as well" >> release_notes.txt + echo "- Bugfixes:" >> release_notes.txt + echo " - Identify Restriction: Identify Restriction message fixed. Text is saved to the form field properly on save, and no longer requires a reload to apply." >> release_notes.txt + echo " - Opportunity Attack: Fix issue causing dialog popup on token entry in some cases. Add proper teleport handling to prevent OA when a teleport occurs, dependent on proper teleport implementation in an upcoming Sequencer release" >> release_notes.txt echo "release-notes-github<> $GITHUB_ENV cat release_notes.txt >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV diff --git a/packs/gps-3rd-party-features/001097.log b/packs/gps-3rd-party-features/001121.log similarity index 100% rename from packs/gps-3rd-party-features/001097.log rename to packs/gps-3rd-party-features/001121.log diff --git a/packs/gps-3rd-party-features/CURRENT b/packs/gps-3rd-party-features/CURRENT index 46e082c0..21746257 100644 --- a/packs/gps-3rd-party-features/CURRENT +++ b/packs/gps-3rd-party-features/CURRENT @@ -1 +1 @@ -MANIFEST-001095 +MANIFEST-001119 diff --git a/packs/gps-3rd-party-features/LOG b/packs/gps-3rd-party-features/LOG index 186bfc7b..71d01963 100644 --- a/packs/gps-3rd-party-features/LOG +++ b/packs/gps-3rd-party-features/LOG @@ -1,8 +1,8 @@ -2024/08/14-21:37:52.489 2da70 Recovering log #1093 -2024/08/14-21:37:52.494 2da70 Delete type=0 #1093 -2024/08/14-21:37:52.494 2da70 Delete type=3 #1091 -2024/08/15-00:50:53.864 34e44 Level-0 table #1098: started -2024/08/15-00:50:53.865 34e44 Level-0 table #1098: 0 bytes OK -2024/08/15-00:50:53.868 34e44 Delete type=0 #1096 -2024/08/15-00:50:53.875 34e44 Manual compaction at level-0 from '!folders!4Ecsdk7k1FvMs9OF' @ 72057594037927935 : 1 .. '!items.effects!G2IDv711EWrOF7ef.kE7T0D7E6CnMvjvr' @ 0 : 0; will stop at (end) -2024/08/15-00:50:53.875 34e44 Manual compaction at level-1 from '!folders!4Ecsdk7k1FvMs9OF' @ 72057594037927935 : 1 .. '!items.effects!G2IDv711EWrOF7ef.kE7T0D7E6CnMvjvr' @ 0 : 0; will stop at (end) +2024/08/18-16:57:04.707 87024 Recovering log #1117 +2024/08/18-16:57:04.711 87024 Delete type=0 #1117 +2024/08/18-16:57:04.711 87024 Delete type=3 #1115 +2024/08/18-20:03:04.131 a8ba4 Level-0 table #1122: started +2024/08/18-20:03:04.131 a8ba4 Level-0 table #1122: 0 bytes OK +2024/08/18-20:03:04.133 a8ba4 Delete type=0 #1120 +2024/08/18-20:03:04.136 a8ba4 Manual compaction at level-0 from '!folders!4Ecsdk7k1FvMs9OF' @ 72057594037927935 : 1 .. '!items.effects!G2IDv711EWrOF7ef.kE7T0D7E6CnMvjvr' @ 0 : 0; will stop at (end) +2024/08/18-20:03:04.136 a8ba4 Manual compaction at level-1 from '!folders!4Ecsdk7k1FvMs9OF' @ 72057594037927935 : 1 .. '!items.effects!G2IDv711EWrOF7ef.kE7T0D7E6CnMvjvr' @ 0 : 0; will stop at (end) diff --git a/packs/gps-3rd-party-features/LOG.old b/packs/gps-3rd-party-features/LOG.old index 1324bbef..571f818f 100644 --- a/packs/gps-3rd-party-features/LOG.old +++ b/packs/gps-3rd-party-features/LOG.old @@ -1,8 +1,8 @@ -2024/08/14-18:26:28.758 7c4 Recovering log #1089 -2024/08/14-18:26:28.762 7c4 Delete type=0 #1089 -2024/08/14-18:26:28.762 7c4 Delete type=3 #1087 -2024/08/14-18:53:31.131 34e44 Level-0 table #1094: started -2024/08/14-18:53:31.131 34e44 Level-0 table #1094: 0 bytes OK -2024/08/14-18:53:31.133 34e44 Delete type=0 #1092 -2024/08/14-18:53:31.136 34e44 Manual compaction at level-0 from '!folders!4Ecsdk7k1FvMs9OF' @ 72057594037927935 : 1 .. '!items.effects!G2IDv711EWrOF7ef.kE7T0D7E6CnMvjvr' @ 0 : 0; will stop at (end) -2024/08/14-18:53:31.136 34e44 Manual compaction at level-1 from '!folders!4Ecsdk7k1FvMs9OF' @ 72057594037927935 : 1 .. '!items.effects!G2IDv711EWrOF7ef.kE7T0D7E6CnMvjvr' @ 0 : 0; will stop at (end) +2024/08/17-22:44:29.983 87020 Recovering log #1113 +2024/08/17-22:44:29.987 87020 Delete type=0 #1113 +2024/08/17-22:44:29.987 87020 Delete type=3 #1111 +2024/08/18-16:55:05.194 a8ba4 Level-0 table #1118: started +2024/08/18-16:55:05.194 a8ba4 Level-0 table #1118: 0 bytes OK +2024/08/18-16:55:05.196 a8ba4 Delete type=0 #1116 +2024/08/18-16:55:05.199 a8ba4 Manual compaction at level-0 from '!folders!4Ecsdk7k1FvMs9OF' @ 72057594037927935 : 1 .. '!items.effects!G2IDv711EWrOF7ef.kE7T0D7E6CnMvjvr' @ 0 : 0; will stop at (end) +2024/08/18-16:55:05.199 a8ba4 Manual compaction at level-1 from '!folders!4Ecsdk7k1FvMs9OF' @ 72057594037927935 : 1 .. '!items.effects!G2IDv711EWrOF7ef.kE7T0D7E6CnMvjvr' @ 0 : 0; will stop at (end) diff --git a/packs/gps-3rd-party-features/MANIFEST-001095 b/packs/gps-3rd-party-features/MANIFEST-001119 similarity index 57% rename from packs/gps-3rd-party-features/MANIFEST-001095 rename to packs/gps-3rd-party-features/MANIFEST-001119 index 5634a89559b29e75d501be94a053931c750a190c..ba36e44cc28cbc5cabeab7ad57c0880b6a774006 100644 GIT binary patch delta 41 scmaFF_=s`B0i_nZ!TqW+!weQ7@1CSa56BT=3q(r<5KSd5;zSKI13a2006HF=Kufz diff --git a/packs/gps-3rd-party-spells/001108.log b/packs/gps-3rd-party-spells/001134.log similarity index 100% rename from packs/gps-3rd-party-spells/001108.log rename to packs/gps-3rd-party-spells/001134.log diff --git a/packs/gps-3rd-party-spells/000841.ldb b/packs/gps-3rd-party-spells/001136.ldb similarity index 74% rename from packs/gps-3rd-party-spells/000841.ldb rename to packs/gps-3rd-party-spells/001136.ldb index 8d0b3fc76f7712df5f401517f0dce30624ee25d6..37a68821d9973579194c3f058a38061112e6e25c 100644 GIT binary patch delta 7586 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 Ri<-dSE^5x_Ui+)-e*k7x`kDX$ delta 7307 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 K=JMpK*Z&7)18Lg; diff --git a/packs/gps-3rd-party-spells/CURRENT b/packs/gps-3rd-party-spells/CURRENT index 94d3a06a..ad21d285 100644 --- a/packs/gps-3rd-party-spells/CURRENT +++ b/packs/gps-3rd-party-spells/CURRENT @@ -1 +1 @@ -MANIFEST-001106 +MANIFEST-001132 diff --git a/packs/gps-3rd-party-spells/LOG b/packs/gps-3rd-party-spells/LOG index 5d826519..d9220524 100644 --- a/packs/gps-3rd-party-spells/LOG +++ b/packs/gps-3rd-party-spells/LOG @@ -1,8 +1,15 @@ -2024/08/14-21:37:52.559 30a54 Recovering log #1104 -2024/08/14-21:37:52.564 30a54 Delete type=0 #1104 -2024/08/14-21:37:52.564 30a54 Delete type=3 #1102 -2024/08/15-00:50:53.911 34e44 Level-0 table #1109: started -2024/08/15-00:50:53.911 34e44 Level-0 table #1109: 0 bytes OK -2024/08/15-00:50:53.914 34e44 Delete type=0 #1107 -2024/08/15-00:50:53.916 34e44 Manual compaction at level-0 from '!items!2YNbYocBRdEDgO4Q' @ 72057594037927935 : 1 .. '!items.effects!qBnx0VU4WBSLrGeK.zhzkM83QyjS4pBGp' @ 0 : 0; will stop at (end) -2024/08/15-00:50:53.917 34e44 Manual compaction at level-1 from '!items!2YNbYocBRdEDgO4Q' @ 72057594037927935 : 1 .. '!items.effects!qBnx0VU4WBSLrGeK.zhzkM83QyjS4pBGp' @ 0 : 0; will stop at (end) +2024/08/18-16:57:04.757 8701c Recovering log #1129 +2024/08/18-16:57:04.761 8701c Delete type=0 #1129 +2024/08/18-16:57:04.761 8701c Delete type=3 #1127 +2024/08/18-20:03:04.152 a8ba4 Level-0 table #1135: started +2024/08/18-20:03:04.155 a8ba4 Level-0 table #1135: 20327 bytes OK +2024/08/18-20:03:04.157 a8ba4 Delete type=0 #1133 +2024/08/18-20:03:04.161 a8ba4 Manual compaction at level-0 from '!items!2YNbYocBRdEDgO4Q' @ 72057594037927935 : 1 .. '!items.effects!qBnx0VU4WBSLrGeK.zhzkM83QyjS4pBGp' @ 0 : 0; will stop at (end) +2024/08/18-20:03:04.161 a8ba4 Manual compaction at level-1 from '!items!2YNbYocBRdEDgO4Q' @ 72057594037927935 : 1 .. '!items.effects!qBnx0VU4WBSLrGeK.zhzkM83QyjS4pBGp' @ 0 : 0; will stop at '!items.effects!HbzrINiUD1Xrd7h5.1aZUiRZIU4tPRa8I' @ 359 : 1 +2024/08/18-20:03:04.161 a8ba4 Compacting 1@1 + 1@2 files +2024/08/18-20:03:04.165 a8ba4 Generated table #1136@1: 28 keys, 63501 bytes +2024/08/18-20:03:04.165 a8ba4 Compacted 1@1 + 1@2 files => 63501 bytes +2024/08/18-20:03:04.167 a8ba4 compacted to: files[ 0 0 1 0 0 0 0 ] +2024/08/18-20:03:04.167 a8ba4 Delete type=2 #1131 +2024/08/18-20:03:04.167 a8ba4 Delete type=2 #1135 +2024/08/18-20:03:04.170 a8ba4 Manual compaction at level-1 from '!items.effects!HbzrINiUD1Xrd7h5.1aZUiRZIU4tPRa8I' @ 359 : 1 .. '!items.effects!qBnx0VU4WBSLrGeK.zhzkM83QyjS4pBGp' @ 0 : 0; will stop at (end) diff --git a/packs/gps-3rd-party-spells/LOG.old b/packs/gps-3rd-party-spells/LOG.old index 06ed1862..65467a6d 100644 --- a/packs/gps-3rd-party-spells/LOG.old +++ b/packs/gps-3rd-party-spells/LOG.old @@ -1,8 +1,15 @@ -2024/08/14-18:26:28.810 2da70 Recovering log #1100 -2024/08/14-18:26:28.814 2da70 Delete type=0 #1100 -2024/08/14-18:26:28.815 2da70 Delete type=3 #1098 -2024/08/14-18:53:31.155 34e44 Level-0 table #1105: started -2024/08/14-18:53:31.155 34e44 Level-0 table #1105: 0 bytes OK -2024/08/14-18:53:31.157 34e44 Delete type=0 #1103 -2024/08/14-18:53:31.162 34e44 Manual compaction at level-0 from '!items!2YNbYocBRdEDgO4Q' @ 72057594037927935 : 1 .. '!items.effects!qBnx0VU4WBSLrGeK.zhzkM83QyjS4pBGp' @ 0 : 0; will stop at (end) -2024/08/14-18:53:31.162 34e44 Manual compaction at level-1 from '!items!2YNbYocBRdEDgO4Q' @ 72057594037927935 : 1 .. '!items.effects!qBnx0VU4WBSLrGeK.zhzkM83QyjS4pBGp' @ 0 : 0; will stop at (end) +2024/08/17-22:44:30.038 87034 Recovering log #1125 +2024/08/17-22:44:30.042 87034 Delete type=0 #1125 +2024/08/17-22:44:30.042 87034 Delete type=3 #1123 +2024/08/18-16:55:05.219 a8ba4 Level-0 table #1130: started +2024/08/18-16:55:05.221 a8ba4 Level-0 table #1130: 10803 bytes OK +2024/08/18-16:55:05.223 a8ba4 Delete type=0 #1128 +2024/08/18-16:55:05.223 a8ba4 Manual compaction at level-0 from '!items!2YNbYocBRdEDgO4Q' @ 72057594037927935 : 1 .. '!items.effects!qBnx0VU4WBSLrGeK.zhzkM83QyjS4pBGp' @ 0 : 0; will stop at (end) +2024/08/18-16:55:05.223 a8ba4 Manual compaction at level-1 from '!items!2YNbYocBRdEDgO4Q' @ 72057594037927935 : 1 .. '!items.effects!qBnx0VU4WBSLrGeK.zhzkM83QyjS4pBGp' @ 0 : 0; will stop at '!items.effects!AXpxQqPCDFZilrmb.ndzAaBnWczGEKgP1' @ 356 : 0 +2024/08/18-16:55:05.223 a8ba4 Compacting 1@1 + 1@2 files +2024/08/18-16:55:05.226 a8ba4 Generated table #1131@1: 28 keys, 63478 bytes +2024/08/18-16:55:05.226 a8ba4 Compacted 1@1 + 1@2 files => 63478 bytes +2024/08/18-16:55:05.228 a8ba4 compacted to: files[ 0 0 1 0 0 0 0 ] +2024/08/18-16:55:05.228 a8ba4 Delete type=2 #1118 +2024/08/18-16:55:05.228 a8ba4 Delete type=2 #1130 +2024/08/18-16:55:05.232 a8ba4 Manual compaction at level-1 from '!items.effects!AXpxQqPCDFZilrmb.ndzAaBnWczGEKgP1' @ 356 : 0 .. '!items.effects!qBnx0VU4WBSLrGeK.zhzkM83QyjS4pBGp' @ 0 : 0; will stop at (end) diff --git a/packs/gps-3rd-party-spells/MANIFEST-001106 b/packs/gps-3rd-party-spells/MANIFEST-001106 deleted file mode 100644 index d109c7223da061db858635d0a848989cd37680e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmey+rqg(nfss)vC$%g!CnZVGsj?)sJhM2}IX|}`u_&=5zlfDVUNN&IHMdx?ILOG; z(bw2B(6P`g*Q6qpF^>TZSQ#xKD)ds*(o&O4FjeXmTV$AfS`--P<@%LXI!9(PxHE#a zvNN4z`}LL?W`j|rUs7a#vQtost4q4SNg(5Vhz;oG7dqut7=(qIggXWM6uGB*>s4h` zW&2tf2UcbUn-n;?7cj1YX!NLT4dZ5DWV+13$-sPtgXKQctY+pNAdxE|k!v6k09dR` AZvX%Q diff --git a/packs/gps-3rd-party-spells/MANIFEST-001132 b/packs/gps-3rd-party-spells/MANIFEST-001132 new file mode 100644 index 0000000000000000000000000000000000000000..49355f007a853f5321fdd96edd569eba77076892 GIT binary patch literal 537 zcmXTk?7ZkE10$nUPHI_dPD+xVQ)NkNd1i5{bAE0?Vo_pAei18!ykcfaYHqP&agdRx zqpz`Npktv~u1Q5GV;%z-urgXeROqFqrKKj96e~JL6jTHj1~|L8MP=p`s4h`W&2tf2UcbUn-n;?7cj1YXv}E~TEfl1$n=(jlY#ji2g@@i z`N^**WCKOsfkZxVu)JqtXME4`d>$jr4IW8VMV@|{p)Q6IMJeVPri}Rzr=q(7U7em` zVpM2mP?Tq=Nl8FZqJ<}8Iz;30QxCe=!EF2pvJo@Dh&GH3=vX#jps_Q3;OPB8yMO}# DQ1YJ+ literal 0 HcmV?d00001 diff --git a/packs/gps-actors/001565.log b/packs/gps-actors/001589.log similarity index 100% rename from packs/gps-actors/001565.log rename to packs/gps-actors/001589.log diff --git a/packs/gps-actors/CURRENT b/packs/gps-actors/CURRENT index bcbce89b..e710f22b 100644 --- a/packs/gps-actors/CURRENT +++ b/packs/gps-actors/CURRENT @@ -1 +1 @@ -MANIFEST-001563 +MANIFEST-001587 diff --git a/packs/gps-actors/LOG b/packs/gps-actors/LOG index aafd00f3..9d6d085f 100644 --- a/packs/gps-actors/LOG +++ b/packs/gps-actors/LOG @@ -1,8 +1,8 @@ -2024/08/14-21:37:52.544 2da70 Recovering log #1561 -2024/08/14-21:37:52.549 2da70 Delete type=0 #1561 -2024/08/14-21:37:52.549 2da70 Delete type=3 #1559 -2024/08/15-00:50:53.907 34e44 Level-0 table #1566: started -2024/08/15-00:50:53.908 34e44 Level-0 table #1566: 0 bytes OK -2024/08/15-00:50:53.911 34e44 Delete type=0 #1564 -2024/08/15-00:50:53.916 34e44 Manual compaction at level-0 from '!actors!2Q055cZ4Q4eMWCQT' @ 72057594037927935 : 1 .. '!actors.items.effects!2Q055cZ4Q4eMWCQT.icorevoMIkBVXL37.jFKhp34XZd32ryYT' @ 0 : 0; will stop at (end) -2024/08/15-00:50:53.916 34e44 Manual compaction at level-1 from '!actors!2Q055cZ4Q4eMWCQT' @ 72057594037927935 : 1 .. '!actors.items.effects!2Q055cZ4Q4eMWCQT.icorevoMIkBVXL37.jFKhp34XZd32ryYT' @ 0 : 0; will stop at (end) +2024/08/18-16:57:04.745 87024 Recovering log #1585 +2024/08/18-16:57:04.749 87024 Delete type=0 #1585 +2024/08/18-16:57:04.749 87024 Delete type=3 #1583 +2024/08/18-20:03:04.143 a8ba4 Level-0 table #1590: started +2024/08/18-20:03:04.144 a8ba4 Level-0 table #1590: 0 bytes OK +2024/08/18-20:03:04.145 a8ba4 Delete type=0 #1588 +2024/08/18-20:03:04.147 a8ba4 Manual compaction at level-0 from '!actors!2Q055cZ4Q4eMWCQT' @ 72057594037927935 : 1 .. '!actors.items.effects!2Q055cZ4Q4eMWCQT.icorevoMIkBVXL37.jFKhp34XZd32ryYT' @ 0 : 0; will stop at (end) +2024/08/18-20:03:04.148 a8ba4 Manual compaction at level-1 from '!actors!2Q055cZ4Q4eMWCQT' @ 72057594037927935 : 1 .. '!actors.items.effects!2Q055cZ4Q4eMWCQT.icorevoMIkBVXL37.jFKhp34XZd32ryYT' @ 0 : 0; will stop at (end) diff --git a/packs/gps-actors/LOG.old b/packs/gps-actors/LOG.old index 476ad54e..8b3e2e69 100644 --- a/packs/gps-actors/LOG.old +++ b/packs/gps-actors/LOG.old @@ -1,8 +1,8 @@ -2024/08/14-18:26:28.794 7c4 Recovering log #1557 -2024/08/14-18:26:28.799 7c4 Delete type=0 #1557 -2024/08/14-18:26:28.799 7c4 Delete type=3 #1555 -2024/08/14-18:53:31.147 34e44 Level-0 table #1562: started -2024/08/14-18:53:31.148 34e44 Level-0 table #1562: 0 bytes OK -2024/08/14-18:53:31.150 34e44 Delete type=0 #1560 -2024/08/14-18:53:31.150 34e44 Manual compaction at level-0 from '!actors!2Q055cZ4Q4eMWCQT' @ 72057594037927935 : 1 .. '!actors.items.effects!2Q055cZ4Q4eMWCQT.icorevoMIkBVXL37.jFKhp34XZd32ryYT' @ 0 : 0; will stop at (end) -2024/08/14-18:53:31.150 34e44 Manual compaction at level-1 from '!actors!2Q055cZ4Q4eMWCQT' @ 72057594037927935 : 1 .. '!actors.items.effects!2Q055cZ4Q4eMWCQT.icorevoMIkBVXL37.jFKhp34XZd32ryYT' @ 0 : 0; will stop at (end) +2024/08/17-22:44:30.024 87020 Recovering log #1581 +2024/08/17-22:44:30.029 87020 Delete type=0 #1581 +2024/08/17-22:44:30.029 87020 Delete type=3 #1579 +2024/08/18-16:55:05.212 a8ba4 Level-0 table #1586: started +2024/08/18-16:55:05.212 a8ba4 Level-0 table #1586: 0 bytes OK +2024/08/18-16:55:05.215 a8ba4 Delete type=0 #1584 +2024/08/18-16:55:05.223 a8ba4 Manual compaction at level-0 from '!actors!2Q055cZ4Q4eMWCQT' @ 72057594037927935 : 1 .. '!actors.items.effects!2Q055cZ4Q4eMWCQT.icorevoMIkBVXL37.jFKhp34XZd32ryYT' @ 0 : 0; will stop at (end) +2024/08/18-16:55:05.223 a8ba4 Manual compaction at level-1 from '!actors!2Q055cZ4Q4eMWCQT' @ 72057594037927935 : 1 .. '!actors.items.effects!2Q055cZ4Q4eMWCQT.icorevoMIkBVXL37.jFKhp34XZd32ryYT' @ 0 : 0; will stop at (end) diff --git a/packs/gps-actors/MANIFEST-001563 b/packs/gps-actors/MANIFEST-001587 similarity index 70% rename from packs/gps-actors/MANIFEST-001563 rename to packs/gps-actors/MANIFEST-001587 index 3d531b99b3a43f3249b09b848ec3613384ce786b..57e70d36c613509d93d63fae7709e572151f68ea 100644 GIT binary patch delta 41 scmbQhG=XWtJ0*ecvy-_P7@4;4a56A&Y64(k7*bWo`0P^q&#{d8T delta 41 scmbQhG=XWtJ0)&I*9a~KMy5GDoD9r!d050Ec3)-y3Cslv%m)ep0M330j{pDw diff --git a/packs/gps-class-features/002761.ldb b/packs/gps-class-features/002786.ldb similarity index 96% rename from packs/gps-class-features/002761.ldb rename to packs/gps-class-features/002786.ldb index 05ed25f743b006a57d4e227d1a5007278cbdd36a..8af14e757eb962042d3fb1ae077fb1adfcec618e 100644 GIT binary patch delta 1149 zcmXw0Z%h++82FSmgjU$ zP}0)!eWofm!T~lZr-iPRm~0A=i4DRkrGy^w8W@fJz6tOsX@_-j7C?CV6tF{_=hEn@ z6P|%>PM%X#MMPhceICfnyTDH7ybIRE6PO(Wp8VA1Y}W-%Zzt!;u0xr9jOQq6Jl7Ug zk~|k%%`l)d<^ruRviz+!5SA*Sx7Z2qUgqORK*#|a6_9axLc;BUZ|rkhJzG6dvdxLc z@K9_+StVg8`h=Xz#pV82f$lp}Uvo z&@&79z5@?*`q4#16o7P7t}QX7DZF>oVZOOCj}0l;7d9{FHswHwH9 zKu%D^D>CAs%L&ob(C87#GCOgpF=1p|V6E+2yux8?N)CG(8g2kT+HdT$KzehBBXR-n zxNayGSi0#a!uZ$%-`up6KYRI3;rJC-;cMC%4vzV_BWQ%7wlKJ)rpRW-jOetg>0G$d zyTHJ$cv=^boDW8sXd!u)wk4HhwTLdc$af3z4pBonR+PT))lY2Cb6HPax%EwM(g6&BT$Gi;06eN5RSo+yUS z-8(ZqjXtEP&sgxb_zl>TiGaV87R~g^S5~g2Ek@mC%@lI5vx4NBJ$e>D`~!Q-W$(qt zd}Of;v~h77en)q!iX?0O)IA1$!3OS^tyiisK~BXqSyYm#6WmRP6^3-RT^JT4Zh&4C z;QRDmG{X?je5xch3rg~UC=96HRmP|%AXBkeMC`{Eb%&n@_49L|c>W5TP662LVc=Y*FtB^^gFP>D_! zgr_lI=7D1%Q*Z+hPgOr&^dtCSgq-{+`)bzz0+=}Sx_XhAgk>=2XOEi(vYob_GwP=x z3+If3Q?MxiuYa+>^V|~Xw@dW1^QNb6kV|X_oZUq~GG?b>UFDy5Our#OH@*cxv;C;; z;bYT96!U=Ug!TC!rpb6_Dqz=Mnl2E)Y|5LrT{PCGU_Ze(oF2M4lU?+n3#r? Uac&xJ&H>=SKPRV4hj#t)9|4a=zyJUM delta 1177 zcmXw$e{2(V7{=f4xQ@H^`t9}FUavp79#A$crCXsuVZ{|z#u$n)H^ojk)@v!WcjJ0p z24tCFG`ax`5IiF&OrxL)AQD0JFJcHk5=cmtm?#1vBu-->Vt~XjEr0kVZ{8<)l26_@ z&km#Zuu=Qvsi(rn=>eGXxHVYN2--Bd!J2^TE&+;XA$?PG*(2tkJZ z&E;65OPaohonSYttpbRQ$ep$_tx7f{#`DOApeOBubk^Y(QR zw?k5aDrUAFErv|;teX~Q39amh4t#}-r=KNhJBrJ**(X-AP|Bx5z^GawUr5vg9(uFR z{Q@!AbNA%52I(`08gwIboqL zoMeBhqcn0bquj}Y5;|x1oU}V+sdr;W#0i?cZYLXiBKRJ*_@UflWjZUGk_lb1Q{RkF z5EbPsAn#-vf`4<@$njTNE)YUyKYAG;VBdf*ClxE+buU|3v-FM7BE51CVo>;Vsj`Le3%Vj>y>FPcS`bqSyG!gkNT z0Q(EiWR>h(8IQZzPXlC^tl@5&7ZYME5{uxP0NtxHbr8wD4xu}bpW!s%fS`B z5XRq=WFc3GJHSzt%w>J0O7V~q-F~B;MpNchJiZRKceAoW-Wo)XWLQf>z=< zFTQWwrjcW&$?KCUy1GW{ms4)Q%>nX7eIx$WWBD_z=5lS4lI@nIJ~fo~8UYLPG!TO2 zB~nqBM0jB1*coGVHJ>jYpXPLi3wfpbYNx78#U(gzNEYOtv&7#fw)Jm$wPSN!ip5rL ziEoN3Vh_IM3r>7{)3asjB60o#tzXlZZR$&v*KTX<#A&~A!h&WjY>LjEH$Oh7X-+hp zdVNxQ5g|R=F%`t*1yTBI@6@h!1Vr&we`16PR|^}2s?f7p^xOy3Sq7u4+t{OfYQLED ze*jeU%I>rG-$Bz+-4nshL&3%~Cyc-_@}bMd!eKPUJNlG(>~!a#WXtg*`%QPU`wl)dy=MW+Vi|lBMh7jIkSgYnyiOtG!7W(g@;>z7aH;?EdGCk!h7>KmP}XYD=sD diff --git a/packs/gps-class-features/002768.log b/packs/gps-class-features/002793.log similarity index 100% rename from packs/gps-class-features/002768.log rename to packs/gps-class-features/002793.log diff --git a/packs/gps-class-features/CURRENT b/packs/gps-class-features/CURRENT index e2ec74ee..f37eaba4 100644 --- a/packs/gps-class-features/CURRENT +++ b/packs/gps-class-features/CURRENT @@ -1 +1 @@ -MANIFEST-002766 +MANIFEST-002791 diff --git a/packs/gps-class-features/LOG b/packs/gps-class-features/LOG index 926b650e..091a190a 100644 --- a/packs/gps-class-features/LOG +++ b/packs/gps-class-features/LOG @@ -1,8 +1,8 @@ -2024/08/14-21:37:52.431 30d58 Recovering log #2764 -2024/08/14-21:37:52.438 30d58 Delete type=0 #2764 -2024/08/14-21:37:52.439 30d58 Delete type=3 #2762 -2024/08/15-00:50:53.862 34e44 Level-0 table #2769: started -2024/08/15-00:50:53.862 34e44 Level-0 table #2769: 0 bytes OK -2024/08/15-00:50:53.864 34e44 Delete type=0 #2767 -2024/08/15-00:50:53.875 34e44 Manual compaction at level-0 from '!folders!89rvrtGjpBsZz1Tr' @ 72057594037927935 : 1 .. '!items.effects!ugNmjDFbPNnpG0CG.Z6aK5JHacSpklffP' @ 0 : 0; will stop at (end) -2024/08/15-00:50:53.875 34e44 Manual compaction at level-1 from '!folders!89rvrtGjpBsZz1Tr' @ 72057594037927935 : 1 .. '!items.effects!ugNmjDFbPNnpG0CG.Z6aK5JHacSpklffP' @ 0 : 0; will stop at (end) +2024/08/18-16:57:04.695 87034 Recovering log #2789 +2024/08/18-16:57:04.699 87034 Delete type=0 #2789 +2024/08/18-16:57:04.699 87034 Delete type=3 #2787 +2024/08/18-20:03:04.117 a8ba4 Level-0 table #2794: started +2024/08/18-20:03:04.117 a8ba4 Level-0 table #2794: 0 bytes OK +2024/08/18-20:03:04.119 a8ba4 Delete type=0 #2792 +2024/08/18-20:03:04.122 a8ba4 Manual compaction at level-0 from '!folders!89rvrtGjpBsZz1Tr' @ 72057594037927935 : 1 .. '!items.effects!ugNmjDFbPNnpG0CG.Z6aK5JHacSpklffP' @ 0 : 0; will stop at (end) +2024/08/18-20:03:04.128 a8ba4 Manual compaction at level-1 from '!folders!89rvrtGjpBsZz1Tr' @ 72057594037927935 : 1 .. '!items.effects!ugNmjDFbPNnpG0CG.Z6aK5JHacSpklffP' @ 0 : 0; will stop at (end) diff --git a/packs/gps-class-features/LOG.old b/packs/gps-class-features/LOG.old index 940dca8b..203d8678 100644 --- a/packs/gps-class-features/LOG.old +++ b/packs/gps-class-features/LOG.old @@ -1,8 +1,8 @@ -2024/08/14-18:26:28.747 30d58 Recovering log #2758 -2024/08/14-18:26:28.750 30d58 Delete type=0 #2758 -2024/08/14-18:26:28.750 30d58 Delete type=3 #2755 -2024/08/14-18:53:31.109 34e44 Level-0 table #2765: started -2024/08/14-18:53:31.110 34e44 Level-0 table #2765: 0 bytes OK -2024/08/14-18:53:31.113 34e44 Delete type=0 #2763 -2024/08/14-18:53:31.123 34e44 Manual compaction at level-0 from '!folders!89rvrtGjpBsZz1Tr' @ 72057594037927935 : 1 .. '!items.effects!ugNmjDFbPNnpG0CG.Z6aK5JHacSpklffP' @ 0 : 0; will stop at (end) -2024/08/14-18:53:31.123 34e44 Manual compaction at level-1 from '!folders!89rvrtGjpBsZz1Tr' @ 72057594037927935 : 1 .. '!items.effects!ugNmjDFbPNnpG0CG.Z6aK5JHacSpklffP' @ 0 : 0; will stop at (end) +2024/08/17-22:44:29.971 87024 Recovering log #2784 +2024/08/17-22:44:29.975 87024 Delete type=0 #2784 +2024/08/17-22:44:29.975 87024 Delete type=3 #2782 +2024/08/18-16:55:05.189 a8ba4 Level-0 table #2790: started +2024/08/18-16:55:05.189 a8ba4 Level-0 table #2790: 0 bytes OK +2024/08/18-16:55:05.192 a8ba4 Delete type=0 #2788 +2024/08/18-16:55:05.199 a8ba4 Manual compaction at level-0 from '!folders!89rvrtGjpBsZz1Tr' @ 72057594037927935 : 1 .. '!items.effects!ugNmjDFbPNnpG0CG.Z6aK5JHacSpklffP' @ 0 : 0; will stop at (end) +2024/08/18-16:55:05.199 a8ba4 Manual compaction at level-1 from '!folders!89rvrtGjpBsZz1Tr' @ 72057594037927935 : 1 .. '!items.effects!ugNmjDFbPNnpG0CG.Z6aK5JHacSpklffP' @ 0 : 0; will stop at (end) diff --git a/packs/gps-class-features/MANIFEST-002766 b/packs/gps-class-features/MANIFEST-002766 deleted file mode 100644 index 99e11394d7da459d0d9a6075d9e26ad4506a8f97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmZom(@g!sz{n_-lUkOVlai$8R9TW*o>`pgoS$2eSd>_jU&P8_p_o~cnp>=wnwFND zTvDv)Rp8>B>1gg`78LAmVJms}N8nc*4~;OJRpkQ$X$!r02p00OLxq-*VfXk}+Q zDLQ{To1$V`eojhiQL&pCiF;OoQ*l(4VMq~UDcA}O$Cai7UF71H6yTRv;BMgT zt`}vN=xyrdk(eA@ke!p37QncK39Qp6?wvU|10&OUQBDTt3!*Gt>>uv>e*}qK0Et`z Gi2wj^zE%|g diff --git a/packs/gps-class-features/MANIFEST-002791 b/packs/gps-class-features/MANIFEST-002791 new file mode 100644 index 0000000000000000000000000000000000000000..d79e077d8ea36df9adf4b9b183869f06329c0a31 GIT binary patch literal 262 zcmeZjHMdwVH7zYQ zxujUptH8xM)6v|?EGXFB$S*fbFS#nHGQ%|}z|phHAT=thgt3*G0R&hX#j;b;YDPk-I zn}p$p(sZE3E^bKyet8A%2F~t!QD%wWrd}S2$-xELIcaGDj7ylnIyua532-woGQAMx YWMF(&0Qn0E&;S4c delta 43 tcmZo;YGa!4Nae-Ky;uNj1|)JEBytiY0su544A}qx delta 43 tcmaFO_?mITaTUhbDu1{c7@5|IaxyTl7iIa%Jd@Wx1|+f`B(f1C0st(Y3*G<# diff --git a/packs/gps-homebrew-spells/002399.log b/packs/gps-homebrew-spells/002423.log similarity index 100% rename from packs/gps-homebrew-spells/002399.log rename to packs/gps-homebrew-spells/002423.log diff --git a/packs/gps-homebrew-spells/CURRENT b/packs/gps-homebrew-spells/CURRENT index b2453ace..03e4b6b2 100644 --- a/packs/gps-homebrew-spells/CURRENT +++ b/packs/gps-homebrew-spells/CURRENT @@ -1 +1 @@ -MANIFEST-002397 +MANIFEST-002421 diff --git a/packs/gps-homebrew-spells/LOG b/packs/gps-homebrew-spells/LOG index c2ba8d11..383bfb35 100644 --- a/packs/gps-homebrew-spells/LOG +++ b/packs/gps-homebrew-spells/LOG @@ -1,8 +1,8 @@ -2024/08/14-21:37:52.536 30a54 Recovering log #2395 -2024/08/14-21:37:52.540 30a54 Delete type=0 #2395 -2024/08/14-21:37:52.541 30a54 Delete type=3 #2393 -2024/08/15-00:50:53.889 34e44 Level-0 table #2400: started -2024/08/15-00:50:53.889 34e44 Level-0 table #2400: 0 bytes OK -2024/08/15-00:50:53.891 34e44 Delete type=0 #2398 -2024/08/15-00:50:53.899 34e44 Manual compaction at level-0 from '!items!iVqgFn89rGOnPTK4' @ 72057594037927935 : 1 .. '!items.effects!iVqgFn89rGOnPTK4.Ka4crf96KPf0p7Uc' @ 0 : 0; will stop at (end) -2024/08/15-00:50:53.900 34e44 Manual compaction at level-1 from '!items!iVqgFn89rGOnPTK4' @ 72057594037927935 : 1 .. '!items.effects!iVqgFn89rGOnPTK4.Ka4crf96KPf0p7Uc' @ 0 : 0; will stop at (end) +2024/08/18-16:57:04.737 8701c Recovering log #2419 +2024/08/18-16:57:04.741 8701c Delete type=0 #2419 +2024/08/18-16:57:04.741 8701c Delete type=3 #2417 +2024/08/18-20:03:04.148 a8ba4 Level-0 table #2424: started +2024/08/18-20:03:04.149 a8ba4 Level-0 table #2424: 0 bytes OK +2024/08/18-20:03:04.152 a8ba4 Delete type=0 #2422 +2024/08/18-20:03:04.161 a8ba4 Manual compaction at level-0 from '!items!iVqgFn89rGOnPTK4' @ 72057594037927935 : 1 .. '!items.effects!iVqgFn89rGOnPTK4.Ka4crf96KPf0p7Uc' @ 0 : 0; will stop at (end) +2024/08/18-20:03:04.161 a8ba4 Manual compaction at level-1 from '!items!iVqgFn89rGOnPTK4' @ 72057594037927935 : 1 .. '!items.effects!iVqgFn89rGOnPTK4.Ka4crf96KPf0p7Uc' @ 0 : 0; will stop at (end) diff --git a/packs/gps-homebrew-spells/LOG.old b/packs/gps-homebrew-spells/LOG.old index e855d970..69a917ee 100644 --- a/packs/gps-homebrew-spells/LOG.old +++ b/packs/gps-homebrew-spells/LOG.old @@ -1,8 +1,8 @@ -2024/08/14-18:26:28.788 2da70 Recovering log #2391 -2024/08/14-18:26:28.792 2da70 Delete type=0 #2391 -2024/08/14-18:26:28.792 2da70 Delete type=3 #2389 -2024/08/14-18:53:31.143 34e44 Level-0 table #2396: started -2024/08/14-18:53:31.143 34e44 Level-0 table #2396: 0 bytes OK -2024/08/14-18:53:31.145 34e44 Delete type=0 #2394 -2024/08/14-18:53:31.150 34e44 Manual compaction at level-0 from '!items!iVqgFn89rGOnPTK4' @ 72057594037927935 : 1 .. '!items.effects!iVqgFn89rGOnPTK4.Ka4crf96KPf0p7Uc' @ 0 : 0; will stop at (end) -2024/08/14-18:53:31.150 34e44 Manual compaction at level-1 from '!items!iVqgFn89rGOnPTK4' @ 72057594037927935 : 1 .. '!items.effects!iVqgFn89rGOnPTK4.Ka4crf96KPf0p7Uc' @ 0 : 0; will stop at (end) +2024/08/17-22:44:30.017 87034 Recovering log #2415 +2024/08/17-22:44:30.022 87034 Delete type=0 #2415 +2024/08/17-22:44:30.022 87034 Delete type=3 #2413 +2024/08/18-16:55:05.206 a8ba4 Level-0 table #2420: started +2024/08/18-16:55:05.206 a8ba4 Level-0 table #2420: 0 bytes OK +2024/08/18-16:55:05.208 a8ba4 Delete type=0 #2418 +2024/08/18-16:55:05.210 a8ba4 Manual compaction at level-0 from '!items!iVqgFn89rGOnPTK4' @ 72057594037927935 : 1 .. '!items.effects!iVqgFn89rGOnPTK4.Ka4crf96KPf0p7Uc' @ 0 : 0; will stop at (end) +2024/08/18-16:55:05.210 a8ba4 Manual compaction at level-1 from '!items!iVqgFn89rGOnPTK4' @ 72057594037927935 : 1 .. '!items.effects!iVqgFn89rGOnPTK4.Ka4crf96KPf0p7Uc' @ 0 : 0; will stop at (end) diff --git a/packs/gps-homebrew-spells/MANIFEST-002397 b/packs/gps-homebrew-spells/MANIFEST-002421 similarity index 56% rename from packs/gps-homebrew-spells/MANIFEST-002397 rename to packs/gps-homebrew-spells/MANIFEST-002421 index 81b7dc72f0ff4ebb2ad93c8be019d356c051069d..2a3dec9b65a0b5ed580c1a2f47f0353a442b255e 100644 GIT binary patch delta 43 tcmaFJ_>ghJUX|5{lfAha7@58aaWXJ}7h>7Y7=HeaE=c4%NaQC-1OP{V4N?FA delta 43 tcmaFJ_>ghJUX^nP(jvJT7@6(~aWXL97h>7YsJ{BzJ&?$KkjO)j2mnk#4SE0o diff --git a/packs/gps-items/002731.log b/packs/gps-items/002755.log similarity index 100% rename from packs/gps-items/002731.log rename to packs/gps-items/002755.log diff --git a/packs/gps-items/CURRENT b/packs/gps-items/CURRENT index 219712b7..7b7bc065 100644 --- a/packs/gps-items/CURRENT +++ b/packs/gps-items/CURRENT @@ -1 +1 @@ -MANIFEST-002729 +MANIFEST-002753 diff --git a/packs/gps-items/LOG b/packs/gps-items/LOG index 72e6bceb..8b179173 100644 --- a/packs/gps-items/LOG +++ b/packs/gps-items/LOG @@ -1,8 +1,8 @@ -2024/08/14-21:37:52.475 7c4 Recovering log #2727 -2024/08/14-21:37:52.484 7c4 Delete type=0 #2727 -2024/08/14-21:37:52.484 7c4 Delete type=3 #2725 -2024/08/15-00:50:53.859 34e44 Level-0 table #2732: started -2024/08/15-00:50:53.859 34e44 Level-0 table #2732: 0 bytes OK -2024/08/15-00:50:53.862 34e44 Delete type=0 #2730 -2024/08/15-00:50:53.875 34e44 Manual compaction at level-0 from '!items!0qTQDQ2Cipf15JGW' @ 72057594037927935 : 1 .. '!items.effects!wds22ulA8PSTvYWP.ZrTNMwai89gqFKJo' @ 0 : 0; will stop at (end) -2024/08/15-00:50:53.875 34e44 Manual compaction at level-1 from '!items!0qTQDQ2Cipf15JGW' @ 72057594037927935 : 1 .. '!items.effects!wds22ulA8PSTvYWP.ZrTNMwai89gqFKJo' @ 0 : 0; will stop at (end) +2024/08/18-16:57:04.701 87020 Recovering log #2751 +2024/08/18-16:57:04.705 87020 Delete type=0 #2751 +2024/08/18-16:57:04.705 87020 Delete type=3 #2749 +2024/08/18-20:03:04.128 a8ba4 Level-0 table #2756: started +2024/08/18-20:03:04.128 a8ba4 Level-0 table #2756: 0 bytes OK +2024/08/18-20:03:04.131 a8ba4 Delete type=0 #2754 +2024/08/18-20:03:04.134 a8ba4 Manual compaction at level-0 from '!items!0qTQDQ2Cipf15JGW' @ 72057594037927935 : 1 .. '!items.effects!wds22ulA8PSTvYWP.ZrTNMwai89gqFKJo' @ 0 : 0; will stop at (end) +2024/08/18-20:03:04.136 a8ba4 Manual compaction at level-1 from '!items!0qTQDQ2Cipf15JGW' @ 72057594037927935 : 1 .. '!items.effects!wds22ulA8PSTvYWP.ZrTNMwai89gqFKJo' @ 0 : 0; will stop at (end) diff --git a/packs/gps-items/LOG.old b/packs/gps-items/LOG.old index 7fc581f5..94c723af 100644 --- a/packs/gps-items/LOG.old +++ b/packs/gps-items/LOG.old @@ -1,8 +1,8 @@ -2024/08/14-18:26:28.753 30a54 Recovering log #2723 -2024/08/14-18:26:28.756 30a54 Delete type=0 #2723 -2024/08/14-18:26:28.756 30a54 Delete type=3 #2721 -2024/08/14-18:53:31.124 34e44 Level-0 table #2728: started -2024/08/14-18:53:31.124 34e44 Level-0 table #2728: 0 bytes OK -2024/08/14-18:53:31.128 34e44 Delete type=0 #2726 -2024/08/14-18:53:31.136 34e44 Manual compaction at level-0 from '!items!0qTQDQ2Cipf15JGW' @ 72057594037927935 : 1 .. '!items.effects!wds22ulA8PSTvYWP.ZrTNMwai89gqFKJo' @ 0 : 0; will stop at (end) -2024/08/14-18:53:31.136 34e44 Manual compaction at level-1 from '!items!0qTQDQ2Cipf15JGW' @ 72057594037927935 : 1 .. '!items.effects!wds22ulA8PSTvYWP.ZrTNMwai89gqFKJo' @ 0 : 0; will stop at (end) +2024/08/17-22:44:29.977 8701c Recovering log #2747 +2024/08/17-22:44:29.981 8701c Delete type=0 #2747 +2024/08/17-22:44:29.981 8701c Delete type=3 #2745 +2024/08/18-16:55:05.192 a8ba4 Level-0 table #2752: started +2024/08/18-16:55:05.192 a8ba4 Level-0 table #2752: 0 bytes OK +2024/08/18-16:55:05.194 a8ba4 Delete type=0 #2750 +2024/08/18-16:55:05.199 a8ba4 Manual compaction at level-0 from '!items!0qTQDQ2Cipf15JGW' @ 72057594037927935 : 1 .. '!items.effects!wds22ulA8PSTvYWP.ZrTNMwai89gqFKJo' @ 0 : 0; will stop at (end) +2024/08/18-16:55:05.199 a8ba4 Manual compaction at level-1 from '!items!0qTQDQ2Cipf15JGW' @ 72057594037927935 : 1 .. '!items.effects!wds22ulA8PSTvYWP.ZrTNMwai89gqFKJo' @ 0 : 0; will stop at (end) diff --git a/packs/gps-items/MANIFEST-002729 b/packs/gps-items/MANIFEST-002753 similarity index 63% rename from packs/gps-items/MANIFEST-002729 rename to packs/gps-items/MANIFEST-002753 index e544f647cbf001c50d0f68bc0084d7bf43e7bf84..31c95468c5e66a28fef313b60cfac5f873038509 100644 GIT binary patch delta 43 tcmX@fc#?6#QkCAhwVSya7?}=#UUjP2lF_6e%kjPPx2mnPJ4NU+5 delta 43 tcmX@fc#?6#QWe%|EWz9ij7+OUIT@H&i?Z}Ft8>g#1Bt8#iL3>Q008IC2{Hfx diff --git a/packs/gps-monster-features/002729.log b/packs/gps-monster-features/002754.log similarity index 100% rename from packs/gps-monster-features/002729.log rename to packs/gps-monster-features/002754.log diff --git a/packs/gps-monster-features/CURRENT b/packs/gps-monster-features/CURRENT index 529b6be9..866d05bd 100644 --- a/packs/gps-monster-features/CURRENT +++ b/packs/gps-monster-features/CURRENT @@ -1 +1 @@ -MANIFEST-002727 +MANIFEST-002752 diff --git a/packs/gps-monster-features/LOG b/packs/gps-monster-features/LOG index 54883862..d30d1ff7 100644 --- a/packs/gps-monster-features/LOG +++ b/packs/gps-monster-features/LOG @@ -1,15 +1,8 @@ -2024/08/14-21:37:52.497 30d58 Recovering log #2725 -2024/08/14-21:37:52.504 30d58 Delete type=0 #2725 -2024/08/14-21:37:52.504 30d58 Delete type=3 #2723 -2024/08/15-00:50:53.868 34e44 Level-0 table #2730: started -2024/08/15-00:50:53.873 34e44 Level-0 table #2730: 7659 bytes OK -2024/08/15-00:50:53.875 34e44 Delete type=0 #2728 -2024/08/15-00:50:53.875 34e44 Manual compaction at level-0 from '!folders!44lJ4L7xySVYZzED' @ 72057594037927935 : 1 .. '!items.effects!yp0IIuvsEkJd6KKW.WlySPDKKWMIOowHi' @ 0 : 0; will stop at (end) -2024/08/15-00:50:53.875 34e44 Manual compaction at level-1 from '!folders!44lJ4L7xySVYZzED' @ 72057594037927935 : 1 .. '!items.effects!yp0IIuvsEkJd6KKW.WlySPDKKWMIOowHi' @ 0 : 0; will stop at '!items.effects!QeLgLOxgvzWnTi0u.6jnYPhSayj00RsaB' @ 458 : 1 -2024/08/15-00:50:53.875 34e44 Compacting 1@1 + 1@2 files -2024/08/15-00:50:53.886 34e44 Generated table #2731@1: 47 keys, 51137 bytes -2024/08/15-00:50:53.886 34e44 Compacted 1@1 + 1@2 files => 51137 bytes -2024/08/15-00:50:53.887 34e44 compacted to: files[ 0 0 1 0 0 0 0 ] -2024/08/15-00:50:53.888 34e44 Delete type=2 #2474 -2024/08/15-00:50:53.888 34e44 Delete type=2 #2730 -2024/08/15-00:50:53.899 34e44 Manual compaction at level-1 from '!items.effects!QeLgLOxgvzWnTi0u.6jnYPhSayj00RsaB' @ 458 : 1 .. '!items.effects!yp0IIuvsEkJd6KKW.WlySPDKKWMIOowHi' @ 0 : 0; will stop at (end) +2024/08/18-16:57:04.713 87034 Recovering log #2750 +2024/08/18-16:57:04.717 87034 Delete type=0 #2750 +2024/08/18-16:57:04.717 87034 Delete type=3 #2748 +2024/08/18-20:03:04.133 a8ba4 Level-0 table #2755: started +2024/08/18-20:03:04.133 a8ba4 Level-0 table #2755: 0 bytes OK +2024/08/18-20:03:04.134 a8ba4 Delete type=0 #2753 +2024/08/18-20:03:04.136 a8ba4 Manual compaction at level-0 from '!folders!44lJ4L7xySVYZzED' @ 72057594037927935 : 1 .. '!items.effects!yp0IIuvsEkJd6KKW.WlySPDKKWMIOowHi' @ 0 : 0; will stop at (end) +2024/08/18-20:03:04.136 a8ba4 Manual compaction at level-1 from '!folders!44lJ4L7xySVYZzED' @ 72057594037927935 : 1 .. '!items.effects!yp0IIuvsEkJd6KKW.WlySPDKKWMIOowHi' @ 0 : 0; will stop at (end) diff --git a/packs/gps-monster-features/LOG.old b/packs/gps-monster-features/LOG.old index 2aee7b55..4040b711 100644 --- a/packs/gps-monster-features/LOG.old +++ b/packs/gps-monster-features/LOG.old @@ -1,8 +1,8 @@ -2024/08/14-18:26:28.764 30d58 Recovering log #2721 -2024/08/14-18:26:28.769 30d58 Delete type=0 #2721 -2024/08/14-18:26:28.769 30d58 Delete type=3 #2719 -2024/08/14-18:53:31.128 34e44 Level-0 table #2726: started -2024/08/14-18:53:31.128 34e44 Level-0 table #2726: 0 bytes OK -2024/08/14-18:53:31.131 34e44 Delete type=0 #2724 -2024/08/14-18:53:31.136 34e44 Manual compaction at level-0 from '!folders!44lJ4L7xySVYZzED' @ 72057594037927935 : 1 .. '!items.effects!yp0IIuvsEkJd6KKW.WlySPDKKWMIOowHi' @ 0 : 0; will stop at (end) -2024/08/14-18:53:31.136 34e44 Manual compaction at level-1 from '!folders!44lJ4L7xySVYZzED' @ 72057594037927935 : 1 .. '!items.effects!yp0IIuvsEkJd6KKW.WlySPDKKWMIOowHi' @ 0 : 0; will stop at (end) +2024/08/17-22:44:29.992 87024 Recovering log #2746 +2024/08/17-22:44:29.996 87024 Delete type=0 #2746 +2024/08/17-22:44:29.996 87024 Delete type=3 #2744 +2024/08/18-16:55:05.196 a8ba4 Level-0 table #2751: started +2024/08/18-16:55:05.196 a8ba4 Level-0 table #2751: 0 bytes OK +2024/08/18-16:55:05.199 a8ba4 Delete type=0 #2749 +2024/08/18-16:55:05.199 a8ba4 Manual compaction at level-0 from '!folders!44lJ4L7xySVYZzED' @ 72057594037927935 : 1 .. '!items.effects!yp0IIuvsEkJd6KKW.WlySPDKKWMIOowHi' @ 0 : 0; will stop at (end) +2024/08/18-16:55:05.199 a8ba4 Manual compaction at level-1 from '!folders!44lJ4L7xySVYZzED' @ 72057594037927935 : 1 .. '!items.effects!yp0IIuvsEkJd6KKW.WlySPDKKWMIOowHi' @ 0 : 0; will stop at (end) diff --git a/packs/gps-monster-features/MANIFEST-002727 b/packs/gps-monster-features/MANIFEST-002727 deleted file mode 100644 index b81f9be09cd9b7d2fd985786702e303facf97ff8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 565 zcmX?HnKe diff --git a/packs/gps-monster-features/MANIFEST-002752 b/packs/gps-monster-features/MANIFEST-002752 new file mode 100644 index 0000000000000000000000000000000000000000..6bec7059652928e30a11d010a25124fd36e4120a GIT binary patch literal 287 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 delta 3561 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
@dAC2Pt zmJgk8&mZo==h^yE82nZgoiqO`|6UJXoV_1aKlrVE=zPm#|Kc#ZzUA0={07DU^fHS7 z=?xU$^2hI(LGg#k{~$LI6-o?5iZL)3Xuz4OeRcV%Uc6j)&kpJYfg1cHb6~^eBd0Er z`9JjHtxIaKZz#-gXw&<*0anE<0nOTC!>-4%XKn{tt$}E-)f(ATf5ooOGrGW?S_Avs zeR$4jG=LRagW=5s`3-CF65>(z+#m82C|Wpq8UM7@m?yehwL`jV+vnt~fc{mm8r`@1 z**OPHsENd(h97)1=hC2YEeL7XvS;7OUqN-ZUEZ#Gpvbsj*-&?Hx3{^Y zZMY_+v~_K6#%8Dm?2U(1J1oX9P_$uo=ka`HA8yQ+f5YB?LG@{i@gfoH)h=bfK2Y#D zk2;N`K_7p%U~e6I*bx-J_-VmgPGcMRo_+`W&?9qyU`G#=)VkOwU!MCn!RR8!gIc3u z&y~4{L{RAb3J53-C-US=#lXN6n?*SsmV@b3UyI?Mr^$C2P}^Vy|FNngR-J#P4;Kn& zPLO9bz}T=9^ev>1y_)}fA8yV5=xy>m(=rXfkamW?_CC3--3q+p=9^c^OEjQVUXHzT zliZ`h)?Lk(qnWuA8AQgB9CGWuIECDrUoD!`MMxvE4!IZEk4z(%5r6}*09lHxMMe<+ z4s 154364 bytes +2024/08/18-20:03:04.128 a8ba4 compacted to: files[ 0 0 1 0 0 0 0 ] +2024/08/18-20:03:04.128 a8ba4 Delete type=2 #2814 +2024/08/18-20:03:04.128 a8ba4 Delete type=2 #2830 +2024/08/18-20:03:04.131 a8ba4 Manual compaction at level-1 from '!items!4srAdZPiDJCuWcoG' @ 1635 : 1 .. '!items.effects!zb0bHX95fRFILazJ.2TVoFB98ZtniR8Z7' @ 0 : 0; will stop at (end) diff --git a/packs/gps-spells/LOG.old b/packs/gps-spells/LOG.old index a8a31fe0..21a7d9be 100644 --- a/packs/gps-spells/LOG.old +++ b/packs/gps-spells/LOG.old @@ -1,8 +1,8 @@ -2024/08/14-18:26:28.741 2da70 Recovering log #2796 -2024/08/14-18:26:28.745 2da70 Delete type=0 #2796 -2024/08/14-18:26:28.745 2da70 Delete type=3 #2794 -2024/08/14-18:53:31.114 34e44 Level-0 table #2801: started -2024/08/14-18:53:31.114 34e44 Level-0 table #2801: 0 bytes OK -2024/08/14-18:53:31.117 34e44 Delete type=0 #2799 -2024/08/14-18:53:31.123 34e44 Manual compaction at level-0 from '!items!0gEfNrgZuAxvnL5H' @ 72057594037927935 : 1 .. '!items.effects!zb0bHX95fRFILazJ.2TVoFB98ZtniR8Z7' @ 0 : 0; will stop at (end) -2024/08/14-18:53:31.123 34e44 Manual compaction at level-1 from '!items!0gEfNrgZuAxvnL5H' @ 72057594037927935 : 1 .. '!items.effects!zb0bHX95fRFILazJ.2TVoFB98ZtniR8Z7' @ 0 : 0; will stop at (end) +2024/08/17-22:44:29.965 87034 Recovering log #2821 +2024/08/17-22:44:29.969 87034 Delete type=0 #2821 +2024/08/17-22:44:29.969 87034 Delete type=3 #2819 +2024/08/18-16:55:05.185 a8ba4 Level-0 table #2826: started +2024/08/18-16:55:05.185 a8ba4 Level-0 table #2826: 0 bytes OK +2024/08/18-16:55:05.187 a8ba4 Delete type=0 #2824 +2024/08/18-16:55:05.187 a8ba4 Manual compaction at level-0 from '!items!0gEfNrgZuAxvnL5H' @ 72057594037927935 : 1 .. '!items.effects!zb0bHX95fRFILazJ.2TVoFB98ZtniR8Z7' @ 0 : 0; will stop at (end) +2024/08/18-16:55:05.188 a8ba4 Manual compaction at level-1 from '!items!0gEfNrgZuAxvnL5H' @ 72057594037927935 : 1 .. '!items.effects!zb0bHX95fRFILazJ.2TVoFB98ZtniR8Z7' @ 0 : 0; will stop at (end) diff --git a/packs/gps-spells/MANIFEST-002802 b/packs/gps-spells/MANIFEST-002802 deleted file mode 100644 index 7cd6a1188023b9936285c5ffe9fced3700470e40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmXq=s!@BBfss)vC$%g!CnZVGsj?)sJhM2}IX|}`u_&=5zlfDVUNN&IHMdyNu_((q zvMSHf**`TXD?Out(VUq91Xvj@AS(1y)6!CtONte96Vro>%d<)X3ld$t%Kd!wToMB# zGm}$`ic<3mvx1Wx89mv+TG^TIiq4$E3A4c<-8IdxC_Spwv7#)`$JB!{f)%U`-TbN~ zgCvg#OVhL zuzWWsON*$Iyv!hrD09ZiEMSe>zFXhsW?*FM5#wZF?iFKs#B item.toLowerCase()); - let resourceExistsWithValue = [t.actor.system.resources.primary, t.actor.system.resources.secondary, t.actor.system.resources.tertiary].some(resource => - itemNames.includes(resource?.label.toLowerCase()) && resource.value !== 0); + let resourceExistsWithValue = [t.actor.system.resources.primary, t.actor.system.resources.secondary, t.actor.system.resources.tertiary].some(resource => itemNames.includes(resource?.label.toLowerCase()) && resource.value !== 0); let itemExistsWithValue; if (!resourceExistsWithValue) { itemExistsWithValue = t.actor.items.some(i => itemNames.includes(i.name.toLowerCase()) && i.system.uses?.value !== 0); } -console.log(resourceExistsWithValue, itemExistsWithValue, "resource/item check") + if (!resourceExistsWithValue && !itemExistsWithValue) { if(debugEnabled) console.error(`${itemName} for ${t.actor.name} failed at check valid feature item/resource uses`); return; diff --git a/scripts/macros/opportunityAttack.js b/scripts/macros/opportunityAttack.js index 3ba29fdf..4b7eee52 100644 --- a/scripts/macros/opportunityAttack.js +++ b/scripts/macros/opportunityAttack.js @@ -1,6 +1,6 @@ const regionTokenStates = new Map(); -export async function opportunityAttackScenarios({tokenUuid, regionUuid, regionScenario, originX, originY}) { +export async function opportunityAttackScenarios({tokenUuid, regionUuid, regionScenario, originX, originY, isTeleport}) { if(!game.user.isGM) return; const module = await import('../module.js'); const helpers = await import('../helpers.js'); @@ -12,7 +12,7 @@ export async function opportunityAttackScenarios({tokenUuid, regionUuid, regionS if ((token.actor.type !== 'npc' && token.actor.type !== 'character')) return; - let oaDisabled = await region.getFlag("gambits-premades", "opportunityAttackDisabled"); + let oaDisabled = await region.getFlag("gambits-premades", "regionDisabled"); if(oaDisabled) return; let currentCombatant = canvas.tokens.get(game.combat?.current.tokenId); @@ -52,15 +52,7 @@ export async function opportunityAttackScenarios({tokenUuid, regionUuid, regionS } regionTokenStates.set(`${region.id}-${token.id}-exited`, true); - const effectNamesToken = ["Dissonant Whispers"]; - let hasEffectToken = token.actor.appliedEffects.some(effect => effectNamesToken.includes(effect.name)); - if (currentCombatant.id !== token.id && !hasEffectToken) return; - - let dragonTurtleShield = effectOriginActor.items.getName("Dragon Turtle Dueling Shield"); - if(dragonTurtleShield) await effectOriginActor.setFlag("gambits-premades", "dragonTurtleShieldOA", true); - - dialogTitle = "Opportunity Attack"; - dialogId = "opportunityattack"; + return; } else if(regionScenario === "tokenEnter") { const tokenState = regionTokenStates.get(region.id) || new Set(); @@ -68,32 +60,7 @@ export async function opportunityAttackScenarios({tokenUuid, regionUuid, regionS regionTokenStates.set(region.id, tokenState); regionTokenStates.set(`${region.id}-${token.id}-entered`, true); - if (hasPolearmReaction) { - let weaponNames = ["glaive","halberd","pike","quarterstaff","spear"]; - let hasPolearmWeapon = effectOriginActor.items.some(item => item.system?.type?.baseItem && weaponNames.includes(item.system?.type?.baseItem.toLowerCase()) && item.system.equipped === true); - if(!hasPolearmWeapon) return; - dialogTitle = "Polearm Opportunity Attack"; - dialogId = "polearmopportunityattack"; - } - else if(effectOriginActor.classes?.fighter && effectOriginActor.classes?.fighter?.subclass?.name === "Battle Master") { - let braceItem = effectOriginActor.items.getName("Maneuvers: Brace"); - if(!braceItem) return; - const superiorityNames = ["superiority dice", "superiority die"]; - let resourceExistsWithValue = [effectOriginActor.system.resources.primary, effectOriginActor.system.resources.secondary, effectOriginActor.system.resources.tertiary].some(resource => superiorityNames.includes(resource?.label.toLowerCase()) && resource.value !== 0); - let itemExistsWithValue; - if (!resourceExistsWithValue) itemExistsWithValue = !!effectOriginActor.items.find(i => superiorityNames.includes(i.name.toLowerCase()) && i.system.uses.value !== 0); - if (!resourceExistsWithValue && !itemExistsWithValue) return; - braceItemUuid = braceItem.uuid; - dialogTitle = "Maneuvers: Brace Opportunity Attack"; - dialogId = "maneuversbraceopportunityattack"; - } - else if (hasDeadlyReachReaction) { - dialogTitle = "Deadly Reach Opportunity Attack"; - dialogId = "deadlyreachopportunityattack"; - } - else { - return; - } + return; } else if(regionScenario === "tokenPostMove") { const entered = regionTokenStates.get(`${region.id}-${token.id}-entered`); @@ -107,25 +74,60 @@ export async function opportunityAttackScenarios({tokenUuid, regionUuid, regionS await token.update({ x: originX, y: originY }, { animate: false }); }*/ - if (entered || exited) { + /*if (entered || exited) { regionTokenStates.delete(`${region.id}-${token.id}-entered`); regionTokenStates.delete(`${region.id}-${token.id}-exited`); return; - } + }*/ + regionTokenStates.delete(`${region.id}-${token.id}-exited`); + regionTokenStates.delete(`${region.id}-${token.id}-entered`); if (token.regions.has(region)) return; //if(hasSentinel && (sentinelUsed || sentinelDeclined)) return; - const effectNamesToken = ["Dissonant Whispers"]; - let hasEffectToken = token.actor.appliedEffects.some(effect => effectNamesToken.includes(effect.name)); - if (currentCombatant.id !== token.id && !hasEffectToken) return; - - let dragonTurtleShield = effectOriginActor.items.getName("Dragon Turtle Dueling Shield"); - if(dragonTurtleShield) await effectOriginActor.setFlag("gambits-premades", "dragonTurtleShieldOA", true); - - dialogTitle = "Opportunity Attack"; - dialogId = "opportunityattack"; + if((exited || (!exited && !entered)) && !isTeleport) { + const effectNamesToken = ["Dissonant Whispers"]; + let hasEffectToken = token.actor.appliedEffects.some(effect => effectNamesToken.includes(effect.name)); + if (currentCombatant.id !== token.id && !hasEffectToken) return; + + let dragonTurtleShield = effectOriginActor.items.getName("Dragon Turtle Dueling Shield"); + if(dragonTurtleShield) await effectOriginActor.setFlag("gambits-premades", "dragonTurtleShieldOA", true); + + dialogTitle = "Opportunity Attack"; + dialogId = "opportunityattack"; + } + else if(entered && !isTeleport) { + if (hasPolearmReaction) { + let weaponNames = ["glaive","halberd","pike","quarterstaff","spear"]; + let hasPolearmWeapon = effectOriginActor.items.some(item => item.system?.type?.baseItem && weaponNames.includes(item.system?.type?.baseItem.toLowerCase()) && item.system.equipped === true); + if(!hasPolearmWeapon) return; + dialogTitle = "Polearm Opportunity Attack"; + dialogId = "polearmopportunityattack"; + } + else if(effectOriginActor.classes?.fighter && effectOriginActor.classes?.fighter?.subclass?.name === "Battle Master") { + let braceItem = effectOriginActor.items.getName("Maneuvers: Brace"); + if(!braceItem) return; + const superiorityNames = ["superiority dice", "superiority die"]; + let resourceExistsWithValue = [effectOriginActor.system.resources.primary, effectOriginActor.system.resources.secondary, effectOriginActor.system.resources.tertiary].some(resource => superiorityNames.includes(resource?.label.toLowerCase()) && resource.value !== 0); + let itemExistsWithValue; + if (!resourceExistsWithValue) itemExistsWithValue = !!effectOriginActor.items.find(i => superiorityNames.includes(i.name.toLowerCase()) && i.system.uses.value !== 0); + if (!resourceExistsWithValue && !itemExistsWithValue) return; + braceItemUuid = braceItem.uuid; + dialogTitle = "Maneuvers: Brace Opportunity Attack"; + dialogId = "maneuversbraceopportunityattack"; + } + else if (hasDeadlyReachReaction) { + dialogTitle = "Deadly Reach Opportunity Attack"; + dialogId = "deadlyreachopportunityattack"; + } + else { + return; + } + } + else { + return; + } } const initialTimeLeft = Number(MidiQOL.safeGetGameSetting('gambits-premades', `Opportunity Attack Timeout`)); @@ -545,7 +547,7 @@ export async function enableOpportunityAttack(combat, combatEvent) { name: "onExit", disabled: false, system: { - source: `let oaDisabled = await region.getFlag("gambits-premades", "opportunityAttackDisabled"); if(oaDisabled) return; if(region.flags["gambits-premades"].actorUuid === event.data.token.actor.uuid) return; if(event.data.teleport === true) return; await game.gps.opportunityAttackScenarios({tokenUuid: event.data.token.uuid, regionUuid: region.uuid, regionScenario: "tokenExit"});`, + source: `let oaDisabled = await region.getFlag("gambits-premades", "regionDisabled"); if(oaDisabled) return; if(region.flags["gambits-premades"].actorUuid === event.data.token.actor.uuid) return; await game.gps.opportunityAttackScenarios({tokenUuid: event.data.token.uuid, regionUuid: region.uuid, regionScenario: "tokenExit", isTeleport: event.data.teleport});`, events: ['tokenExit'] } }, @@ -554,8 +556,8 @@ export async function enableOpportunityAttack(combat, combatEvent) { name: "onEnter", disabled: false, system: { - source: `let oaDisabled = await region.getFlag("gambits-premades", "opportunityAttackDisabled"); if(oaDisabled) return; if(region.flags["gambits-premades"].actorUuid === event.data.token.actor.uuid) return; if(event.data.teleport === true) return; await game.gps.opportunityAttackScenarios({tokenUuid: event.data.token.uuid, regionUuid: region.uuid, regionScenario: "tokenEnter"});`, - events: ['tokenEnter'] + source: `let oaDisabled = await region.getFlag("gambits-premades", "regionDisabled"); if(oaDisabled) return; if(region.flags["gambits-premades"].actorUuid === event.data.token.actor.uuid) return; await game.gps.opportunityAttackScenarios({tokenUuid: event.data.token.uuid, regionUuid: region.uuid, regionScenario: "tokenEnter", isTeleport: event.data.teleport});`, + events: ['tokenMoveIn'] } }, { @@ -563,7 +565,7 @@ export async function enableOpportunityAttack(combat, combatEvent) { name: "onPostMove", disabled: false, system: { - source: `let oaDisabled = await region.getFlag("gambits-premades", "opportunityAttackDisabled"); if(oaDisabled) return; if(region.flags["gambits-premades"].actorUuid === event.data.token.actor.uuid) return; if(event.data.teleport === true) return; await game.gps.opportunityAttackScenarios({tokenUuid: event.data.token.uuid, regionUuid: region.uuid, regionScenario: "tokenPostMove", originX: event.data.segments[0].to.x, originY: event.data.segments[0].to.y});`, + source: `let oaDisabled = await region.getFlag("gambits-premades", "regionDisabled"); if(oaDisabled) return; if(region.flags["gambits-premades"].actorUuid === event.data.token.actor.uuid) return; await game.gps.opportunityAttackScenarios({tokenUuid: event.data.token.uuid, regionUuid: region.uuid, regionScenario: "tokenPostMove", originX: event.data.segments[0].to.x, originY: event.data.segments[0].to.y, isTeleport: event.data.teleport});`, events: ['tokenMove'] } }, @@ -579,27 +581,54 @@ export async function enableOpportunityAttack(combat, combatEvent) { let tokenSize = Math.max(token.width, token.height); let validWeapons = actor.items.filter(item => (item.system.actionType === "mwak" && item.system.equipped) || (item.system?.type?.value === "monster" && item?.type === "feat" && (item.system?.actionType === "mwak" || item.system?.actionType === "msak")) || (item?.type === "weapon" && item.system?.actionType === "msak")); - recalculate = await checkAndSetFlag("opportunityAttackTemplateValidWeapons", validWeapons) || recalculate; - recalculate = await checkAndSetFlag("opportunityAttackTemplateTokenSize", tokenSize) || recalculate; + recalculate = await checkAndSetFlag("opportunityAttackRegionValidWeapons", validWeapons) || recalculate; + recalculate = await checkAndSetFlag("opportunityAttackRegionTokenSize", tokenSize) || recalculate; recalculate = await handleMWAKRange() || recalculate; if (!recalculate) return; - const validSpells = actor.flags["midi-qol"].opportunityAttackTemplateValidSpells; + const validSpells = actor.flags["midi-qol"].opportunityAttackRegionValidSpells; let maxRange = calculateMaxRange(validWeapons, validSpells, tokenSize); if(maxRange === false) return; - await actor.setFlag("midi-qol", "opportunityAttackTemplateValidOptions", validWeapons?.length > 0 || validSpells?.length > 0); + await actor.setFlag("midi-qol", "opportunityAttackRegionValidOptions", validWeapons?.length > 0 || validSpells?.length > 0); const tokenCenterX = token.x + token.object.w / 2; const tokenCenterY = token.y + token.object.h / 2; + const gridSize = canvas.scene.grid.size; + const gridDistance = canvas.scene.grid.distance; + const sideLength = (maxRange / gridDistance) * 2 * gridSize; + const topLeftX = tokenCenterX - (sideLength / 2); + const topLeftY = tokenCenterY - (sideLength / 2); + let regionShape; + + if (canvas.scene.grid.type === 0) { // Gridless + regionShape = { + type: "ellipse", + x: tokenCenterX, + y: tokenCenterY, + radiusX: maxRange * canvas.scene.grid.size / canvas.scene.dimensions.distance, + radiusY: maxRange * canvas.scene.grid.size / canvas.scene.dimensions.distance, + rotation: 0, + hole: false + }; + } else { + regionShape = { + type: "rectangle", + x: topLeftX, + y: topLeftY, + width: sideLength, + height: sideLength, + rotation: 0, + hole: false + }; + } region.update({ elevation: { bottom: -maxRange, top: maxRange }, shapes: region.shapes.map(shape => ({ ...shape, - radiusX: maxRange * canvas.scene.grid.size / canvas.scene.dimensions.distance, - radiusY: maxRange * canvas.scene.grid.size / canvas.scene.dimensions.distance + ...regionShape, })) }); @@ -623,7 +652,7 @@ export async function enableOpportunityAttack(combat, combatEvent) { }, 0); let mwakRange = actor.flags["midi-qol"].range.mwak - mwakExpire; - return await checkAndSetFlag("opportunityAttackTemplateMwakRange", mwakRange); + return await checkAndSetFlag("opportunityAttackRegionMwakRange", mwakRange); } function calculateMaxRange(validWeapons, validSpells, tokenSize) { @@ -676,7 +705,7 @@ export async function enableOpportunityAttack(combat, combatEvent) { maxRange = (maxRange * conversionFactor) + tokenSizeOffset; if (actor.flags["midi-qol"]?.range?.mwak) { - maxRange += (actor.flags["midi-qol"].opportunityAttackTemplateMwakRange * conversionFactor); + maxRange += (actor.flags["midi-qol"].opportunityAttackRegionMwakRange * conversionFactor); } return maxRange; }`, @@ -686,15 +715,14 @@ export async function enableOpportunityAttack(combat, combatEvent) { ], flags: { "gambits-premades": { - "templateHiddenOA": true, 'actorUuid': actor.uuid, 'tokenUuid': token.uuid, 'opportunityAttackSet': true, - 'opportunityAttackTemplateValidWeapons': validWeapons, - 'opportunityAttackTemplateValidSpells': validSpells, - 'opportunityAttackTemplateMwakRange': mwakRange, - 'opportunityAttackTemplateTokenSize': Math.max(token.width, token.height), - 'opportunityAttackTemplateConFac': conversionFactor + 'opportunityAttackRegionValidWeapons': validWeapons, + 'opportunityAttackRegionValidSpells': validSpells, + 'opportunityAttackRegionMwakRange': mwakRange, + 'opportunityAttackRegionTokenSize': Math.max(token.width, token.height), + 'opportunityAttackRegionConFac': conversionFactor } } }; @@ -703,11 +731,12 @@ export async function enableOpportunityAttack(combat, combatEvent) { const firstRegion = createdRegions[0]; try { - await actor.setFlag("gambits-premades", "templateAttachedToken", firstRegion.uuid); - await actor.setFlag("gambits-premades", "tokenAttachedTemplate", token.id); - await actor.setFlag("gambits-premades", "opportunityAttackTemplate", firstRegion.uuid); + let attachedRegions = actor.getFlag('gambits-premades', 'attachedRegions') || []; + attachedRegions.push(firstRegion.uuid); + await actor.setFlag('gambits-premades', 'attachedRegions', attachedRegions); + await actor.setFlag("gambits-premades", "opportunityAttackRegion", firstRegion.uuid); if (firstRegion.object && firstRegion.object.tooltip) firstRegion.object.tooltip.visible = false; - if (oaDisabled) await firstRegion.setFlag("gambits-premades", "opportunityAttackDisabled", true); + if (oaDisabled) await firstRegion.setFlag("gambits-premades", "regionDisabled", true); } catch (error) { console.error('Error during region attachment:', error); } @@ -732,13 +761,21 @@ export async function disableOpportunityAttack(combat, combatEvent) { async function processCombatant(combatant) { const { actor } = combatant; - let templateFlag = await actor.getFlag("gambits-premades", "opportunityAttackTemplate"); - let templateAttachmentFlag = await actor.getFlag("gambits-premades", "templateAttachedToken"); + let regionFlag = await actor.getFlag("gambits-premades", "opportunityAttackRegion"); + let attachedRegions = actor.getFlag('gambits-premades', 'attachedRegions') || []; + if (attachedRegions.length !== 0) { + attachedRegions = attachedRegions.filter(uuid => uuid !== regionFlag); + await actor.setFlag('gambits-premades', 'attachedRegions', attachedRegions); + } + else { + await actor.unsetFlag('gambits-premades', 'attachedRegions'); + } + let dragonTurtleFlag = await actor.getFlag("gambits-premades", "dragonTurtleShieldOA"); //let sentinelUsed = actor.getFlag("gambits-premades", "sentinelUsed"); //let sentinelDeclined = actor.getFlag("gambits-premades", "sentinelDeclined"); - let templateData = templateFlag ? await fromUuid(templateFlag) : null; + let regionData = regionFlag ? await fromUuid(regionFlag) : null; /*let effectNames = ["Opportunity Attack Reaction", "Maneuvers: Brace Opportunity Attack"]; let effectIdsToDelete = actor.effects @@ -749,9 +786,8 @@ export async function disableOpportunityAttack(combat, combatEvent) { await actor.deleteEmbeddedDocuments("ActiveEffect", effectIdsToDelete); }*/ - if (templateData) await templateData.delete(); - if (templateFlag) await actor.unsetFlag("gambits-premades", "opportunityAttackTemplate"); - if (templateAttachmentFlag) await actor.unsetFlag("gambits-premades", "templateAttachedToken"); + if (regionData) await regionData.delete(); + if (regionFlag) await actor.unsetFlag("gambits-premades", "opportunityAttackRegion"); if (dragonTurtleFlag) await actor.unsetFlag("gambits-premades", "dragonTurtleShieldOA"); //if(sentinelUsed) await actor.unsetFlag("gambits-premades", "sentinelUsed"); //if(sentinelDeclined) await actor.unsetFlag("gambits-premades", "sentinelDeclined"); diff --git a/scripts/module.js b/scripts/module.js index 2aae1262..2713bf50 100644 --- a/scripts/module.js +++ b/scripts/module.js @@ -270,7 +270,7 @@ Hooks.once('ready', async function() { Hooks.on("preUpdateItem", (item, update) => { if (!game.user.isGM && ("identified" in (update.system ?? {})) && game.gpsSettings.identifyRestrictionEnabled) { - ui.notifications.error(`${game.settings.get('gambits-premades', 'Identify Restriction Message')}`); + ui.notifications.error(`${game.gpsSettings.identifyRestrictionMessage}`); return false; } }); @@ -479,14 +479,12 @@ function setupTemplateCreationUpdateHooks() { }); } -// Handle OA Movement Stuff -async function updateRegionPosition(tokenDocument) { +async function updateRegionPosition(region, tokenDocument) { if (!game.user.isGM) return; - - const region = fromUuidSync(tokenDocument.actor.getFlag('gambits-premades', 'templateAttachedToken')); if (!region || !tokenDocument) return; - let oaDisabled = region.getFlag("gambits-premades", "opportunityAttackDisabled"); - if (!oaDisabled) region.setFlag("gambits-premades", "opportunityAttackDisabled", true); + + let regionDisabled = region.getFlag("gambits-premades", "regionDisabled"); + if (!regionDisabled) region.setFlag("gambits-premades", "regionDisabled", true); let previousX1 = tokenDocument.object.center.x; let previousY1 = tokenDocument.object.center.y; @@ -504,7 +502,6 @@ async function updateRegionPosition(tokenDocument) { setTimeout(checkPosition, 25); } else if (previousX1 === previousX2 && previousY1 === previousY2) { - const updatedShapes = region.shapes.map(shape => { const sideLength = shape.width || (shape.radiusX * 2); const topLeftX = currentX - (sideLength / 2); @@ -516,12 +513,18 @@ async function updateRegionPosition(tokenDocument) { x: currentX, y: currentY }; - } else { + } else if(shape.type === "rectangle") { return { ...shape, x: topLeftX, y: topLeftY }; + } else { + return { + ...shape, + x: currentX, + y: currentY + }; } }); @@ -529,7 +532,7 @@ async function updateRegionPosition(tokenDocument) { shapes: updatedShapes }); - if (!oaDisabled) region.unsetFlag("gambits-premades", "opportunityAttackDisabled"); + if (!regionDisabled) region.unsetFlag("gambits-premades", "regionDisabled"); return; } else { previousX2 = previousX1; @@ -542,25 +545,14 @@ async function updateRegionPosition(tokenDocument) { } Hooks.on('updateToken', async (tokenDocument, updateData, options, userId) => { - if (!game.combat) return; if (!game.user.isGM) return; - const tokenId = tokenDocument.actor.getFlag('gambits-premades', 'tokenAttachedTemplate'); - if (tokenId && tokenDocument.id === tokenId) { - await updateRegionPosition(tokenDocument); - } -}); + const regions = tokenDocument.actor.getFlag('gambits-premades', 'attachedRegions') || []; -//Handle lack of dfreds effects with midi native reaction handling -/*Hooks.on('deleteActiveEffect', async (activeEffect, options, userId) => { - if (activeEffect.name === "Reaction") { - const actor = activeEffect.parent; - - const hasEffectApplied = MidiQOL.hasUsedReaction(actor); - if (hasEffectApplied) { - await actor?.unsetFlag("midi-qol", "actions.reactionCombatRound"); - return actor?.setFlag("midi-qol", "actions.reaction", false); - } - } - return; - });*/ \ No newline at end of file + for (const regionUuid of regions) { + const region = fromUuidSync(regionUuid); + if (region) { + await updateRegionPosition(region, tokenDocument); + } + } +}); \ No newline at end of file diff --git a/templates/generalSettingsMenu.html b/templates/generalSettingsMenu.html index 682852a1..102b9fa9 100644 --- a/templates/generalSettingsMenu.html +++ b/templates/generalSettingsMenu.html @@ -145,7 +145,7 @@ - +