From 4f276d0ca96eed2c9c24cdd5b615d90075a990f7 Mon Sep 17 00:00:00 2001 From: Martijn Verburg Date: Tue, 30 May 2023 13:33:42 +1200 Subject: [PATCH 001/219] Move to 17.0.7 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 2d49425d984..7dfc89c041f 100644 --- a/build.gradle +++ b/build.gradle @@ -594,7 +594,7 @@ task downloadJRE { task downloadJavaFXModules(dependsOn: downloadJRE) { // We support Windows/Mac/Linux - x64, Mac/Linux - aarch64, and Windows x86 (32-bit) - def major = "17.0.6" + def major = "17.0.7" def archs = ['x64', 'x86', 'aarch64'] def osList = ["windows", "mac", "linux"] From 740ce94227b6b6c02b7c20171159d6a11637d5b3 Mon Sep 17 00:00:00 2001 From: Martijn Verburg Date: Tue, 30 May 2023 13:34:14 +1200 Subject: [PATCH 002/219] Add runtime dependency --- code/gradle/release.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/gradle/release.gradle b/code/gradle/release.gradle index c2cd4a25324..8d15908cb35 100644 --- a/code/gradle/release.gradle +++ b/code/gradle/release.gradle @@ -182,7 +182,7 @@ launch4j { downloadUrl = "https://jdk.java.net/" } -task layoutNsisOptional(type: Copy, dependsOn: [copyToOutput]) { +task layoutNsisOptional(type: Copy, dependsOn: ['copyToOutput', 'runtime']) { description="Assemble the optional files for PCGen installations" into nsisOptionFolder From c297a50fe81786ffa4dd4bce821f4b2a419e6fd4 Mon Sep 17 00:00:00 2001 From: Martijn Verburg Date: Tue, 30 May 2023 17:33:55 +1200 Subject: [PATCH 003/219] Update to latest launch4j and fix a security warning --- build.gradle | 2 +- code/gradle/release.gradle | 6 +++--- .../pcgen/output/testsupport/AbstractOutputTestCase.java | 7 ++++--- code/src/testResources/pcgen/lang/cleaned.properties | 2 +- code/src/testResources/pcgen/lang/unused.properties | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index dcb7ea2e2a8..ecba3f47577 100644 --- a/build.gradle +++ b/build.gradle @@ -30,7 +30,7 @@ plugins { id 'pmd' // PMD for Java, configured further below id 'idea' // For IntelliJ IDEA users id "de.undercouch.download" version '5.4.0' // Shows download percentage - id 'edu.sc.seis.launch4j' version '2.5.4' // Creates launch4j + id 'edu.sc.seis.launch4j' version '3.0.0' // Creates launch4j id 'com.github.ben-manes.versions' version '0.46.0' // Checks versions for plugins and dependencies id "com.dorongold.task-tree" version '2.1.1' // Prints the task dependency tree id 'org.openjfx.javafxplugin' version '0.0.14' // JavaFX support diff --git a/code/gradle/release.gradle b/code/gradle/release.gradle index 8d15908cb35..9596aeac36d 100644 --- a/code/gradle/release.gradle +++ b/code/gradle/release.gradle @@ -165,10 +165,10 @@ task layoutNsisBase(type: Copy, dependsOn: [runtimeZip, createExe, copyToLibs, j launch4j { mainClassName = 'pcgen.system.Main' icon = "${projectDir}/installers/win-installer/Local/pcgen.ico" - jdkPreference = 'preferJre' + requiresJdk = false // false means it'll grab a JRE first if available maxHeapPercent = 80 stayAlive = false - jreRuntimeBits = "64/32" + requires64Bit = false // false means it auto-selects 64 or 32 bit as required. bundledJrePath = '.' dontWrapJar = true splashFileName = "${projectDir}/installers/win-installer/Local/splash.bmp" @@ -179,7 +179,7 @@ launch4j { copyright = "PCGen's source-code is distributed under the GNU Lesser General Public License (LGPL)" version = "${shortVerNum}" jvmOptions = ["-Dsun.java2d.dpiaware=false"] - downloadUrl = "https://jdk.java.net/" + downloadUrl = "http://pcgen.org/download/" } task layoutNsisOptional(type: Copy, dependsOn: ['copyToOutput', 'runtime']) { diff --git a/code/src/itest/pcgen/output/testsupport/AbstractOutputTestCase.java b/code/src/itest/pcgen/output/testsupport/AbstractOutputTestCase.java index c41437ec498..e207171f1da 100644 --- a/code/src/itest/pcgen/output/testsupport/AbstractOutputTestCase.java +++ b/code/src/itest/pcgen/output/testsupport/AbstractOutputTestCase.java @@ -26,6 +26,7 @@ import java.util.Locale; import java.util.Map; +import pcgen.base.spotbugs.SuppressFBWarnings; import pcgen.cdom.enumeration.CharID; import pcgen.cdom.enumeration.DataSetID; import pcgen.cdom.facet.FacetLibrary; @@ -51,12 +52,14 @@ public void setUp() throws Exception id = CharID.getID(dsid); } + // We deliberately allow users to inject templating code for custom character sheets + @SuppressFBWarnings("TEMPLATE_INJECTION_FREEMARKER") protected void processThroughFreeMarker(String testString, String expectedResult) { try { - Configuration c = new Configuration(Configuration.VERSION_2_3_28); + Configuration c = new Configuration(Configuration.VERSION_2_3_32); Template t = new Template("test", testString, c); StringWriter sw = new StringWriter(); BufferedWriter bw = new BufferedWriter(sw); @@ -67,10 +70,8 @@ protected void processThroughFreeMarker(String testString, } catch (IOException | TemplateException e) { - e.printStackTrace(); fail(e.getLocalizedMessage()); } } - } diff --git a/code/src/testResources/pcgen/lang/cleaned.properties b/code/src/testResources/pcgen/lang/cleaned.properties index ea89a92a681..3be4bc56f42 100644 --- a/code/src/testResources/pcgen/lang/cleaned.properties +++ b/code/src/testResources/pcgen/lang/cleaned.properties @@ -1,4 +1,4 @@ -# LanguageBundle.properties with all unused keys removed as at 2022-10-02T12:59:59.393795 +# LanguageBundle.properties with all unused keys removed as at 2023-05-25T03:40:39.790121 # LanguageBundle.properties with all unused keys removed as at 2012-08-27T07:34:45+10:00 # Note: Trailing spaces are used in a number of places in this file. Please do diff --git a/code/src/testResources/pcgen/lang/unused.properties b/code/src/testResources/pcgen/lang/unused.properties index ff610ee96b9..68a48db00b7 100644 --- a/code/src/testResources/pcgen/lang/unused.properties +++ b/code/src/testResources/pcgen/lang/unused.properties @@ -1,4 +1,4 @@ -# LanguageBundle.properties with all used keys removed as at 2022-10-02T12:59:59.456803 +# LanguageBundle.properties with all used keys removed as at 2023-05-25T03:40:39.837381 # LanguageBundle.properties with all unused keys removed as at 2012-08-27T07:34:45+10:00 # Note: Trailing spaces are used in a number of places in this file. Please do From ad2864a772d1c2859c13373b591c0ec80e59f073 Mon Sep 17 00:00:00 2001 From: Vest Date: Tue, 4 Jul 2023 23:29:45 +0200 Subject: [PATCH 004/219] Fixed: PCClassTest - renamed CLASSTYPE to TYPE in sample data. (#6881) Corrected few typos, and removed an empty line. Signed-off-by: Vest --- .../java/pcgen/cdom/enumeration/FactKey.java | 2 +- .../rules/persistence/CDOMControlLoader.java | 2 +- .../pcgen/rules/persistence/TokenSupport.java | 2 +- code/src/test/pcgen/core/PCClassTest.java | 21 ++++++++++--------- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/code/src/java/pcgen/cdom/enumeration/FactKey.java b/code/src/java/pcgen/cdom/enumeration/FactKey.java index 5484375806a..93635998cb5 100644 --- a/code/src/java/pcgen/cdom/enumeration/FactKey.java +++ b/code/src/java/pcgen/cdom/enumeration/FactKey.java @@ -65,7 +65,7 @@ public String toString() /** * Returns the FactKey for the given String (the search for the constant is - * case insensitive). If the constant does not already exist, a new FactKey + * case-insensitive). If the constant does not already exist, a new FactKey * is created with the given String as the name of the FactKey. * * @param name diff --git a/code/src/java/pcgen/rules/persistence/CDOMControlLoader.java b/code/src/java/pcgen/rules/persistence/CDOMControlLoader.java index 370eb3beaa1..d0eb6abf5a1 100644 --- a/code/src/java/pcgen/rules/persistence/CDOMControlLoader.java +++ b/code/src/java/pcgen/rules/persistence/CDOMControlLoader.java @@ -42,7 +42,7 @@ public class CDOMControlLoader extends LstLineFileLoader public CDOMControlLoader() { - //CONSIDER better way to load these? + //CONSIDER a better way to load these? addLineLoader(new CDOMSubLineLoader<>("FACTDEF", FactDefinition.class)); addLineLoader(new CDOMSubLineLoader<>("FACTSETDEF", FactSetDefinition.class)); addLineLoader(new CDOMSubLineLoader<>("DEFAULTVARIABLEVALUE", DefaultVarValue.class)); diff --git a/code/src/java/pcgen/rules/persistence/TokenSupport.java b/code/src/java/pcgen/rules/persistence/TokenSupport.java index af4140cdd8d..d1d89e07e76 100644 --- a/code/src/java/pcgen/rules/persistence/TokenSupport.java +++ b/code/src/java/pcgen/rules/persistence/TokenSupport.java @@ -238,7 +238,7 @@ public ParseResult processSubToken(LoadContext context, T cdo, String tokenN } } /* - * CONSIDER Better option than toString, given that T != CDOMObject + * CONSIDER a better option than toString, given that T != CDOMObject */ cpr.addErrorMessage( "Illegal " + tokenName + " subtoken '" + key + "' '" + value + "' for " + cl.getName() + ' ' + cdo); diff --git a/code/src/test/pcgen/core/PCClassTest.java b/code/src/test/pcgen/core/PCClassTest.java index 4dc114fea8b..289ca77d31d 100644 --- a/code/src/test/pcgen/core/PCClassTest.java +++ b/code/src/test/pcgen/core/PCClassTest.java @@ -424,7 +424,7 @@ void testGetPCCText() throws PersistenceLayerException throw new UnreachableError(e); } PCClass reconstClass; - System.out.println("Got text:" + classPCCText); + System.out.println("Got text: " + classPCCText); reconstClass = parsePCClassText(classPCCText, source); assertEquals( classPCCText, reconstClass.getPCCText(), @@ -444,7 +444,7 @@ void testGetPCCText() throws PersistenceLayerException classPCCText = humanoidClass.getPCCText(); assertNotNull(classPCCText, "PCC Text for race should not be null"); - System.out.println("Got text:" + classPCCText); + System.out.println("Got text: " + classPCCText); reconstClass = parsePCClassText(classPCCText, source); assertEquals( classPCCText, reconstClass.getPCCText(), @@ -456,8 +456,8 @@ void testGetPCCText() throws PersistenceLayerException humanoidClass.getOriginalClassLevel(1).getListMods(Spell.SPELLS); Collection> reconstSpells = reconstClass.getOriginalClassLevel(1).getListMods(Spell.SPELLS); - assertEquals(startSpells - .size(), reconstSpells.size(), "All spell should have been reconstituted."); + assertEquals(startSpells.size(), reconstSpells.size(), + "All spell should have been reconstituted."); assertEquals(startSpells, reconstSpells, "Spell names should been preserved."); } @@ -861,8 +861,9 @@ void testAddAbility() throws PersistenceLayerException { throw new UnreachableError(e); } + String classPCCText = - "CLASS:Cleric HD:8 CLASSTYPE:PC TYPE:Base.PC ABB:Clr ABILITY:TestCat|AUTOMATIC|Ability1\n" + "CLASS:Cleric HD:8 TYPE:PC TYPE:Base.PC FACT:Abb|Clr ABILITY:TestCat|AUTOMATIC|Ability1\n" + "CLASS:Cleric STARTSKILLPTS:2\n" + "2 ABILITY:TestCat|AUTOMATIC|Ability2"; PCClass pcclass = parsePCClassText(classPCCText, source); @@ -1004,7 +1005,7 @@ private static PCClass parsePCClassText(String classPCCText, String line = tok.nextToken(); if (!line.trim().isEmpty()) { - System.out.println("Processing line:'" + line + "'."); + System.out.println("Processing line: '" + line + "'."); reconstClass = pcClassLoader.parseLine(Globals.getContext(), reconstClass, line, source); } @@ -1033,7 +1034,7 @@ public void setUp() throws Exception throw new UnreachableError(e); } - // Create the monseter class type + // Create the monster class type GameMode gamemode = SettingsHandler.getGameAsProperty().get(); SimpleLoader methodLoader = new SimpleLoader<>(ClassType.class); methodLoader.parseLine(gamemode.getModeContext(), @@ -1044,7 +1045,7 @@ public void setUp() throws Exception // Create the humanoid class String classDef = - "CLASS:Humanoid KEY:KEY_Humanoid HD:8 CLASSTYPE:Monster STARTSKILLPTS:1 " + "CLASS:Humanoid KEY:KEY_Humanoid HD:8 TYPE:Monster STARTSKILLPTS:1 " + "MODTOSKILLS:NO MONSKILL:6+INT MONNONSKILLHD:1|PRESIZELTEQ:M " + "MONNONSKILLHD:2|PRESIZEEQ:L"; PCClassLoader classLoader = new PCClassLoader(); @@ -1052,7 +1053,7 @@ public void setUp() throws Exception humanoidClass = classLoader.parseLine(context, null, classDef, source); classDef = - "CLASS:Nymph KEY:KEY_Nymph CLASSTYPE:Monster HD:6 STARTSKILLPTS:6 MODTOSKILLS:YES "; + "CLASS:Nymph KEY:KEY_Nymph TYPE:Monster HD:6 STARTSKILLPTS:6 MODTOSKILLS:YES "; classLoader = new PCClassLoader(); nymphClass = classLoader.parseLine(context, null, classDef, source); @@ -1117,7 +1118,7 @@ public void setUp() throws Exception nqClass.getOriginalClassLevel(2).put(VariableKey.getConstant("Foo"), FormulaFactory.getFormulaFor(2)); } - + @Override protected void defaultSetupEnd() { From a4ca9b5c94cda4da3a16eaa396f5e8dec42b0d7c Mon Sep 17 00:00:00 2001 From: Vest Date: Tue, 4 Jul 2023 23:29:59 +0200 Subject: [PATCH 005/219] Fixed: pcGenGUIPfrpgRogueTest by removing two traits from pf_Rogue.xml, removed empty tabs from XML, renamed "Case (Map or Scroll)" to "Map Case", because the previous item doesn't exist in Pathfinder. (#6883) After this change, the map and 4 parchements are located in the Map Case properly. Signed-off-by: Vest --- code/testsuite/PCGfiles/pf_Rogue.pcg | 8 +- code/testsuite/csheets/pf_Rogue.xml | 169 +++++++++++++++++++-------- 2 files changed, 125 insertions(+), 52 deletions(-) diff --git a/code/testsuite/PCGfiles/pf_Rogue.pcg b/code/testsuite/PCGfiles/pf_Rogue.pcg index 8276fd79490..2527ad53fd8 100644 --- a/code/testsuite/PCGfiles/pf_Rogue.pcg +++ b/code/testsuite/PCGfiles/pf_Rogue.pcg @@ -190,7 +190,7 @@ EQUIPNAME:Map Maker's Kit|OUTPUTORDER:39|COST:10|WT:2.0|QUANTITY:1.0 EQUIPNAME:Masterwork Morningstar (Small/Alchemical Silver)|OUTPUTORDER:34|COST:398.0|WT:3.0|QUANTITY:1.0|CUSTOMIZATION:[BASEITEM:Morningstar|DATA:NAME=Masterwork Morningstar (Small/Alchemical Silver)$SIZE=S$EQMOD=STEEL.ALCHM.MWORKW] EQUIPNAME:Grappling Hook|OUTPUTORDER:38|COST:1|WT:4.0|QUANTITY:1.0 EQUIPNAME:Coin (Silver Piece)|OUTPUTORDER:28|COST:0.1|WT:0.02|QUANTITY:6.0 -EQUIPNAME:Case (Map or Scroll)|OUTPUTORDER:13|COST:1|WT:0.5|QUANTITY:1.0 +EQUIPNAME:Map Case|OUTPUTORDER:13|COST:1|WT:0.5|QUANTITY:1.0 EQUIPNAME:Masterwork Thieves' Tools|OUTPUTORDER:25|COST:100.0|WT:1.0|QUANTITY:1.0|CUSTOMIZATION:[BASEITEM:Thieves' Tools|DATA:NAME=Masterwork Thieves' Tools$EQMOD=MWORKT] EQUIPNAME:Waterskin|OUTPUTORDER:41|COST:1|WT:0.0|QUANTITY:1.0 EQUIPNAME:Saddlebags|OUTPUTORDER:37|COST:4|WT:8.0|QUANTITY:1.0 @@ -217,9 +217,9 @@ EQUIPSET:Shoulders|ID:0.1.10|VALUE:Cloak of Resistance +3|QUANTITY:1.0|USETEMPMO EQUIPSET:Torso|ID:0.1.11|VALUE:Outfit (Explorer's/Small)|QUANTITY:1.0|USETEMPMODS:Y EQUIPSET:Feet|ID:0.1.12|VALUE:Boots of Elvenkind|QUANTITY:1.0|USETEMPMODS:Y EQUIPSET:Equipped|ID:0.1.13|VALUE:Backpack (Masterwork) (Small)|QUANTITY:1.0|USETEMPMODS:Y -EQUIPSET:Backpack (Masterwork) (Small)|ID:0.1.13.01|VALUE:Case (Map or Scroll)|QUANTITY:1.0|USETEMPMODS:Y -EQUIPSET:Case (Map or Scroll)|ID:0.1.13.01.01|VALUE:Map of Inner Daggermark|QUANTITY:1.0|USETEMPMODS:Y -EQUIPSET:Case (Map or Scroll)|ID:0.1.13.01.02|VALUE:Parchment (Sheet)|QUANTITY:4.0|USETEMPMODS:Y +EQUIPSET:Backpack (Masterwork) (Small)|ID:0.1.13.01|VALUE:Map Case|QUANTITY:1.0|USETEMPMODS:Y +EQUIPSET:Map Case|ID:0.1.13.01.01|VALUE:Map of Inner Daggermark|QUANTITY:1.0|USETEMPMODS:Y +EQUIPSET:Map Case|ID:0.1.13.01.02|VALUE:Parchment (Sheet)|QUANTITY:4.0|USETEMPMODS:Y EQUIPSET:Backpack (Masterwork) (Small)|ID:0.1.13.02|VALUE:Flint and Steel|QUANTITY:1.0|USETEMPMODS:Y EQUIPSET:Backpack (Masterwork) (Small)|ID:0.1.13.03|VALUE:Inkpen|QUANTITY:2.0|USETEMPMODS:Y EQUIPSET:Backpack (Masterwork) (Small)|ID:0.1.13.04|VALUE:Lantern (Bullseye)|QUANTITY:1.0|USETEMPMODS:Y diff --git a/code/testsuite/csheets/pf_Rogue.xml b/code/testsuite/csheets/pf_Rogue.xml index 2487a5c7a14..ae562e87169 100644 --- a/code/testsuite/csheets/pf_Rogue.xml +++ b/code/testsuite/csheets/pf_Rogue.xml @@ -981,7 +981,7 @@ BIO 20/x2 - + @@ -998,13 +998,19 @@ BIO +1 +15/+10 - + + +0 + +0 + Off-hand 2 5 S - + PS 0 0 @@ -1085,13 +1091,19 @@ BIO +1 +15/+10 - + + +0 + +0 + Primary 2 5 S - + P 1 2 @@ -1145,13 +1157,19 @@ BIO -2 +14/+9 - + + +0 + +0 + Not Carried 2 5 M splash weapon, full-round action to prepare, 50% chance to ignite - + F 1 3 @@ -1200,13 +1218,19 @@ BIO +0 +16/+11 - + + +0 + +0 + Carried 2 5 S - + B 0 4 @@ -1255,13 +1279,19 @@ BIO +1 +17/+12 - + + +0 + +0 + Carried 2 5 S nonlethal - + B 1 5 @@ -1315,13 +1345,19 @@ BIO +0 +16/+11 - + + +0 + +0 + Not Carried 2 5 S - + PS 0 6 @@ -1402,13 +1438,19 @@ BIO +1 +12/+7 - + + +0 + +0 + Not Carried 2 5 S silver - + BP 3 8 @@ -1462,13 +1504,19 @@ BIO +1 +17/+12 - + + +0 + +0 + Not Carried 2 5 S cold iron - + P 1 9 @@ -1913,9 +1961,9 @@ BIO 1.0 - 9 lbs., 1 Flint and Steel, 2 Inkpen, 1 Bullseye Lantern, 1 Oil, 1 Potion of Cure Light Wounds, 1 Trail Ration, 1 Rope of Climbing, 1 Sealing Wax - 8 - 9 + 9.5 lbs., 1 Map Case, 1 Flint and Steel, 2 Inkpen, 1 Bullseye Lantern, 1 Oil, 1 Potion of Cure Light Wounds, 1 Trail Ration, 1 Rope of Climbing, 1 Sealing Wax + 9 + 9.5 50 Y Equipped @@ -1932,6 +1980,32 @@ BIO 1 + + Case, Map + + Map Case + 1.0 + + + 0 lbs., 1 Map of Inner Daggermark, 4 Parchment + 2 + 0 + 1 + N + Backpack (Masterwork) (Small) + 0 + + 1 + 1 + + Medium + M + + + GOODS.CONTAINER.GENERAL + 0.5 + + Map of Inner Daggermark @@ -1944,7 +2018,7 @@ BIO 0 0.2 N - Carried + Map Case 0 1 @@ -1970,7 +2044,7 @@ BIO 0 0.2 N - Carried + Map Case 0 4 @@ -2687,7 +2761,7 @@ BIO - 36.39 lbs. + 36.89 lbs. 49170.8 gp Light 112.5 @@ -2951,7 +3025,7 @@ BIO 1.0 - 9 lbs., 1 Flint and Steel, 2 Inkpen, 1 Bullseye Lantern, 1 Oil, 1 Potion of Cure Light Wounds, 1 Trail Ration, 1 Rope of Climbing, 1 Sealing Wax + 9.5 lbs., 1 Map Case, 1 Flint and Steel, 2 Inkpen, 1 Bullseye Lantern, 1 Oil, 1 Potion of Cure Light Wounds, 1 Trail Ration, 1 Rope of Climbing, 1 Sealing Wax 50 Y Equipped @@ -2967,6 +3041,27 @@ BIO 1 + + Map Case + 1.0 + + + 0 lbs., 1 Map of Inner Daggermark, 4 Parchment + 1 + N + Backpack (Masterwork) (Small) + 0 + + 1 + + Medium + M + + + GOODS.CONTAINER.GENERAL + 0.5 + + Map of Inner Daggermark 1.0 @@ -2975,7 +3070,7 @@ BIO 0.2 N - Carried + Map Case 0 1 @@ -2996,7 +3091,7 @@ BIO 0.2 N - Carried + Map Case 0 4 @@ -3996,28 +4091,6 @@ BIO F Special Ability - - Halfling Traits - - - - 0 - T - T - F - Special Ability - - - Humanoid Traits - - - - 0 - T - T - F - Special Ability - Languages Halflings begin play speaking Common and Halfling. Halflings with high Intelligence scores can choose from the following: Dwarven, Elven, Gnome, and Goblin. From b2eb4447286ab3cdcc6ae6253162e321db154f0d Mon Sep 17 00:00:00 2001 From: Vest Date: Fri, 7 Jul 2023 02:56:50 +0200 Subject: [PATCH 006/219] Fixed: Updated expected templates (csheet files) (#6885) * Fixed: pcGenGUIPfrpgClericTest by removing two traits from pf_Cleric.xml, removed empty tabs from XML. Signed-off-by: Vest * Fixed: pcGenGUIPfrpgPaladinTest by removing two traits from pf_Paladin.xml, removed empty tabs from XML. Signed-off-by: Vest --------- Signed-off-by: Vest --- code/testsuite/csheets/pf_Cleric.xml | 54 ++++++----- code/testsuite/csheets/pf_Paladin.xml | 124 +++++++++++++++++--------- 2 files changed, 106 insertions(+), 72 deletions(-) diff --git a/code/testsuite/csheets/pf_Cleric.xml b/code/testsuite/csheets/pf_Cleric.xml index 01a2f097c93..563a23efc90 100644 --- a/code/testsuite/csheets/pf_Cleric.xml +++ b/code/testsuite/csheets/pf_Cleric.xml @@ -797,7 +797,7 @@ BIO 20/x2 - + @@ -814,13 +814,19 @@ BIO +1 +3 - + + +0 + +0 + Primary 1 5 M - + BP 6 0 @@ -874,13 +880,19 @@ BIO +0 +2 - + + +0 + +0 + Carried 1 5 M - + P 4 1 @@ -929,13 +941,19 @@ BIO +0 -2 - + + +0 + +0 + Equipped 1 5 M - + 6 2 @@ -2319,28 +2337,6 @@ BIO F Special Ability - - Humanoid Traits - - - - 0 - T - T - F - Special Ability - - - Human Traits - - - - 0 - T - T - F - Special Ability - Languages Humans begin play speaking Common. Humans with high Intelligence scores can choose any languages they want (except secret languages, such as Druidic). diff --git a/code/testsuite/csheets/pf_Paladin.xml b/code/testsuite/csheets/pf_Paladin.xml index d250e16046f..0bf2cc99acf 100644 --- a/code/testsuite/csheets/pf_Paladin.xml +++ b/code/testsuite/csheets/pf_Paladin.xml @@ -849,7 +849,7 @@ BIO 20/x2 - + @@ -866,13 +866,19 @@ BIO +1 +12/+7 - + + +0 + +0 + Both 2 5 M disarm, trip - + B 10 0 @@ -926,13 +932,19 @@ BIO -1 +10/+5 - + + +0 + +0 + Both 2 5 M disarm, trip - + B 0 1 @@ -986,13 +998,19 @@ BIO +0 +10/+5 - + + +0 + +0 + Equipped 2 5 M - + P 0 2 @@ -1046,13 +1064,19 @@ BIO +0 +7/+2 - + + +0 + +0 + Equipped 2 5 M splash weapon - + 1 3 @@ -1101,13 +1125,19 @@ BIO +0 +7/+2 - + + +0 + +0 + Equipped 2 5 M splash weapon, full-round action to prepare, 50% chance to ignite - + F 1 4 @@ -1156,13 +1186,19 @@ BIO +0 +10/+5 - + + +0 + +0 + Carried 2 5 M - + PS 0 5 @@ -1243,13 +1279,19 @@ BIO +0 +7/+2 - + + +0 + +0 + Not Carried 2 5 M - + P 2 7 @@ -1298,13 +1340,19 @@ BIO +0 +10/+5 - + + +0 + +0 + Carried 2 5 M silver - + S 4 8 @@ -1358,13 +1406,19 @@ BIO +0 +10/+5 - + + +0 + +0 + Not Carried 2 5 M - + P 0 9 @@ -1445,13 +1499,19 @@ BIO +0 +10/+5 - + + +0 + +0 + Carried 2 5 M - + P 0 11 @@ -3358,28 +3418,6 @@ BIO F Special Ability - - Humanoid Traits - - - - 0 - T - T - F - Special Ability - - - Human Traits - - - - 0 - T - T - F - Special Ability - Languages Humans begin play speaking Common. Humans with high Intelligence scores can choose any languages they want (except secret languages, such as Druidic). From 78ec523233ddefc2ec70bb77fd8ec0b461680e25 Mon Sep 17 00:00:00 2001 From: LegacyKing Date: Fri, 7 Jul 2023 14:37:57 -0700 Subject: [PATCH 007/219] Fix Goldielocks --- .../core_essentials/ce_abilities_race.lst | 3 ++- .../core_essentials/ce_templates.lst | 26 +++++++++---------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/data/pathfinder/paizo/roleplaying_game/core_essentials/ce_abilities_race.lst b/data/pathfinder/paizo/roleplaying_game/core_essentials/ce_abilities_race.lst index 18a648e77b9..7e06da6db53 100644 --- a/data/pathfinder/paizo/roleplaying_game/core_essentials/ce_abilities_race.lst +++ b/data/pathfinder/paizo/roleplaying_game/core_essentials/ce_abilities_race.lst @@ -1223,7 +1223,7 @@ Ranged Slam 7 (Colossal) CATEGORY:Internal TYPE:NaturalAttack PREBASESIZEEQ:C ###BLOCK: Dragons # Natural Armor For Wyrmling is a variable based upon type, but always increases by 3 thereafter # Ability Name Category of Ability Define Template Ability Combat bonus Misc bonus Stat bonus Modify VAR -True Dragon Defaults CATEGORY:Internal DEFINE:DragonSizeTracker|0 DEFINE:HasWings|0 DEFINE:DragonNaturalArmor|0 DEFINE:DragonLevelAdjustment|0 TEMPLATE:Dragon Size Tracker ABILITY:Internal|AUTOMATIC|Dragon Fly Speed ABILITY:Special Ability|AUTOMATIC|Dragon ~ Bite|Dragon ~ Breath Weapon|Dragon ~ Claw|Dragon ~ Dragon Senses|Dragon ~ Immunities|Dragon ~ Spell-Like Abilities|Dragon ~ Spells|Dragon Age Category|Flight Maneuverability ABILITY:Special Ability|AUTOMATIC|Dragon ~ Tail Slap|PRESIZEGTEQ:L ABILITY:Special Ability|AUTOMATIC|Dragon ~ Crush|PRESIZEGTEQ:H ABILITY:Special Ability|AUTOMATIC|Dragon ~ Tail Sweep|PRESIZEGTEQ:G ABILITY:Special Ability|AUTOMATIC|Dragon ~ Wing|PRESIZEGTEQ:M|PREVAREQ:HasWings,0 BONUS:COMBAT|AC|DragonNaturalArmor|TYPE=NaturalArmor BONUS:VAR|DragonSizeTracker|2 BONUS:VAR|DragonNaturalArmor|3*(DragonAgeCategory-1) +True Dragon Defaults CATEGORY:Internal DEFINE:DragonSizeTracker|0 DEFINE:HasWings|0 DEFINE:DragonNaturalArmor|0 DEFINE:DragonLevelAdjustment|0 TEMPLATE:Dragon Size Tracker ABILITY:Internal|AUTOMATIC|Dragon Fly Speed ABILITY:Special Ability|AUTOMATIC|Dragon ~ Bite|Dragon ~ Breath Weapon|Dragon ~ Claw|Dragon ~ Dragon Senses|Dragon ~ Immunities|Dragon ~ Spell-Like Abilities|Dragon ~ Spells|Dragon Age Category|Flight Maneuverability|True Dragon ~ Dragon Senses ABILITY:Special Ability|AUTOMATIC|Dragon ~ Tail Slap|PRESIZEGTEQ:L ABILITY:Special Ability|AUTOMATIC|Dragon ~ Crush|PRESIZEGTEQ:H ABILITY:Special Ability|AUTOMATIC|Dragon ~ Tail Sweep|PRESIZEGTEQ:G ABILITY:Special Ability|AUTOMATIC|Dragon ~ Wing|PRESIZEGTEQ:M|PREVAREQ:HasWings,0 BONUS:COMBAT|AC|DragonNaturalArmor|TYPE=NaturalArmor BONUS:VAR|DragonSizeTracker|2 BONUS:VAR|DragonNaturalArmor|3*(DragonAgeCategory-1) # These are designed to be stack as the dragon increases Dragon Age (2) CATEGORY:Internal BONUS:MISC|CR|2 BONUS:STAT|STR|4|TYPE=Racial.STACK BONUS:STAT|CON,INT,WIS,CHA|2|TYPE=Racial.STACK BONUS:STAT|DEX|-2|TYPE=Racial.STACK BONUS:VAR|DragonSizeTracker|1 @@ -1263,6 +1263,7 @@ Damage Reduction / Magic CATEGORY:Internal DEFINE:DragonDR|0 Dragon Fly Speed CATEGORY:Internal VISIBLE:NO DEFINE:Maneuverability|0 MOVE:Fly,100 BONUS:MOVEADD|TYPE.Fly|50|PRESIZEGTEQ:S BONUS:MOVEADD|TYPE.Fly|50|PRESIZEGTEQ:L BONUS:MOVEADD|TYPE.Fly|50|PRESIZEGTEQ:G BONUS:VAR|Maneuverability|3 BONUS:VAR|Maneuverability|-1|PRESIZEGTEQ:L BONUS:VAR|Maneuverability|-1|PRESIZEGTEQ:G # Ability Name Unique Key SORTKEY Category of Ability Type Visible Define Description Move Ability Add to base move Modify VAR Weapon prof. bonus Spell Res. Damage Reduction Source Page Aspects Dragon Age Category SORTKEY:a CATEGORY:Special Ability TYPE:SpecialQuality DEFINE:DragonAgeCategory|0 ABILITY:Internal|AUTOMATIC|Dragon Age (2)|PREVARGTEQ:DragonAgeCategory,2 ABILITY:Internal|AUTOMATIC|Dragon Age (3)|PREVARGTEQ:DragonAgeCategory,3 ABILITY:Internal|AUTOMATIC|Dragon Age (4)|PREVARGTEQ:DragonAgeCategory,4 ABILITY:Internal|AUTOMATIC|Dragon Age (5)|PREVARGTEQ:DragonAgeCategory,5 ABILITY:Internal|AUTOMATIC|Dragon Age (6)|PREVARGTEQ:DragonAgeCategory,6 ABILITY:Internal|AUTOMATIC|Dragon Age (7)|PREVARGTEQ:DragonAgeCategory,7 ABILITY:Internal|AUTOMATIC|Dragon Age (8)|PREVARGTEQ:DragonAgeCategory,8 ABILITY:Internal|AUTOMATIC|Dragon Age (9)|PREVARGTEQ:DragonAgeCategory,9 ABILITY:Internal|AUTOMATIC|Dragon Age (10)|PREVARGTEQ:DragonAgeCategory,10 ABILITY:Internal|AUTOMATIC|Dragon Age (11)|PREVARGTEQ:DragonAgeCategory,11 ABILITY:Internal|AUTOMATIC|Dragon Age (12)|PREVARGTEQ:DragonAgeCategory,12 ASPECT:NAME|Dragon Age Category - Wyrmling|PREVAREQ:DragonAgeCategory,1 ASPECT:NAME|Dragon Age Category - Very Young|PREVAREQ:DragonAgeCategory,2 ASPECT:NAME|Dragon Age Category - Young|PREVAREQ:DragonAgeCategory,3 ASPECT:NAME|Dragon Age Category - Juvenile|PREVAREQ:DragonAgeCategory,4 ASPECT:NAME|Dragon Age Category - Young Adult|PREVAREQ:DragonAgeCategory,5 ASPECT:NAME|Dragon Age Category - Adult|PREVAREQ:DragonAgeCategory,6 ASPECT:NAME|Dragon Age Category - Mature Adult|PREVAREQ:DragonAgeCategory,7 ASPECT:NAME|Dragon Age Category - Old|PREVAREQ:DragonAgeCategory,8 ASPECT:NAME|Dragon Age Category - Very Old|PREVAREQ:DragonAgeCategory,9 ASPECT:NAME|Dragon Age Category - Ancient|PREVAREQ:DragonAgeCategory,10 ASPECT:NAME|Dragon Age Category - Wyrm|PREVAREQ:DragonAgeCategory,11 ASPECT:NAME|Dragon Age Category - Great Wyrm|PREVARGTEQ:DragonAgeCategory,12 +Dragon Senses KEY:True Dragon ~ Dragon Senses CATEGORY:Special Ability TYPE:SpecialQuality.Extraordinary DESC:Dragons have darkvision 120 ft. and blindsense 60 ft. They see four times as well as a human in dim light and twice as well in normal light. BONUS:VAR|DarkvisionRange|120|TYPE=Base BONUS:VAR|BlindsenseRange|60|TYPE=Base ###Block # This is to prevent an incorrect KIT from being applied diff --git a/data/pathfinder/paizo/roleplaying_game/core_essentials/ce_templates.lst b/data/pathfinder/paizo/roleplaying_game/core_essentials/ce_templates.lst index e2e5c69d193..9c8354ece5e 100644 --- a/data/pathfinder/paizo/roleplaying_game/core_essentials/ce_templates.lst +++ b/data/pathfinder/paizo/roleplaying_game/core_essentials/ce_templates.lst @@ -1013,19 +1013,19 @@ SOURCELONG:Bestiary SOURCESHORT:B1 SOURCEWEB:http://paizo.com/store/downloads/pa ###Block: Dragon Age Category templates -# Template Name Challenge Rating Visible Template Define Stat bonus Modify VAR Add Levels Vision -Dragon Age Category (Wyrmling) VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:VAR|DragonAgeCategory|1 VISION:Blindsense (60')|Darkvision (120') -Dragon Age Category (Very Young) CR:2 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|4 BONUS:STAT|DEX|-2 BONUS:STAT|CON|2 BONUS:STAT|WIS,CHA|2 BONUS:VAR|AC_Natural_Armor|3|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|2 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|2 VISION:Blindsense (60')|Darkvision (120') -Dragon Age Category (Young) CR:4 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|8 BONUS:STAT|DEX|-2 BONUS:STAT|CON|4 BONUS:STAT|WIS,CHA|2 BONUS:VAR|AC_Natural_Armor|6|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|3 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|4 VISION:Blindsense (60')|Darkvision (120') -Dragon Age Category (Juvenile) CR:5 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|10 BONUS:STAT|DEX|-2 BONUS:STAT|CON|6 BONUS:STAT|WIS,CHA|4 BONUS:VAR|AC_Natural_Armor|9|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|4 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|6 VISION:Blindsense (60')|Darkvision (120') -Dragon Age Category (Young Adult) CR:7 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|12 BONUS:STAT|DEX|-4 BONUS:STAT|CON|6 BONUS:STAT|WIS,CHA|4 BONUS:VAR|AC_Natural_Armor|12|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|5 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|8 VISION:Blindsense (60')|Darkvision (120') -Dragon Age Category (Adult) CR:8 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|14 BONUS:STAT|DEX|-4 BONUS:STAT|CON|8 BONUS:STAT|WIS,CHA|6 BONUS:VAR|AC_Natural_Armor|15|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|6 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|10 VISION:Blindsense (60')|Darkvision (120') -Dragon Age Category (Mature Adult) CR:9 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|16 BONUS:STAT|DEX|-4 BONUS:STAT|CON|8 BONUS:STAT|WIS,CHA|6 BONUS:VAR|AC_Natural_Armor|18|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|7 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|12 VISION:Blindsense (60')|Darkvision (120') -Dragon Age Category (Old) CR:11 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|18 BONUS:STAT|DEX|-6 BONUS:STAT|CON|10 BONUS:STAT|WIS,CHA|8 BONUS:VAR|AC_Natural_Armor|21|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|8 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|14 VISION:Blindsense (60')|Darkvision (120') -Dragon Age Category (Very Old) CR:12 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|20 BONUS:STAT|DEX|-6 BONUS:STAT|CON|10 BONUS:STAT|WIS,CHA|8 BONUS:VAR|AC_Natural_Armor|24|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|9 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|16 VISION:Blindsense (60')|Darkvision (120') -Dragon Age Category (Ancient) CR:13 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|22 BONUS:STAT|DEX|-6 BONUS:STAT|CON|12 BONUS:STAT|WIS,CHA|10 BONUS:VAR|AC_Natural_Armor|27|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|10 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|18 VISION:Blindsense (60')|Darkvision (120') -Dragon Age Category (Wyrm) CR:14 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|24 BONUS:STAT|DEX|-8 BONUS:STAT|CON|12 BONUS:STAT|WIS,CHA|10 BONUS:VAR|AC_Natural_Armor|30|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|11 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|20 VISION:Blindsense (60')|Darkvision (120') -Dragon Age Category (Great Wyrm) CR:16 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|26 BONUS:STAT|DEX|-8 BONUS:STAT|CON|14 BONUS:STAT|WIS,CHA|12 BONUS:VAR|AC_Natural_Armor|33|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|12 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|22 VISION:Blindsense (60')|Darkvision (120') +# Template Name Challenge Rating Visible Template Define Stat bonus Modify VAR Add Levels +Dragon Age Category (Wyrmling) VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:VAR|DragonAgeCategory|1 +Dragon Age Category (Very Young) CR:2 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|4 BONUS:STAT|DEX|-2 BONUS:STAT|CON|2 BONUS:STAT|WIS,CHA|2 BONUS:VAR|AC_Natural_Armor|3|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|2 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|2 +Dragon Age Category (Young) CR:4 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|8 BONUS:STAT|DEX|-2 BONUS:STAT|CON|4 BONUS:STAT|WIS,CHA|2 BONUS:VAR|AC_Natural_Armor|6|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|3 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|4 +Dragon Age Category (Juvenile) CR:5 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|10 BONUS:STAT|DEX|-2 BONUS:STAT|CON|6 BONUS:STAT|WIS,CHA|4 BONUS:VAR|AC_Natural_Armor|9|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|4 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|6 +Dragon Age Category (Young Adult) CR:7 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|12 BONUS:STAT|DEX|-4 BONUS:STAT|CON|6 BONUS:STAT|WIS,CHA|4 BONUS:VAR|AC_Natural_Armor|12|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|5 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|8 +Dragon Age Category (Adult) CR:8 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|14 BONUS:STAT|DEX|-4 BONUS:STAT|CON|8 BONUS:STAT|WIS,CHA|6 BONUS:VAR|AC_Natural_Armor|15|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|6 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|10 +Dragon Age Category (Mature Adult) CR:9 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|16 BONUS:STAT|DEX|-4 BONUS:STAT|CON|8 BONUS:STAT|WIS,CHA|6 BONUS:VAR|AC_Natural_Armor|18|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|7 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|12 +Dragon Age Category (Old) CR:11 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|18 BONUS:STAT|DEX|-6 BONUS:STAT|CON|10 BONUS:STAT|WIS,CHA|8 BONUS:VAR|AC_Natural_Armor|21|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|8 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|14 +Dragon Age Category (Very Old) CR:12 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|20 BONUS:STAT|DEX|-6 BONUS:STAT|CON|10 BONUS:STAT|WIS,CHA|8 BONUS:VAR|AC_Natural_Armor|24|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|9 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|16 +Dragon Age Category (Ancient) CR:13 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|22 BONUS:STAT|DEX|-6 BONUS:STAT|CON|12 BONUS:STAT|WIS,CHA|10 BONUS:VAR|AC_Natural_Armor|27|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|10 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|18 +Dragon Age Category (Wyrm) CR:14 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|24 BONUS:STAT|DEX|-8 BONUS:STAT|CON|12 BONUS:STAT|WIS,CHA|10 BONUS:VAR|AC_Natural_Armor|30|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|11 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|20 +Dragon Age Category (Great Wyrm) CR:16 VISIBLE:NO TEMPLATE:CHOOSE:Dragon (Tiny)|Dragon (Small)|Dragon (Medium)|Dragon (Large)|Dragon (Huge)|Dragon (Gargantuan)|Dragon (Colossal) DEFINE:DragonAgeCategory|0 BONUS:STAT|STR|26 BONUS:STAT|DEX|-8 BONUS:STAT|CON|14 BONUS:STAT|WIS,CHA|12 BONUS:VAR|AC_Natural_Armor|33|TYPE=Base.STACK BONUS:VAR|DragonAgeCategory|12 BONUS:VAR|FrightfulPresenceRange|DragonAgeCategory*30 ADDLEVEL:Dragon|22 SOURCELONG:Bestiary SOURCESHORT:B1 SOURCEWEB:http://paizo.com/store/downloads/pathfinder/pathfinderRPG/v5748btpy8auu SOURCEDATE:2009-10 From 461ba570d33ad78d5690cb94fe4b1d14c7d8946f Mon Sep 17 00:00:00 2001 From: LegacyKing Date: Fri, 7 Jul 2023 14:38:54 -0700 Subject: [PATCH 008/219] Movement wasn't connected. Fix Movement. (Precursor to moving to new formula system) --- .../core_essentials/ce_abilities.lst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/data/pathfinder/paizo/roleplaying_game/core_essentials/ce_abilities.lst b/data/pathfinder/paizo/roleplaying_game/core_essentials/ce_abilities.lst index b4493b88781..8b57c35ab77 100644 --- a/data/pathfinder/paizo/roleplaying_game/core_essentials/ce_abilities.lst +++ b/data/pathfinder/paizo/roleplaying_game/core_essentials/ce_abilities.lst @@ -1,6 +1,8 @@ # Fri Nov 16 19:52:40 2018 -- reformated by PCGen PrettyLST v6.08.00 # CVS $Revision$ $Author$ -- Wed Feb 3 13:47:16 2016 -- reformated by PCGen PrettyLST v6.06.00 +CATEGORY=Internal|Default.MOD ABILITY:Internal|AUTOMATIC|Movement + ###Block: Caster Level Tracking # Ability Name Define Ability Modify VAR CATEGORY=Internal|Default.MOD DEFINE:Caster_Level_Highest|0 @@ -11,11 +13,9 @@ CATEGORY=Internal|Default.MOD DEFINE:Caster_Level_Total__Arcane|0 CATEGORY=Internal|Default.MOD DEFINE:Caster_Level_Total__Divine|0 CATEGORY=Internal|Default.MOD DEFINE:Caster_Level_Total|0 - # Combined to get Highest Arcane or Divine caster level CATEGORY=Internal|Default.MOD BONUS:VAR|Caster_Level_Highest|max(Caster_Level_Highest__Arcane,Caster_Level_Highest__Divine) - # Comment: PC and NPCs are usually playable races that follow age rules, Monsters don't normally follow age rules. CATEGORY=Internal|Default.MOD DEFINE:UseAgeRules|0 DEFINE:AgeProgression|0 ABILITY:Internal|AUTOMATIC|Age|PREVAREQ:UseAgeRules,1 BONUS:VAR|UseAgeRules|1|TYPE=Bool|PRECHARACTERTYPE:1,PC,NPC @@ -725,11 +725,11 @@ CATEGORY=Internal|Movement.MOD DEFINE:BaseMove_Burrow|0 DEF CATEGORY=Internal|Movement.MOD DEFINE:BaseMove_Swim|0 DEFINE:TotalSpeed_Swim|0 DEFINE:CombinedMove_Swim|0 DEFINE:BonusMove_Swim|0 DEFINE:PostBonusMove_Swim|0 # Formula for the various Movements - BaseMove + BonusMove = CombinedMove. Min value of CombinedMove and ReducedMove + PostBonusMove -CATEGORY=Internal|Movement.MOD BONUS:VAR|TotalSpeed_Walk|PostBonusMove_Walk+min(CombinedMove_Walk,ReducedMove_All)|TYPE=Speed BONUS:VAR|CombinedMove_Walk|BaseMove_Walk+BonusMove_Walk -CATEGORY=Internal|Movement.MOD BONUS:VAR|TotalSpeed_Climb|PostBonusMove_Climb+min(CombinedMove_Climb,ReducedMove_All)|TYPE=Speed BONUS:VAR|CombinedMove_Climb|BaseMove_Climb+BonusMove_Climb -CATEGORY=Internal|Movement.MOD BONUS:VAR|TotalSpeed_Fly|PostBonusMove_Fly+min(CombinedMove_Fly,ReducedMove_All)|TYPE=Speed BONUS:VAR|CombinedMove_Fly|BaseMove_Fly+BonusMove_Fly -CATEGORY=Internal|Movement.MOD BONUS:VAR|TotalSpeed_Burrow|PostBonusMove_Burrow+min(CombinedMove_Burrow,ReducedMove_All)|TYPE=Speed BONUS:VAR|CombinedMove_Burrow|BaseMove_Burrow+BonusMove_Burrow -CATEGORY=Internal|Movement.MOD BONUS:VAR|TotalSpeed_Swim|PostBonusMove_Swim+min(CombinedMove_Swim,ReducedMove_All)|TYPE=Speed BONUS:VAR|CombinedMove_Swim|BaseMove_Swim+BonusMove_Swim +CATEGORY=Internal|Movement.MOD BONUS:VAR|TotalSpeed_Walk|PostBonusMove_Walk+CombinedMove_Walk|TYPE=Speed BONUS:VAR|CombinedMove_Walk|BaseMove_Walk+BonusMove_Walk +CATEGORY=Internal|Movement.MOD BONUS:VAR|TotalSpeed_Climb|PostBonusMove_ClimbCombinedMove_Climb|TYPE=Speed BONUS:VAR|CombinedMove_Climb|BaseMove_Climb+BonusMove_Climb +CATEGORY=Internal|Movement.MOD BONUS:VAR|TotalSpeed_Fly|PostBonusMove_Fly+CombinedMove_Fly|TYPE=Speed BONUS:VAR|CombinedMove_Fly|BaseMove_Fly+BonusMove_Fly +CATEGORY=Internal|Movement.MOD BONUS:VAR|TotalSpeed_Burrow|PostBonusMove_Burrow+CombinedMove_Burrow|TYPE=Speed BONUS:VAR|CombinedMove_Burrow|BaseMove_Burrow+BonusMove_Burrow +CATEGORY=Internal|Movement.MOD BONUS:VAR|TotalSpeed_Swim|PostBonusMove_Swim+CombinedMove_Swim|TYPE=Speed BONUS:VAR|CombinedMove_Swim|BaseMove_Swim+BonusMove_Swim CATEGORY=Internal|Movement.MOD ABILITY:Internal|AUTOMATIC|Walk ~ 05|PREVAREQ:TotalSpeed_Walk,5 From e281873f6fbd213eeba4577a142e4d2b74991e1e Mon Sep 17 00:00:00 2001 From: Vest Date: Sat, 8 Jul 2023 00:19:38 +0200 Subject: [PATCH 009/219] Fixed: Updated expected templates (csheet files) (#6887) * pcGenGUIPfrpgGoldielocksTest: Attempt to fix pf_goldielocks.xml integration test * pcGenGUIPfrpgGoldielocksTest: updated pf_goldielocks.xml to fix the integration test. Added the movement tag, because of 461ba570d33ad78d5690cb94fe4b1d14c7d8946f * pcGenGUIPfrpgClericTest: updated pf_Cleric.xml to fix the integration test. Added the movement tag, because of 461ba570d33ad78d5690cb94fe4b1d14c7d8946f * pcGenGUIPfrpgPaladinTest: updated pf_Paladin.xml to fix the integration test. Added the movement tag, because of 461ba570d33ad78d5690cb94fe4b1d14c7d8946f * pcGenGUIPfrpgRogueTest: updated pf_Rogue.xml to fix the integration test. Added the movement tag, because of 461ba570d33ad78d5690cb94fe4b1d14c7d8946f --- code/testsuite/csheets/pf_Cleric.xml | 11 ++++ code/testsuite/csheets/pf_Paladin.xml | 11 ++++ code/testsuite/csheets/pf_Rogue.xml | 11 ++++ code/testsuite/csheets/pf_goldielocks.xml | 64 +++++++++++++++++++---- 4 files changed, 88 insertions(+), 9 deletions(-) diff --git a/code/testsuite/csheets/pf_Cleric.xml b/code/testsuite/csheets/pf_Cleric.xml index 563a23efc90..e8750108a25 100644 --- a/code/testsuite/csheets/pf_Cleric.xml +++ b/code/testsuite/csheets/pf_Cleric.xml @@ -2503,6 +2503,17 @@ BIO F Internal + + Movement + + + + 0 + T + F + F + Internal + Racial Traits ~ Human diff --git a/code/testsuite/csheets/pf_Paladin.xml b/code/testsuite/csheets/pf_Paladin.xml index 0bf2cc99acf..4d74fa51b36 100644 --- a/code/testsuite/csheets/pf_Paladin.xml +++ b/code/testsuite/csheets/pf_Paladin.xml @@ -3584,6 +3584,17 @@ BIO F Internal + + Movement + + + + 0 + T + F + F + Internal + Paladin Core Class Skills diff --git a/code/testsuite/csheets/pf_Rogue.xml b/code/testsuite/csheets/pf_Rogue.xml index ae562e87169..09a76712e3d 100644 --- a/code/testsuite/csheets/pf_Rogue.xml +++ b/code/testsuite/csheets/pf_Rogue.xml @@ -4268,6 +4268,17 @@ BIO F Internal + + Movement + + + + 0 + T + F + F + Internal + Racial Traits ~ Halfling diff --git a/code/testsuite/csheets/pf_goldielocks.xml b/code/testsuite/csheets/pf_goldielocks.xml index be8d3383624..1b6c14d3eb4 100644 --- a/code/testsuite/csheets/pf_goldielocks.xml +++ b/code/testsuite/csheets/pf_goldielocks.xml @@ -927,7 +927,7 @@ BIO 20/x2 - + @@ -944,13 +944,19 @@ BIO +0 +38 - + + +0 + +0 + Primary 1 30 M - + BPS 0 0 @@ -977,13 +983,19 @@ BIO +0 +38/+38 - + + +0 + +0 + Primary 2 20 M - + PS 0 1 @@ -1010,13 +1022,19 @@ BIO +0 +36 - + + +0 + +0 + Primary 1 20 M - + B 0 2 @@ -1043,13 +1061,19 @@ BIO +0 +36/+36 - + + +0 + +0 + Primary 2 20 M - + B 0 3 @@ -1651,6 +1675,17 @@ BIO F Special Ability + + Dragon Senses + Dragons have darkvision 120 ft. and blindsense 60 ft. They see four times as well as a human in dim light and twice as well in normal light. + SPECIALQUALITY.EXTRAORDINARY + + 0 + T + F + F + Special Ability + Fast Flight A young or older gold dragon is treated as one size category larger when determining his fly speed. @@ -2049,6 +2084,17 @@ BIO F Internal + + Movement + + + + 0 + T + F + F + Internal + Racial Traits ~ Gold Dragon From 765bb11c6262b9f2620fc1875c999c6fc9827483 Mon Sep 17 00:00:00 2001 From: LegacyKing Date: Fri, 7 Jul 2023 16:09:52 -0700 Subject: [PATCH 010/219] Update the SF Mechanic Character to incorporate updates --- code/testsuite/PCGfiles/sf_mechanic.pcg | 193 +++++++++++++----------- 1 file changed, 103 insertions(+), 90 deletions(-) diff --git a/code/testsuite/PCGfiles/sf_mechanic.pcg b/code/testsuite/PCGfiles/sf_mechanic.pcg index 30bdae8f808..01616caf592 100644 --- a/code/testsuite/PCGfiles/sf_mechanic.pcg +++ b/code/testsuite/PCGfiles/sf_mechanic.pcg @@ -2,11 +2,11 @@ PCGVERSION:2.0 # System Information CAMPAIGN:Starfinder RPG Core Supplements -VERSION:6.09.00-DEV -ROLLMETHOD:1|EXPRESSION:10 +VERSION:6.09.07 +ROLLMETHOD:0|EXPRESSION:0 PURCHASEPOINTS:N CHARACTERTYPE:PC -PREVIEWSHEET:Standard.htm.ftl +PREVIEWSHEET:troubleshooting.htm.ftl POOLPOINTS:0 POOLPOINTSAVAIL:-1 GAMEMODE:Starfinder @@ -16,7 +16,7 @@ USEHIGHERPREPPED:N LOADCOMPANIONS:N USETEMPMODS:Y SKILLSOUTPUTORDER:0 -SKILLFILTER:2 +SKILLFILTER:3 IGNORECOST:N ALLOWDEBT:N AUTORESIZEGEAR:Y @@ -58,27 +58,27 @@ ALIGN:NG RACE:Ysoki # Character Class(es) -CLASS:Mechanic|LEVEL:20|SKILLPOOL:21|SPELLBASE:None|CANCASTPERDAY: -CLASSABILITIESLEVEL:Mechanic=1|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=2|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=3|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=4|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=5|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=6|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=7|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=8|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=9|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=10|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=11|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=12|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=13|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=14|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=15|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=16|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=17|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=18|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=19|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Mechanic=20|HITPOINTS:1|SKILLSGAINED:9|SKILLSREMAINING:1 +CLASS:Mechanic|LEVEL:20|SKILLPOOL:0|SPELLBASE:None|CANCASTPERDAY: +CLASSABILITIESLEVEL:Mechanic=1|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=2|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=3|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=4|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=5|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=6|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=7|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=8|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=9|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=10|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=11|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=12|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=13|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=14|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=15|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=16|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=17|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=18|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=19|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Mechanic=20|HITPOINTS:1|SKILLSGAINED:12|SKILLSREMAINING:0 # Character Experience EXPERIENCE:2400000 @@ -86,45 +86,47 @@ EXPERIENCETABLE:Standard # Character Templates TEMPLATESAPPLIED:[NAME:Small] +TEMPLATESAPPLIED:[NAME:Class ~ Mechanic] TEMPLATESAPPLIED:[NAME:First Level Base Class|APPLIEDTO:Mechanic] TEMPLATESAPPLIED:[NAME:Mechanic] -TEMPLATESAPPLIED:[NAME:Class ~ Mechanic] # Character Region REGION:None # Character Skills SKILL:Acrobatics|OUTPUTORDER:2| -SKILL:Athletics|OUTPUTORDER:3|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:Y] -SKILL:Bluff|OUTPUTORDER:5| +SKILL:Athletics|OUTPUTORDER:4|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:Y] +SKILL:Bluff|OUTPUTORDER:6| SKILL:Computers|OUTPUTORDER:7|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:Y] -SKILL:Diplomacy|OUTPUTORDER:9| +SKILL:Diplomacy|OUTPUTORDER:10| SKILL:Disguise|OUTPUTORDER:12| SKILL:Display ~ Acrobatics|OUTPUTORDER:1| -SKILL:Display ~ Athletics|OUTPUTORDER:4| -SKILL:Display ~ Bluff|OUTPUTORDER:6| +SKILL:Display ~ Athletics|OUTPUTORDER:3| +SKILL:Display ~ Bluff|OUTPUTORDER:5| SKILL:Display ~ Computers|OUTPUTORDER:8| -SKILL:Display ~ Diplomacy|OUTPUTORDER:10| +SKILL:Display ~ Diplomacy|OUTPUTORDER:9| SKILL:Display ~ Disguise|OUTPUTORDER:11| -SKILL:Display ~ Engineering|OUTPUTORDER:13| -SKILL:Display ~ Intimidate|OUTPUTORDER:15| -SKILL:Display ~ Medicine|OUTPUTORDER:17| +SKILL:Display ~ Engineering|OUTPUTORDER:14| +SKILL:Display ~ Intimidate|OUTPUTORDER:16| +SKILL:Display ~ Medicine|OUTPUTORDER:18| SKILL:Display ~ Perception|OUTPUTORDER:20| SKILL:Display ~ Physical Science|OUTPUTORDER:22| SKILL:Display ~ Piloting|OUTPUTORDER:23| -SKILL:Display ~ Sense Motive|OUTPUTORDER:26| -SKILL:Display ~ Stealth|OUTPUTORDER:28| -SKILL:Display ~ Survival|OUTPUTORDER:30| -SKILL:Engineering|OUTPUTORDER:14|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:Y] -SKILL:Intimidate|OUTPUTORDER:16| -SKILL:Medicine|OUTPUTORDER:18|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:Y] +SKILL:Display ~ Profession (Maintenance Worker)|OUTPUTORDER:25| +SKILL:Display ~ Sense Motive|OUTPUTORDER:27| +SKILL:Display ~ Stealth|OUTPUTORDER:29| +SKILL:Display ~ Survival|OUTPUTORDER:31| +SKILL:Engineering|OUTPUTORDER:13|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:Y] +SKILL:Intimidate|OUTPUTORDER:15| +SKILL:Life Science|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:N] +SKILL:Medicine|OUTPUTORDER:17|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:Y] SKILL:Perception|OUTPUTORDER:19|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:Y] SKILL:Physical Science|OUTPUTORDER:21|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:Y] SKILL:Piloting|OUTPUTORDER:24|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:Y] -SKILL:Profession (Maintenance Worker)|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:Y] -SKILL:Sense Motive|OUTPUTORDER:25| -SKILL:Stealth|OUTPUTORDER:27| -SKILL:Survival|OUTPUTORDER:29| +SKILL:Profession (Maintenance Worker)|OUTPUTORDER:26|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:Y] +SKILL:Sense Motive|OUTPUTORDER:28|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:N] +SKILL:Stealth|OUTPUTORDER:30|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:N] +SKILL:Survival|OUTPUTORDER:32|CLASSBOUGHT:[CLASS:Mechanic|RANKS:20.0|COST:1|CLASSSKILL:N] # Character Languages LANGUAGE:Common|LANGUAGE:Vercite|LANGUAGE:Ysoki @@ -133,6 +135,8 @@ LANGUAGE:Common|LANGUAGE:Vercite|LANGUAGE:Ysoki FEATPOOL:0.0 # Character Abilities +ABILITY:Enhanced Resistance Selection|TYPE:NORMAL|CATEGORY:Internal|KEY:Enhanced Resistance ~ Electricity|TYPE:Enhanced Resistance +USERPOOL:Enhanced Resistance Selection|POOLPOINTS:0.0 ABILITY:FEAT|TYPE:NORMAL|CATEGORY:FEAT|KEY:Enhanced Resistance|TYPE:General|DESC:You have trained your body to resist a particular type of damage. ABILITY:FEAT|TYPE:NORMAL|CATEGORY:FEAT|KEY:Extra Resolve|TYPE:General|DESC:Your resolve is stronger than most. ABILITY:FEAT|TYPE:NORMAL|CATEGORY:FEAT|KEY:Fleet|TYPE:Combat|DESC:You are faster than most. @@ -156,20 +160,20 @@ USERPOOL:Mechanic AI Level Divestment|POOLPOINTS:0.0 ABILITY:Mechanic AI Selection|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Artificial Intelligence ~ Drone|TYPE:Class Feature.Mechanic Class Feature.Mechanic AI Selection|DESC:You begin play with a powerful robotic drone to house your AI. You build and control this drone, which accompanies you on your adventures and is capable of combat, espionage, and other specialized tasks. As you gain levels, your drone advances in sophistication and gain additional abilities. While the value of your drone is immense, only you, with your extensive knowledge of its quirks and security measures, can ever hope to operate or repair it. Drones are detailed in Drones beginning on page 74. ABILITY:Mechanic AI Selection|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Artificial Intelligence ~ Exocortex|TYPE:Class Feature.Mechanic Class Feature.Mechanic AI Selection|DESC:You begin play with an exocortex, an artificial processor that interacts with and augments your biological brain's cognitive functions, which can aid you in a variety of tasks, from combat to digital infiltration. Your exocortex is implanted within your physical body or brain, similar to a piece of cybernetic hardware, allowing your AI to access your mind and feed you information. As you gain levels, your exocortex advances in sophistication and processing power-see Exocortex on page 79. Only you can access or interact with your exocortex. USERPOOL:Mechanic AI Selection|POOLPOINTS:0.0 -ABILITY:Mechanic Archetype|TYPE:NORMAL|CATEGORY:Archetype|KEY:Mechanic Archetype ~ Augmented|TYPE:Archetype.Mechanic Archetype|DESC:Although first a caste on Verces, the Augmented have since become a cultural movement of seeking perfection through artificial upgrades—most often cybernetics. The Augmented push the boundaries of cybernetic integration, often appearing as much machine as organic. +ABILITY:Mechanic Archetype|TYPE:NORMAL|CATEGORY:Archetype|KEY:Mechanic Archetype ~ Augmented|TYPE:Archetype.Mechanic Archetype|DESC:Although first a caste on Verces, the Augmented have since become a cultural movement of seeking perfection through artificial upgradesmost often cybernetics. The Augmented push the boundaries of cybernetic integration, often appearing as much machine as organic. USERPOOL:Mechanic Archetype|POOLPOINTS:0.0 ABILITY:Mechanic Control Net Selection|TYPE:NORMAL|CATEGORY:Internal|KEY:Mechanic Control Net Selection ~ Add another AI|TYPE:Mechanic Control Net Selection USERPOOL:Mechanic Control Net Selection|POOLPOINTS:0.0 -ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Combat Maintenance|TYPE:Extraordinary.Mechanic Trick.Mechanic Trick LVL 2|DESC:As a move action, you can fortify an item you touch against attack. The item's hardness increases by an amount equal to your mechanic level (to a maximum of double its normal hardness) for 1 round. If the item is one you are wearing or holding, you can use this ability as a purely defensive reaction to an attack against it. -ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Improved Resistant Energy|TYPE:Extraordinary.Mechanic Trick.Mechanic Trick LVL 14|DESC:&lbracket;NOT IMPLEMENTED&rbracket;Choose an additional energy type from resistant energy. You gain resistance 15 against both this and your original energy type. You must have the energy shield and resistant energy mechanic tricks to learn this trick. -ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Mod Tinkerer|TYPE:Extraordinary.Mechanic Trick.Mechanic Trick LVL 14|DESC:&lbracket;NOT IMPLEMENTED&rbracket;You can spend 24 hours of uninterrupted work to exchange all your drone or exocortex mods at any time, even if you haven't gained a level. Any other drone features (such as its chassis or bonus feats) can still be exchanged only when you gain a level. -ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Neural Shunt|TYPE:Extraordinary.Mechanic Trick.Mechanic Trick LVL 2|DESC:&lbracket;NOT IMPLEMENTED&rbracket;Once per day, as a reaction when you fail a saving throw against a mind-affecting effect, you can shunt that effect into your exocortex instead. When you do so, you are not affected by the mind-affecting effect, but for the normal duration of that effect, you lose the Skill Focus feat granted by your exocortex's memory module and cannot use any of the exocortex's abilities in any way (including any proficiencies and mods it grants you). When a mind-affecting effect is shunted into the exocortex, spells such as dispel magic or break enchantment can be cast on you to end the effect as if you were affected by it. Once the duration of the mindaffecting effect has ended, your exocortex resumes its normal functions. You must have an exocortex to learn this trick. -ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Overclocking|TYPE:Extraordinary.Mechanic Trick.Mechanic Trick LVL 2|DESC:&lbracket;NOT IMPLEMENTED&rbracket;You have augmented the performance of your AI for maximum response timing. You gain a +2 insight bonus to initiative checks, and either you (if you have an exocortex) or your drone (if you have a drone) gains a +2 insight bonus to Reflex saves. -ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Quick Patch|TYPE:Extraordinary.Mechanic Trick.Mechanic Trick LVL 2|DESC:&lbracket;NOT IMPLEMENTED&rbracket;When you attempt to patch a system on a starship, you reduce the number of actions required to do so by one. This does not reduce the time needed to patch a glitching system, but you can patch two systems with one action. -ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Quick Repair|TYPE:Extraordinary.Mechanic Trick.Mechanic Trick LVL 2|DESC:&lbracket;NOT IMPLEMENTED&rbracket;When you attempt to repair an item, you can do so in half the time normally required (to a minimum of a full action). -ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Repair Drone|TYPE:Extraordinary.Mechanic Trick.Mechanic Trick LVL 2|DESC:&lbracket;NOT IMPLEMENTED&rbracket;When you spend 10 minutes to repair your drone, you repair 25%% of its maximum Hit Points instead of 10%%. You must have a drone to learn this trick. -ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Saboteur|TYPE:Extraordinary.Mechanic Trick.Mechanic Trick LVL 14|DESC:&lbracket;NOT IMPLEMENTED&rbracket;Whenever you use the Engineering skill to sabotage or disable a device, you can roll twice and take the better result. In addition, if you have the appropriate tools (including your custom rig), performing these tasks takes half the normal amount of time, to a minimum of 1 move action. -ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Scoutbot|TYPE:Extraordinary.Mechanic Trick.Mechanic Trick LVL 8|DESC:&lbracket;NOT IMPLEMENTED&rbracket;You're always crafting rudimentary bots in your spare time, and can use them to scout. It takes you 10 minutes and 1 Resolve Point to create a scoutbot. A scoutbot is a Small technological construct, its EAC and KAC are equal to 10 + your mechanic level, and it has 1 Hit Point per mechanic level you have (and no Stamina Points). It has a land speed of 30 feet, and you can control its movements with your custom rig as a move action. It has a camera that streams visual and auditory data back to your rig. The scoutbot uses your saving throw bonuses if necessary. It is untrained in all skills and has a +0 bonus in all of them, though you can use your own Perception skill when examining the feed from its stream. Once created, the scoutbot lasts for 1 minute per mechanic level you have before falling apart unless otherwise destroyed. +ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Combat Maintenance|TYPE:Class Feature.Mechanic Trick.Extraordinary.Mechanic Trick LVL 2|DESC:As a move action, you can fortify an item you touch against attack. The item's hardness increases by an amount equal to your mechanic level (to a maximum of double its normal hardness) for 1 round. If the item is one you are wearing or holding, you can use this ability as a purely defensive reaction to an attack against it. +ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Improved Resistant Energy|TYPE:Class Feature.Mechanic Trick.Extraordinary.Mechanic Trick LVL 14|DESC:&lbracket;NOT IMPLEMENTED&rbracket;Choose an additional energy type from resistant energy. You gain resistance 15 against both this and your original energy type. You must have the energy shield and resistant energy mechanic tricks to learn this trick. +ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Mod Tinkerer|TYPE:Class Feature.Mechanic Trick.Extraordinary.Mechanic Trick LVL 14|DESC:&lbracket;NOT IMPLEMENTED&rbracket;You can spend 24 hours of uninterrupted work to exchange all your drone or exocortex mods at any time, even if you haven't gained a level. Any other drone features (such as its chassis or bonus feats) can still be exchanged only when you gain a level. +ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Neural Shunt|TYPE:Class Feature.Mechanic Trick.Extraordinary.Mechanic Trick LVL 2|DESC:&lbracket;NOT IMPLEMENTED&rbracket;Once per day, as a reaction when you fail a saving throw against a mind-affecting effect, you can shunt that effect into your exocortex instead. When you do so, you are not affected by the mind-affecting effect, but for the normal duration of that effect, you lose the Skill Focus feat granted by your exocortex's memory module and cannot use any of the exocortex's abilities in any way (including any proficiencies and mods it grants you). When a mind-affecting effect is shunted into the exocortex, spells such as dispel magic or break enchantment can be cast on you to end the effect as if you were affected by it. Once the duration of the mindaffecting effect has ended, your exocortex resumes its normal functions. You must have an exocortex to learn this trick. +ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Overclocking|TYPE:Class Feature.Mechanic Trick.Extraordinary.Mechanic Trick LVL 2|DESC:&lbracket;NOT IMPLEMENTED&rbracket;You have augmented the performance of your AI for maximum response timing. You gain a +2 insight bonus to initiative checks, and either you (if you have an exocortex) or your drone (if you have a drone) gains a +2 insight bonus to Reflex saves. +ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Quick Patch|TYPE:Class Feature.Mechanic Trick.Extraordinary.Mechanic Trick LVL 2|DESC:&lbracket;NOT IMPLEMENTED&rbracket;When you attempt to patch a system on a starship, you reduce the number of actions required to do so by one. This does not reduce the time needed to patch a glitching system, but you can patch two systems with one action. +ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Quick Repair|TYPE:Class Feature.Mechanic Trick.Extraordinary.Mechanic Trick LVL 2|DESC:&lbracket;NOT IMPLEMENTED&rbracket;When you attempt to repair an item, you can do so in half the time normally required (to a minimum of a full action). +ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Repair Drone|TYPE:Class Feature.Mechanic Trick.Extraordinary.Mechanic Trick LVL 2|DESC:&lbracket;NOT IMPLEMENTED&rbracket;When you spend 10 minutes to repair your drone, you repair 25%% of its maximum Hit Points instead of 10%%. You must have a drone to learn this trick. +ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Saboteur|TYPE:Class Feature.Mechanic Trick.Extraordinary.Mechanic Trick LVL 14|DESC:&lbracket;NOT IMPLEMENTED&rbracket;Whenever you use the Engineering skill to sabotage or disable a device, you can roll twice and take the better result. In addition, if you have the appropriate tools (including your custom rig), performing these tasks takes half the normal amount of time, to a minimum of 1 move action. +ABILITY:Mechanic Trick|TYPE:NORMAL|CATEGORY:Class Feature|KEY:Mechanic Trick ~ Scoutbot|TYPE:Class Feature.Mechanic Trick.Extraordinary.Mechanic Trick LVL 8|DESC:&lbracket;NOT IMPLEMENTED&rbracket;You're always crafting rudimentary bots in your spare time, and can use them to scout. It takes you 10 minutes and 1 Resolve Point to create a scoutbot. A scoutbot is a Small technological construct, its EAC and KAC are equal to 10 + your mechanic level, and it has 1 Hit Point per mechanic level you have (and no Stamina Points). It has a land speed of 30 feet, and you can control its movements with your custom rig as a move action. It has a camera that streams visual and auditory data back to your rig. The scoutbot uses your saving throw bonuses if necessary. It is untrained in all skills and has a +0 bonus in all of them, though you can use your own Perception skill when examining the feed from its stream. Once created, the scoutbot lasts for 1 minute per mechanic level you have before falling apart unless otherwise destroyed. USERPOOL:Mechanic Trick|POOLPOINTS:0.0 ABILITY:PC Level 10 Stat Boost|TYPE:NORMAL|CATEGORY:Internal|KEY:PC Level 10 Stat Boost ~ CON +2|TYPE:PC Level 10 Stat Boost.PC Level 10 Stat Boost CON ABILITY:PC Level 10 Stat Boost|TYPE:NORMAL|CATEGORY:Internal|KEY:PC Level 10 Stat Boost ~ DEX +2|TYPE:PC Level 10 Stat Boost.PC Level 10 Stat Boost DEX @@ -191,10 +195,14 @@ ABILITY:PC Level 5 Stat Boost|TYPE:NORMAL|CATEGORY:Internal|KEY:PC Level 5 Stat ABILITY:PC Level 5 Stat Boost|TYPE:NORMAL|CATEGORY:Internal|KEY:PC Level 5 Stat Boost ~ INT +1|TYPE:PC Level 5 Stat Boost.PC Level 5 Stat Boost INT ABILITY:PC Level 5 Stat Boost|TYPE:NORMAL|CATEGORY:Internal|KEY:PC Level 5 Stat Boost ~ WIS +2|TYPE:PC Level 5 Stat Boost.PC Level 5 Stat Boost WIS USERPOOL:PC Level 5 Stat Boost|POOLPOINTS:0.0 +ABILITY:Personal Upgrade LVL 14|TYPE:NORMAL|CATEGORY:Internal|KEY:Personal Upgrade Mk 3 (INT)|TYPE:Personal Upgrade.Personal Upgrade LVL 14 +USERPOOL:Personal Upgrade LVL 14|POOLPOINTS:0.0 ABILITY:Skill Focus|TYPE:NORMAL|CATEGORY:FEAT|KEY:Skill Focus|APPLIEDTO:Engineering|TYPE:General.SkillFocus|DESC:You are particularly adept at a certain skill. USERPOOL:Skill Focus|POOLPOINTS:0.0 ABILITY:Theme Selection|TYPE:NORMAL|CATEGORY:Theme|KEY:Biotechnician|TYPE:Theme.Theme Selection|DESC:You are a biotech researcher or avid user of such tech, constantly seeking out or developing new biotechnologies and combining existing augmentations with advancements in other fields. You might be a member of the Augmented, a researcher in one of Bretheda's cutting-edge biotech corporations, a spellcasting genetomancer blending biotechnology with magic, or even a voluntary test subject for new augmentations. Either way, you have taken a strong hand in your own evolution. USERPOOL:Theme Selection|POOLPOINTS:0.0 +ABILITY:Ysoki Variant Ability|TYPE:NORMAL|CATEGORY:Variant Ability|KEY:Ysoki ~ No Variant Ability|TYPE:No Variant Ability.Ysoki Variant Ability +USERPOOL:Ysoki Variant Ability|POOLPOINTS:0.0 # Character Weapon proficiencies WEAPONPROF:[WEAPON:Acid dart rifle (complex)|WEAPON:Acid dart rifle (dual)|WEAPON:Acid dart rifle (tactical)|WEAPON:AG Accelerator Rifle|WEAPON:AG Assault Rifle|WEAPON:AG RPPR|WEAPON:Anchor pistol (emergent)|WEAPON:Anchor pistol (flux)|WEAPON:Anchor pistol (inductive)|WEAPON:Anchor pistol (voltaic)] @@ -203,44 +211,50 @@ WEAPONPROF:[WEAPON:Autobeam rifle (elite)|WEAPON:Autobeam rifle (tactical)|WEAPO WEAPONPROF:[WEAPON:Blaze rifle (hellhound-class)|WEAPON:Blaze rifle (ifrit-class)|WEAPON:Blaze rifle (phoenix-class)|WEAPON:Blaze rifle (salamander-class)|WEAPON:Blindmark rifle (banshee)|WEAPON:Blindmark rifle (HFD)|WEAPON:Blindmark rifle (LFD)|WEAPON:Blindmark rifle (thunderstrike)|WEAPON:Bone Cestus (austere)|WEAPON:Bone Cestus (imposing)] WEAPONPROF:[WEAPON:Bone Cestus (measured)|WEAPON:Bone Cestus (severe)|WEAPON:Bone pistol (crypt-class)|WEAPON:Bone pistol (grave-class)|WEAPON:Bone pistol (sepulcher-class)|WEAPON:Bone pistol (vault-class)|WEAPON:Boomer rifle (concussive)|WEAPON:Boomer rifle (rumbler)|WEAPON:Boomer rifle (shockwave)|WEAPON:Boomer rifle (tremor)] WEAPONPROF:[WEAPON:Breaching gun (grapeshot)|WEAPON:Breaching gun (impact)|WEAPON:Breaching gun (snub)|WEAPON:Breaching gun (utility)|WEAPON:Breaching gun (vortex)|WEAPON:Cavitation pistol (hydrodynamic)|WEAPON:Cavitation pistol (inertial)|WEAPON:Cavitation pistol (thermodynamic)|WEAPON:Cavitation pistol (vapor)|WEAPON:Charge emitter (impulse)] -WEAPONPROF:[WEAPON:Charge emitter (jolt)|WEAPON:Charge emitter (surge)|WEAPON:Club|WEAPON:Combat rifle|WEAPON:Compliance ray (flare)|WEAPON:Compliance ray (flash)|WEAPON:Compliance ray (starburst)|WEAPON:Compliance ray (strobe)|WEAPON:Compliance ray (sunspot)|WEAPON:Crossbolter (dual)] -WEAPONPROF:[WEAPON:Crossbolter (tactical)|WEAPON:Dagger (molecular rift)|WEAPON:Dagger (ultrathin)|WEAPON:Dagger (zero-edge)|WEAPON:Decoupler (bruiser)|WEAPON:Decoupler (pusher)|WEAPON:Decoupler (screamer)|WEAPON:Dirge pistol (anharmonic)|WEAPON:Dirge pistol (harmonic)|WEAPON:Dirge pistol (parametric)] -WEAPONPROF:[WEAPON:Dirge pistol (radial)|WEAPON:Dirge pistol (resonant)|WEAPON:Disintegrator pistol (decimator)|WEAPON:Disintegrator pistol (eradicator)|WEAPON:Disintegrator pistol (executioner)|WEAPON:Disintegrator pistol (liquidator)|WEAPON:Disintegrator rifle (decimator)|WEAPON:Disintegrator rifle (eradicator)|WEAPON:Disintegrator rifle (executioner)|WEAPON:Disintegrator rifle (liquidator)] -WEAPONPROF:[WEAPON:Dragon pistol (drake)|WEAPON:Dragon pistol (true)|WEAPON:Dragon pistol (wyrmling)|WEAPON:Dragon pistol (wyvern)|WEAPON:Dragon rifle (drake)|WEAPON:Dragon rifle (true)|WEAPON:Dragon rifle (wyrmling)|WEAPON:Dragon rifle (wyvern)|WEAPON:Dross gun (flux)|WEAPON:Dross gun (scoring)] -WEAPONPROF:[WEAPON:Dross gun (scrapper)|WEAPON:Dueling sword (admiral)|WEAPON:Dueling sword (buzzblade)|WEAPON:Dueling sword (converted)|WEAPON:Dueling sword (molecular rift)|WEAPON:Dueling sword (officer)|WEAPON:Dueling sword (ripper)|WEAPON:Dueling sword (tactical)|WEAPON:Dueling sword (ultrathin)|WEAPON:Eoxian Wrackstaff] -WEAPONPROF:[WEAPON:Excavation laser (heavy)|WEAPON:Excavation laser (light)|WEAPON:Excavation laser (medium)|WEAPON:Flame pistol|WEAPON:Flame pistol (blaze)|WEAPON:Flame pistol (inferno)|WEAPON:Flame pistol (solar flare)|WEAPON:Flame rifle|WEAPON:Flare gun (survival)|WEAPON:Flare rifle (coruscator)] -WEAPONPROF:[WEAPON:Flare rifle (dazzler)|WEAPON:Flare rifle (nova)|WEAPON:Flare rifle (scorcher)|WEAPON:Flare rifle (vivifier)|WEAPON:Forked pistol (10-notch)|WEAPON:Forked pistol (6-notch)|WEAPON:Forked pistol (8-notch)|WEAPON:Forked pistol (9-notch)|WEAPON:Freeze ray (algid)|WEAPON:Freeze ray (glacial)] -WEAPONPROF:[WEAPON:Freeze ray (hiemal)|WEAPON:Freeze ray (hypothermic)|WEAPON:Freeze ray (isothermal)|WEAPON:Frost projector (blizzard-class)|WEAPON:Frost projector (frostbite-class)|WEAPON:Frost projector (hailstorm-class)|WEAPON:Graviton pistol (chiral)|WEAPON:Graviton pistol (linear)|WEAPON:Graviton pistol (tensor)|WEAPON:Graviton pistol (vector)] -WEAPONPROF:[WEAPON:Grenades|WEAPON:Gulchgun|WEAPON:Gyrojet pistol (advanced)|WEAPON:Gyrojet pistol (elite)|WEAPON:Gyrojet pistol (tactical)|WEAPON:Gyrojet rifle (advanced)|WEAPON:Gyrojet rifle (elite)|WEAPON:Gyrojet rifle (paragon)|WEAPON:Gyrojet rifle (tactical)|WEAPON:Hail pistol (absolute-zero)] -WEAPONPROF:[WEAPON:Hail pistol (gelid)|WEAPON:Hail pistol (subzero)|WEAPON:Hail pistol (ultracold)|WEAPON:Handcannon (bombast)|WEAPON:Handcannon (braggadocio)|WEAPON:Handcannon (bravado)|WEAPON:Handcannon (gasconade)|WEAPON:Handcannon (swagger)|WEAPON:Handcoil (capital)|WEAPON:Handcoil (explorer)] -WEAPONPROF:[WEAPON:Handcoil (fighter)|WEAPON:Handcoil (pilot)|WEAPON:Hunting rifle|WEAPON:Ice carbine (absolute-zero)|WEAPON:Ice carbine (gelid)|WEAPON:Ice carbine (subzero)|WEAPON:Ice carbine (ultracold)|WEAPON:Igniter (blaze)|WEAPON:Igniter (ember)|WEAPON:Igniter (inferno)] -WEAPONPROF:[WEAPON:Igniter (solar flare)|WEAPON:Incapacitator|WEAPON:Infinity rifle (advanced)|WEAPON:Infinity rifle (elite)|WEAPON:Infinity rifle (paragon)|WEAPON:Infinity rifle (tactical)|WEAPON:Injector pistol (elite)|WEAPON:Injector pistol (medic)|WEAPON:Injector pistol (poacher)|WEAPON:Injector pistol (subjugation)] -WEAPONPROF:[WEAPON:Injector pistol (zoologist)|WEAPON:Ionizer (chromic)|WEAPON:Ionizer (cupric)|WEAPON:Ionizer (ferric)|WEAPON:Ionizer (stannic)|WEAPON:Kalo shredder (cascade-class)|WEAPON:Kalo shredder (deluge-class)|WEAPON:Kalo shredder (monsoon-class)|WEAPON:Kalo shredder (slipstream-class)|WEAPON:Kalo shredder (torrent-class)] -WEAPONPROF:[WEAPON:Knife (survival)|WEAPON:Knife (tactical)|WEAPON:Laser pistol (aphelion)|WEAPON:Laser pistol (azimuth)|WEAPON:Laser pistol (corona)|WEAPON:Laser pistol (parallax)|WEAPON:Laser pistol (perihelion)|WEAPON:Laser pistol (zenith)|WEAPON:Laser rifle (aphelion)|WEAPON:Laser rifle (azimuth)] -WEAPONPROF:[WEAPON:Laser rifle (corona)|WEAPON:Laser rifle (parallax)|WEAPON:Laser rifle (perihelion)|WEAPON:Laser rifle (zenith)|WEAPON:Lens pistol (cylindrical)|WEAPON:Lens pistol (electron)|WEAPON:Lens pistol (lenticular)|WEAPON:Lens pistol (sunglass)|WEAPON:Lightning pistol (ribbon)|WEAPON:Lightning pistol (rocket)] -WEAPONPROF:[WEAPON:Lightning pistol (sheet)|WEAPON:Lightning pistol (smooth-channel)|WEAPON:Magnetar rifle (advanced)|WEAPON:Magnetar rifle (elite)|WEAPON:Magnetar rifle (paragon)|WEAPON:Magnetar rifle (tactical)|WEAPON:Microfusion rifle (heavy)|WEAPON:Microfusion rifle (light)|WEAPON:Microfusion rifle (medium)|WEAPON:Nanite thrower (advanced)] +WEAPONPROF:[WEAPON:Charge emitter (jolt)|WEAPON:Charge emitter (surge)|WEAPON:Chitinblade (microserrated)|WEAPON:Chitinblade (nanoserrated)|WEAPON:Chitinblade (tactical)|WEAPON:Chitinblade (ultraserrated)|WEAPON:Club|WEAPON:Combat rifle|WEAPON:Compliance ray (flare)|WEAPON:Compliance ray (flash)] +WEAPONPROF:[WEAPON:Compliance ray (starburst)|WEAPON:Compliance ray (strobe)|WEAPON:Compliance ray (sunspot)|WEAPON:Crossbolter (dual)|WEAPON:Crossbolter (tactical)|WEAPON:Dagger (molecular rift)|WEAPON:Dagger (ultrathin)|WEAPON:Dagger (zero-edge)|WEAPON:Decoupler (bruiser)|WEAPON:Decoupler (pusher)] +WEAPONPROF:[WEAPON:Decoupler (screamer)|WEAPON:Dirge pistol (anharmonic)|WEAPON:Dirge pistol (harmonic)|WEAPON:Dirge pistol (parametric)|WEAPON:Dirge pistol (radial)|WEAPON:Dirge pistol (resonant)|WEAPON:Disintegrator pistol (decimator)|WEAPON:Disintegrator pistol (eradicator)|WEAPON:Disintegrator pistol (executioner)|WEAPON:Disintegrator pistol (liquidator)] +WEAPONPROF:[WEAPON:Disintegrator rifle (decimator)|WEAPON:Disintegrator rifle (eradicator)|WEAPON:Disintegrator rifle (executioner)|WEAPON:Disintegrator rifle (liquidator)|WEAPON:Dragon pistol (drake)|WEAPON:Dragon pistol (true)|WEAPON:Dragon pistol (wyrmling)|WEAPON:Dragon pistol (wyvern)|WEAPON:Dragon rifle (drake)|WEAPON:Dragon rifle (true)] +WEAPONPROF:[WEAPON:Dragon rifle (wyrmling)|WEAPON:Dragon rifle (wyvern)|WEAPON:Dross gun (flux)|WEAPON:Dross gun (scoring)|WEAPON:Dross gun (scrapper)|WEAPON:Dueling sword (admiral)|WEAPON:Dueling sword (buzzblade)|WEAPON:Dueling sword (converted)|WEAPON:Dueling sword (molecular rift)|WEAPON:Dueling sword (officer)] +WEAPONPROF:[WEAPON:Dueling sword (ripper)|WEAPON:Dueling sword (tactical)|WEAPON:Dueling sword (ultrathin)|WEAPON:Eoxian Wrackstaff|WEAPON:Excavation laser (heavy)|WEAPON:Excavation laser (light)|WEAPON:Excavation laser (medium)|WEAPON:Flame pistol|WEAPON:Flame pistol (blaze)|WEAPON:Flame pistol (inferno)] +WEAPONPROF:[WEAPON:Flame pistol (solar flare)|WEAPON:Flame rifle|WEAPON:Flare gun (survival)|WEAPON:Flare rifle (coruscator)|WEAPON:Flare rifle (dazzler)|WEAPON:Flare rifle (nova)|WEAPON:Flare rifle (scorcher)|WEAPON:Flare rifle (vivifier)|WEAPON:Forked pistol (10-notch)|WEAPON:Forked pistol (6-notch)] +WEAPONPROF:[WEAPON:Forked pistol (8-notch)|WEAPON:Forked pistol (9-notch)|WEAPON:Freeze ray (algid)|WEAPON:Freeze ray (glacial)|WEAPON:Freeze ray (hiemal)|WEAPON:Freeze ray (hypothermic)|WEAPON:Freeze ray (isothermal)|WEAPON:Frost projector (blizzard-class)|WEAPON:Frost projector (frostbite-class)|WEAPON:Frost projector (hailstorm-class)] +WEAPONPROF:[WEAPON:Garrote (microfilament)|WEAPON:Garrote (monowire)|WEAPON:Garrote (nanofiber)|WEAPON:Garrote (wire)|WEAPON:Graviton pistol (chiral)|WEAPON:Graviton pistol (linear)|WEAPON:Graviton pistol (tensor)|WEAPON:Graviton pistol (vector)|WEAPON:Greataxe (molecular-rift)|WEAPON:Greataxe (sintered)] +WEAPONPROF:[WEAPON:Greataxe (tactical)|WEAPON:Greataxe (ultrathin)|WEAPON:Grenades|WEAPON:Gulchgun|WEAPON:Gyrojet pistol (advanced)|WEAPON:Gyrojet pistol (elite)|WEAPON:Gyrojet pistol (tactical)|WEAPON:Gyrojet rifle (advanced)|WEAPON:Gyrojet rifle (elite)|WEAPON:Gyrojet rifle (paragon)] +WEAPONPROF:[WEAPON:Gyrojet rifle (tactical)|WEAPON:Hail pistol (absolute-zero)|WEAPON:Hail pistol (gelid)|WEAPON:Hail pistol (subzero)|WEAPON:Hail pistol (ultracold)|WEAPON:Handaxe (basic)|WEAPON:Handaxe (molecular-rift)|WEAPON:Handaxe (sintered)|WEAPON:Handaxe (tactical)|WEAPON:Handaxe (ultrathin)] +WEAPONPROF:[WEAPON:Handcannon (bombast)|WEAPON:Handcannon (braggadocio)|WEAPON:Handcannon (bravado)|WEAPON:Handcannon (gasconade)|WEAPON:Handcannon (swagger)|WEAPON:Handcoil (capital)|WEAPON:Handcoil (explorer)|WEAPON:Handcoil (fighter)|WEAPON:Handcoil (pilot)|WEAPON:Hook knife] +WEAPONPROF:[WEAPON:Hunting rifle|WEAPON:Ice carbine (absolute-zero)|WEAPON:Ice carbine (gelid)|WEAPON:Ice carbine (subzero)|WEAPON:Ice carbine (ultracold)|WEAPON:Igniter (blaze)|WEAPON:Igniter (ember)|WEAPON:Igniter (inferno)|WEAPON:Igniter (solar flare)|WEAPON:Incapacitator] +WEAPONPROF:[WEAPON:Infinity rifle (advanced)|WEAPON:Infinity rifle (elite)|WEAPON:Infinity rifle (paragon)|WEAPON:Infinity rifle (tactical)|WEAPON:Injector pistol (elite)|WEAPON:Injector pistol (medic)|WEAPON:Injector pistol (poacher)|WEAPON:Injector pistol (subjugation)|WEAPON:Injector pistol (zoologist)|WEAPON:Ionizer (chromic)] +WEAPONPROF:[WEAPON:Ionizer (cupric)|WEAPON:Ionizer (ferric)|WEAPON:Ionizer (stannic)|WEAPON:Kalo shredder (cascade-class)|WEAPON:Kalo shredder (deluge-class)|WEAPON:Kalo shredder (monsoon-class)|WEAPON:Kalo shredder (slipstream-class)|WEAPON:Kalo shredder (torrent-class)|WEAPON:Knife (survival)|WEAPON:Knife (tactical)] +WEAPONPROF:[WEAPON:Lance (advanced)|WEAPON:Lance (elite)|WEAPON:Lance (paragon)|WEAPON:Lance (tactical)|WEAPON:Laser pistol (aphelion)|WEAPON:Laser pistol (azimuth)|WEAPON:Laser pistol (corona)|WEAPON:Laser pistol (parallax)|WEAPON:Laser pistol (perihelion)|WEAPON:Laser pistol (zenith)] +WEAPONPROF:[WEAPON:Laser rifle (aphelion)|WEAPON:Laser rifle (azimuth)|WEAPON:Laser rifle (corona)|WEAPON:Laser rifle (parallax)|WEAPON:Laser rifle (perihelion)|WEAPON:Laser rifle (zenith)|WEAPON:Lens pistol (cylindrical)|WEAPON:Lens pistol (electron)|WEAPON:Lens pistol (lenticular)|WEAPON:Lens pistol (sunglass)] +WEAPONPROF:[WEAPON:Lightning pistol (ribbon)|WEAPON:Lightning pistol (rocket)|WEAPON:Lightning pistol (sheet)|WEAPON:Lightning pistol (smooth-channel)|WEAPON:Living staff (advanced)|WEAPON:Living staff (elite)|WEAPON:Living staff (paragon)|WEAPON:Living staff (tactical)|WEAPON:Magnetar rifle (advanced)|WEAPON:Magnetar rifle (elite)] +WEAPONPROF:[WEAPON:Magnetar rifle (paragon)|WEAPON:Magnetar rifle (tactical)|WEAPON:Maul (advanced)|WEAPON:Maul (elite)|WEAPON:Maul (paragon)|WEAPON:Maul (tactical)|WEAPON:Microfusion rifle (heavy)|WEAPON:Microfusion rifle (light)|WEAPON:Microfusion rifle (medium)|WEAPON:Nanite thrower (advanced)] WEAPONPROF:[WEAPON:Nanite thrower (elite)|WEAPON:Nanite thrower (paragon)|WEAPON:Nanite thrower (tactical)|WEAPON:Needler pistol|WEAPON:Needler rifle|WEAPON:Nightarch needler (advanced)|WEAPON:Nightarch needler (elite)|WEAPON:Nightarch needler (paragon)|WEAPON:Nightarch needler (tactical)|WEAPON:Nova rifle (red star)] WEAPONPROF:[WEAPON:Nova rifle (white star)|WEAPON:Nova rifle (yellow star)|WEAPON:Numbing beam (advanced)|WEAPON:Numbing beam (elite)|WEAPON:Numbing beam (paragon)|WEAPON:Numbing beam (tactical)|WEAPON:Peacemaker|WEAPON:Perforator pistol (diffraction)|WEAPON:Perforator pistol (linear)|WEAPON:Perforator pistol (phased)] WEAPONPROF:[WEAPON:Perforator pistol (refraction)|WEAPON:Persuader|WEAPON:Petrol converter (advanced)|WEAPON:Petrol converter (elite)|WEAPON:Petrol converter (light)|WEAPON:Petrol converter (paragon)|WEAPON:Petrol converter (tactical)|WEAPON:Plasma bolter (advanced)|WEAPON:Plasma bolter (elite)|WEAPON:Plasma bolter (paragon)] WEAPONPROF:[WEAPON:Plasma bolter (tactical)|WEAPON:Plasma caster (blue star)|WEAPON:Plasma caster (white star)|WEAPON:Plasma claw (biodynamic)|WEAPON:Plasma claw (electrocellular)|WEAPON:Plasma claw (organic)|WEAPON:Plasma claw (synthecite)|WEAPON:Plasma fork (12-notch)|WEAPON:Plasma fork (15-notch)|WEAPON:Plasma fork (19-notch)] WEAPONPROF:[WEAPON:Plasma fork (22-notch)|WEAPON:Plasma pistol (blue star)|WEAPON:Plasma pistol (red star)|WEAPON:Plasma pistol (white star)|WEAPON:Plasma pistol (yellow star)|WEAPON:Plasma rifle (blue star)|WEAPON:Plasma rifle (red star)|WEAPON:Plasma rifle (white star)|WEAPON:Plasma rifle (yellow star)|WEAPON:Plasma ring (dual-valve)] -WEAPONPROF:[WEAPON:Plasma ring (multichannel)|WEAPON:Plasma ring (single-valve)|WEAPON:Polarity rifle (aurora)|WEAPON:Polarity rifle (static)|WEAPON:Polarity rifle (storm)|WEAPON:Polarity rifle (tempest)|WEAPON:Pulsecaster (pistol)|WEAPON:Pulsecaster rifle|WEAPON:Radshot (electromagnetic)|WEAPON:Radshot (neutron)] -WEAPONPROF:[WEAPON:Radshot (rapid-decay)|WEAPON:Rail gun (advanced)|WEAPON:Rail gun (tactical)|WEAPON:Resonant pistol (lattice)|WEAPON:Resonant pistol (matrix)|WEAPON:Rocket rifle|WEAPON:Rotating pistol (advanced)|WEAPON:Rotating pistol (elite)|WEAPON:Rotating pistol (tactical)|WEAPON:Scattergun (grapeshot)] -WEAPONPROF:[WEAPON:Scattergun (impact)|WEAPON:Scattergun (snub)|WEAPON:Scattergun (utility)|WEAPON:Scattergun (vortex)|WEAPON:Scorchgun (C-band)|WEAPON:Scorchgun (K-band)|WEAPON:Scorchgun (microwave)|WEAPON:Scorchgun (S-band)|WEAPON:Scorchgun (X-band)|WEAPON:Seeker rifle (advanced)] -WEAPONPROF:[WEAPON:Seeker rifle (elite)|WEAPON:Seeker rifle (paragon)|WEAPON:Seeker rifle (tactical)|WEAPON:Semi-auto pistol (advanced)|WEAPON:Semi-auto pistol (elite)|WEAPON:Semi-auto pistol (paragon)|WEAPON:Semi-auto pistol (tactical)|WEAPON:Serpent laser (aphelion)|WEAPON:Serpent laser (azimuth)|WEAPON:Serpent laser (corona)] -WEAPONPROF:[WEAPON:Serpent laser (perihelion)|WEAPON:Shadow pistol (caliginous)|WEAPON:Shadow pistol (sable)|WEAPON:Shadow pistol (tenebrous)|WEAPON:Shadow pistol (umbral)|WEAPON:Shadowstaff|WEAPON:Shadowstaff (lesser)|WEAPON:Shellgun (blaze)|WEAPON:Shellgun (bombard)|WEAPON:Shellgun (fury)] -WEAPONPROF:[WEAPON:Shield projector (defender)|WEAPON:Shield projector (guardian)|WEAPON:Shield projector (sentry)|WEAPON:Shield projector (warden)|WEAPON:Shoulder laser (aphelion)|WEAPON:Shoulder laser (azimuth)|WEAPON:Shoulder laser (corona)|WEAPON:Shoulder laser (perihelion)|WEAPON:Shout rifle|WEAPON:Shrieking larva] -WEAPONPROF:[WEAPON:Sonic pistol (banshee)|WEAPON:Sonic pistol (HFD)|WEAPON:Sonic pistol (LFD)|WEAPON:Sonic pistol (thunderstrike)|WEAPON:Sonic rifle (banshee)|WEAPON:Sonic rifle (HFD)|WEAPON:Sonic rifle (LFD)|WEAPON:Sonic rifle (thunderstrike)|WEAPON:Sonic suppressor (hush)|WEAPON:Sonic suppressor (murmur)] -WEAPONPROF:[WEAPON:Sonic suppressor (repose)|WEAPON:Sonic suppressor (whisper)|WEAPON:Spear (buzzblade)|WEAPON:Spear (gravity)|WEAPON:Spear (sentinel)|WEAPON:Spear (tactical)|WEAPON:Spear (zero-edge)|WEAPON:Staccato rifle (drum)|WEAPON:Staccato rifle (hammer)|WEAPON:Staccato rifle (pulse)] -WEAPONPROF:[WEAPON:Staccato rifle (surge)|WEAPON:Staff (battle)|WEAPON:Staff (carbon)|WEAPON:Staff (hardlight)|WEAPON:Sting pistol (ant)|WEAPON:Sting pistol (hornet)|WEAPON:Sting pistol (wasp)|WEAPON:Sting pistol (yellow jacket)|WEAPON:Storm coil (impulse)|WEAPON:Storm coil (jolt)] -WEAPONPROF:[WEAPON:Storm coil (live)|WEAPON:Storm coil (surge)|WEAPON:Streetsweeper (HFD)|WEAPON:Streetsweeper (LFD)|WEAPON:Streetsweeper (thunderstrike)|WEAPON:Subduer (frost)|WEAPON:Subduer (glacier)|WEAPON:Subduer (rime)|WEAPON:Subduer (sleet)|WEAPON:Surgecaster (advanced)] -WEAPONPROF:[WEAPON:Surgecaster (standard)|WEAPON:Sword cane (advanced)|WEAPON:Sword cane (dimensional slice)|WEAPON:Sword cane (molecular rift)|WEAPON:Sword cane (tactical)|WEAPON:Sword cane (ultrathin)|WEAPON:Sword cane (zero-edge)|WEAPON:Tetrad rings (advanced)|WEAPON:Tetrad rings (elite)|WEAPON:Tetrad rings (tactical)] -WEAPONPROF:[WEAPON:Unarmed|WEAPON:Unarmed strike|WEAPON:Void rifle (barrow-class)|WEAPON:Void rifle (crypt-class)|WEAPON:Void rifle (grave-class)|WEAPON:Void rifle (ossuary-class)|WEAPON:Void rifle (tomb-class)|WEAPON:Wave modulator I|WEAPON:Wave modulator II|WEAPON:Wave modulator III] +WEAPONPROF:[WEAPON:Plasma ring (multichannel)|WEAPON:Plasma ring (single-valve)|WEAPON:Polarity rifle (aurora)|WEAPON:Polarity rifle (static)|WEAPON:Polarity rifle (storm)|WEAPON:Polarity rifle (tempest)|WEAPON:Pulsecaster (pistol)|WEAPON:Pulsecaster rifle|WEAPON:Puzzleblade (conviction)|WEAPON:Puzzleblade (dedication)] +WEAPONPROF:[WEAPON:Puzzleblade (moderation)|WEAPON:Puzzleblade (tradition)|WEAPON:Radshot (electromagnetic)|WEAPON:Radshot (neutron)|WEAPON:Radshot (rapid-decay)|WEAPON:Rail gun (advanced)|WEAPON:Rail gun (tactical)|WEAPON:Resonant pistol (lattice)|WEAPON:Resonant pistol (matrix)|WEAPON:Retractable spike (advanced)] +WEAPONPROF:[WEAPON:Retractable spike (elite)|WEAPON:Retractable spike (paragon)|WEAPON:Retractable spike (tactical)|WEAPON:Rocket rifle|WEAPON:Rotating pistol (advanced)|WEAPON:Rotating pistol (elite)|WEAPON:Rotating pistol (tactical)|WEAPON:Sap (heavy)|WEAPON:Sap (light)|WEAPON:Sap (medium)] +WEAPONPROF:[WEAPON:Scattergun (grapeshot)|WEAPON:Scattergun (impact)|WEAPON:Scattergun (snub)|WEAPON:Scattergun (utility)|WEAPON:Scattergun (vortex)|WEAPON:Scorchgun (C-band)|WEAPON:Scorchgun (K-band)|WEAPON:Scorchgun (microwave)|WEAPON:Scorchgun (S-band)|WEAPON:Scorchgun (X-band)] +WEAPONPROF:[WEAPON:Scythe (sintered)|WEAPON:Scythe (tactical)|WEAPON:Scythe (ultrathin)|WEAPON:Seeker rifle (advanced)|WEAPON:Seeker rifle (elite)|WEAPON:Seeker rifle (paragon)|WEAPON:Seeker rifle (tactical)|WEAPON:Semi-auto pistol (advanced)|WEAPON:Semi-auto pistol (elite)|WEAPON:Semi-auto pistol (paragon)] +WEAPONPROF:[WEAPON:Semi-auto pistol (tactical)|WEAPON:Serpent laser (aphelion)|WEAPON:Serpent laser (azimuth)|WEAPON:Serpent laser (corona)|WEAPON:Serpent laser (perihelion)|WEAPON:Shadow pistol (caliginous)|WEAPON:Shadow pistol (sable)|WEAPON:Shadow pistol (tenebrous)|WEAPON:Shadow pistol (umbral)|WEAPON:Shadowstaff] +WEAPONPROF:[WEAPON:Shadowstaff (lesser)|WEAPON:Shell knuckles (advanced)|WEAPON:Shell knuckles (elite)|WEAPON:Shell knuckles (paragon)|WEAPON:Shell knuckles (tactical)|WEAPON:Shellgun (blaze)|WEAPON:Shellgun (bombard)|WEAPON:Shellgun (fury)|WEAPON:Shield projector (defender)|WEAPON:Shield projector (guardian)] +WEAPONPROF:[WEAPON:Shield projector (sentry)|WEAPON:Shield projector (warden)|WEAPON:Shoulder laser (aphelion)|WEAPON:Shoulder laser (azimuth)|WEAPON:Shoulder laser (corona)|WEAPON:Shoulder laser (perihelion)|WEAPON:Shout rifle|WEAPON:Shrieking larva|WEAPON:Sledge|WEAPON:Sonic pistol (banshee)] +WEAPONPROF:[WEAPON:Sonic pistol (HFD)|WEAPON:Sonic pistol (LFD)|WEAPON:Sonic pistol (thunderstrike)|WEAPON:Sonic rifle (banshee)|WEAPON:Sonic rifle (HFD)|WEAPON:Sonic rifle (LFD)|WEAPON:Sonic rifle (thunderstrike)|WEAPON:Sonic suppressor (hush)|WEAPON:Sonic suppressor (murmur)|WEAPON:Sonic suppressor (repose)] +WEAPONPROF:[WEAPON:Sonic suppressor (whisper)|WEAPON:Spear (buzzblade)|WEAPON:Spear (gravity)|WEAPON:Spear (sentinel)|WEAPON:Spear (tactical)|WEAPON:Spear (zero-edge)|WEAPON:Spined blade (basic)|WEAPON:Spined blade (buzzblade)|WEAPON:Spined blade (gravity)|WEAPON:Spined blade (ripper)] +WEAPONPROF:[WEAPON:Spined blade (rivener)|WEAPON:Staccato rifle (drum)|WEAPON:Staccato rifle (hammer)|WEAPON:Staccato rifle (pulse)|WEAPON:Staccato rifle (surge)|WEAPON:Staff (battle)|WEAPON:Staff (carbon)|WEAPON:Staff (hardlight)|WEAPON:Sting pistol (ant)|WEAPON:Sting pistol (hornet)] +WEAPONPROF:[WEAPON:Sting pistol (wasp)|WEAPON:Sting pistol (yellow jacket)|WEAPON:Storm coil (impulse)|WEAPON:Storm coil (jolt)|WEAPON:Storm coil (live)|WEAPON:Storm coil (surge)|WEAPON:Streetsweeper (HFD)|WEAPON:Streetsweeper (LFD)|WEAPON:Streetsweeper (thunderstrike)|WEAPON:Subduer (frost)] +WEAPONPROF:[WEAPON:Subduer (glacier)|WEAPON:Subduer (rime)|WEAPON:Subduer (sleet)|WEAPON:Surgecaster (advanced)|WEAPON:Surgecaster (standard)|WEAPON:Switchblade (molecular-rift)|WEAPON:Switchblade (tactical)|WEAPON:Switchblade (ultrathin)|WEAPON:Switchblade (zero-edge)|WEAPON:Sword cane (advanced)] +WEAPONPROF:[WEAPON:Sword cane (dimensional slice)|WEAPON:Sword cane (molecular rift)|WEAPON:Sword cane (tactical)|WEAPON:Sword cane (ultrathin)|WEAPON:Sword cane (zero-edge)|WEAPON:Tailblade|WEAPON:Tetrad rings (advanced)|WEAPON:Tetrad rings (elite)|WEAPON:Tetrad rings (tactical)|WEAPON:Unarmed] +WEAPONPROF:[WEAPON:Unarmed strike|WEAPON:Void rifle (barrow-class)|WEAPON:Void rifle (crypt-class)|WEAPON:Void rifle (grave-class)|WEAPON:Void rifle (ossuary-class)|WEAPON:Void rifle (tomb-class)|WEAPON:Warclub|WEAPON:Wave modulator I|WEAPON:Wave modulator II|WEAPON:Wave modulator III] WEAPONPROF:[WEAPON:Wave modulator IV|WEAPON:Wave modulator V|WEAPON:Wave modulator VI|WEAPON:Wave modulator VII|WEAPON:Zero pistol (avalanche-class)|WEAPON:Zero pistol (blizzard-class)|WEAPON:Zero pistol (frostbite-class)|WEAPON:Zero pistol (hailstorm-class)|WEAPON:Zero rifle (avalanche-class)|WEAPON:Zero rifle (blizzard-class)] WEAPONPROF:[WEAPON:Zero rifle (frostbite-class)|WEAPON:Zero rifle (hailstorm-class)] # Character Equipment -MONEY:1000.00 +MONEY:1000.0 EQUIPNAME:AbadarCorp travel suit, silver (Small)|OUTPUTORDER:2|COST:7250.0|WT:0.1|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:AbadarCorp travel suit (silver)|DATA:NAME=AbadarCorp travel suit, silver (Small)$KEY=AUTOSIZESAbadarCorp travel suit (silver)$SIZE=S] EQUIPNAME:Adaptive Serum Mk 2|OUTPUTORDER:10|COST:1500|WT:0.0|QUANTITY:2.0|NOTE: EQUIPNAME:Aeon Stone (Dark Blue Rhomboid)|OUTPUTORDER:3|COST:18000|WT:0.0|QUANTITY:1.0|NOTE: @@ -249,12 +263,12 @@ EQUIPNAME:Cavitation pistol, thermodynamic (Small)|OUTPUTORDER:1|COST:584000.0|W EQUIPNAME:Computer (Alarm/Fake shell/Firewall/Lockout/Control, complex/Secure data, specific/Tier 10/Artificial personality/Hardened/Miniaturization/Security IV/Self-charging)|OUTPUTORDER:7|COST:321111.0|WT:0.0|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Computer|DATA:NAME=Computer (Alarm/Fake shell/Firewall/Lockout/Control, complex/Secure data, specific/Tier 10/Artificial personality/Hardened/Miniaturization/Security IV/Self-charging)$KEY=Computer (Alarm/Fake shell/Firewall/Lockout/Control_ complex/Secure data_ specific/Tier 10/Artificial personality/Hardened/Miniaturization/Security IV/Self-charging)$EQMOD=Computer Tier 10.Computer Upgrade ~ Artificial personality.Computer Upgrade ~ Hardened.Computer Countermeasures ~ Lockout.Computer Countermeasures ~ Firewall.Computer Countermeasures ~ Fake shell.Computer Upgrade ~ Security 4.Computer Upgrade ~ Self-charging.Computer Countermeasures ~ Alarm.Computer Module ~ Secure data (specific).Computer Upgrade ~ Miniaturization.Computer Module ~ Control (complex)] EQUIPNAME:Cred Stick|OUTPUTORDER:14|COST:1|WT:0.0|QUANTITY:1.0|NOTE: EQUIPNAME:Credit|OUTPUTORDER:15|COST:1|WT:0.0|QUANTITY:100050.0|NOTE: -EQUIPNAME:Dermal plating, mk 7|OUTPUTORDER:9|COST:542000|WT:0.0|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Cybernetic ~ Dermal plating (mk 7)|DATA:KEY=Cybernetic ~ Dermal plating (mk 7)] +EQUIPNAME:Dermal plating, mk 7|OUTPUTORDER:9|COST:542000|WT:0.0|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Cybernetic ~ Dermal plating (mk 7)|DATA:NAME=Dermal plating, mk 7$KEY=Cybernetic ~ Dermal plating (mk 7)] EQUIPNAME:Diffraction cloak Mk 3|OUTPUTORDER:6|COST:51000|WT:0.0|QUANTITY:1.0|NOTE: EQUIPNAME:Efficient Bandolier|OUTPUTORDER:22|COST:2000|WT:0.1|QUANTITY:1.0|NOTE: -EQUIPNAME:Holographic eyes, mk 1|OUTPUTORDER:13|COST:18300|WT:0.0|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Magitech ~ Holographic eyes (mk 1)|DATA:KEY=Magitech ~ Holographic eyes (mk 1)] +EQUIPNAME:Holographic eyes, mk 1|OUTPUTORDER:13|COST:18300|WT:0.0|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Magitech ~ Holographic eyes (mk 1)|DATA:NAME=Holographic eyes, mk 1$KEY=Magitech ~ Holographic eyes (mk 1)] EQUIPNAME:Mind Guardian|OUTPUTORDER:20|COST:36000|WT:0.0|QUANTITY:1.0|NOTE: -EQUIPNAME:Optical laser, zenith|OUTPUTORDER:8|COST:612000|WT:0.0|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Cybernetic ~ Optical laser (zenith)|DATA:KEY=Cybernetic ~ Optical laser (zenith)] +EQUIPNAME:Optical laser, zenith|OUTPUTORDER:8|COST:612000|WT:0.0|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Cybernetic ~ Optical laser (zenith)|DATA:NAME=Optical laser, zenith$KEY=Cybernetic ~ Optical laser (zenith)] EQUIPNAME:Personal Upgrade Mk 3|OUTPUTORDER:16|COST:75000|WT:0.0|QUANTITY:1.0|NOTE: EQUIPNAME:Prescient Lenses Mk 2|OUTPUTORDER:18|COST:13900|WT:0.0|QUANTITY:1.0|NOTE: EQUIPNAME:Ratfolk belt|OUTPUTORDER:5|COST:12250|WT:0.0|QUANTITY:1.0|NOTE: @@ -319,6 +333,5 @@ AGESET:1:0:0:0:0:0:0:0:0:0 # Campaign History CHRONICLEENTRY:Y|CAMPAIGN:Entry 1|ADVENTURE:Long and thick of it|PARTY:Cras-donas|DATE:2019-05-19|EXPERIENCE:1000|GM:Dufus|CHRONICLE:We did stuff, and got stuff -# Suppressed Biography Fields -SUPPRESSBIOFIELDS: +# Preview Sheet Variables From 909f876628a14bc1aa7961b4a8c548d1d84f8a67 Mon Sep 17 00:00:00 2001 From: LegacyKing Date: Fri, 7 Jul 2023 16:15:17 -0700 Subject: [PATCH 011/219] Update the SF Soldier --- code/testsuite/PCGfiles/sf_soldier.pcg | 218 +++++++++++++------------ 1 file changed, 113 insertions(+), 105 deletions(-) diff --git a/code/testsuite/PCGfiles/sf_soldier.pcg b/code/testsuite/PCGfiles/sf_soldier.pcg index 0e80118b710..e9453150043 100644 --- a/code/testsuite/PCGfiles/sf_soldier.pcg +++ b/code/testsuite/PCGfiles/sf_soldier.pcg @@ -2,8 +2,8 @@ PCGVERSION:2.0 # System Information CAMPAIGN:Starfinder RPG Core Supplements -VERSION:6.09.00-DEV -ROLLMETHOD:1|EXPRESSION:10 +VERSION:6.09.07 +ROLLMETHOD:0|EXPRESSION:0 PURCHASEPOINTS:N CHARACTERTYPE:PC PREVIEWSHEET:Standard.htm.ftl @@ -57,17 +57,17 @@ ALIGN:NG RACE:Android # Character Class(es) -CLASS:Soldier|LEVEL:10|SKILLPOOL:11|SPELLBASE:None|CANCASTPERDAY: -CLASSABILITIESLEVEL:Soldier=1|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Soldier=2|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Soldier=3|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Soldier=4|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Soldier=5|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Soldier=6|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Soldier=7|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Soldier=8|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Soldier=9|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:1 -CLASSABILITIESLEVEL:Soldier=10|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:1 +CLASS:Soldier|LEVEL:10|SKILLPOOL:0|SPELLBASE:None|CANCASTPERDAY: +CLASSABILITIESLEVEL:Soldier=1|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Soldier=2|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Soldier=3|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Soldier=4|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Soldier=5|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Soldier=6|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Soldier=7|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Soldier=8|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Soldier=9|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:0 +CLASSABILITIESLEVEL:Soldier=10|HITPOINTS:1|SKILLSGAINED:6|SKILLSREMAINING:0 # Character Experience EXPERIENCE:71000 @@ -84,33 +84,34 @@ REGION:None # Character Skills SKILL:Acrobatics|OUTPUTORDER:2|CLASSBOUGHT:[CLASS:Soldier|RANKS:10.0|COST:1|CLASSSKILL:Y] -SKILL:Athletics|OUTPUTORDER:3|CLASSBOUGHT:[CLASS:Soldier|RANKS:10.0|COST:1|CLASSSKILL:Y] -SKILL:Bluff|OUTPUTORDER:5| -SKILL:Diplomacy|OUTPUTORDER:7| +SKILL:Athletics|OUTPUTORDER:4|CLASSBOUGHT:[CLASS:Soldier|RANKS:10.0|COST:1|CLASSSKILL:Y] +SKILL:Bluff|OUTPUTORDER:6| +SKILL:Diplomacy|OUTPUTORDER:8| SKILL:Disguise|OUTPUTORDER:10| SKILL:Display ~ Acrobatics|OUTPUTORDER:1| -SKILL:Display ~ Athletics|OUTPUTORDER:4| -SKILL:Display ~ Bluff|OUTPUTORDER:6| -SKILL:Display ~ Diplomacy|OUTPUTORDER:8| +SKILL:Display ~ Athletics|OUTPUTORDER:3| +SKILL:Display ~ Bluff|OUTPUTORDER:5| +SKILL:Display ~ Diplomacy|OUTPUTORDER:7| SKILL:Display ~ Disguise|OUTPUTORDER:9| -SKILL:Display ~ Intimidate|OUTPUTORDER:11| -SKILL:Display ~ Medicine|OUTPUTORDER:13| -SKILL:Display ~ Perception|OUTPUTORDER:16| -SKILL:Display ~ Piloting|OUTPUTORDER:17| -SKILL:Display ~ Sense Motive|OUTPUTORDER:20| -SKILL:Display ~ Stealth|OUTPUTORDER:22| -SKILL:Display ~ Survival|OUTPUTORDER:24| -SKILL:Engineering|CLASSBOUGHT:[CLASS:Soldier|RANKS:10.0|COST:1|CLASSSKILL:Y] -SKILL:Intimidate|OUTPUTORDER:12| -SKILL:Medicine|OUTPUTORDER:14|CLASSBOUGHT:[CLASS:Soldier|RANKS:10.0|COST:1|CLASSSKILL:Y] -SKILL:Perception|OUTPUTORDER:15| -SKILL:Piloting|OUTPUTORDER:18|CLASSBOUGHT:[CLASS:Soldier|RANKS:10.0|COST:1|CLASSSKILL:Y] -SKILL:Sense Motive|OUTPUTORDER:19| -SKILL:Stealth|OUTPUTORDER:21| -SKILL:Survival|OUTPUTORDER:23| +SKILL:Display ~ Engineering|OUTPUTORDER:12| +SKILL:Display ~ Intimidate|OUTPUTORDER:14| +SKILL:Display ~ Medicine|OUTPUTORDER:16| +SKILL:Display ~ Perception|OUTPUTORDER:18| +SKILL:Display ~ Piloting|OUTPUTORDER:19| +SKILL:Display ~ Sense Motive|OUTPUTORDER:21| +SKILL:Display ~ Stealth|OUTPUTORDER:23| +SKILL:Display ~ Survival|OUTPUTORDER:25| +SKILL:Engineering|OUTPUTORDER:11|CLASSBOUGHT:[CLASS:Soldier|RANKS:10.0|COST:1|CLASSSKILL:Y] +SKILL:Intimidate|OUTPUTORDER:13|CLASSBOUGHT:[CLASS:Soldier|RANKS:1.0|COST:1|CLASSSKILL:Y] +SKILL:Medicine|OUTPUTORDER:15|CLASSBOUGHT:[CLASS:Soldier|RANKS:10.0|COST:1|CLASSSKILL:Y] +SKILL:Perception|OUTPUTORDER:17| +SKILL:Piloting|OUTPUTORDER:20|CLASSBOUGHT:[CLASS:Soldier|RANKS:10.0|COST:1|CLASSSKILL:Y] +SKILL:Sense Motive|OUTPUTORDER:22| +SKILL:Stealth|OUTPUTORDER:24| +SKILL:Survival|OUTPUTORDER:26|CLASSBOUGHT:[CLASS:Soldier|RANKS:9.0|COST:1|CLASSSKILL:Y] # Character Languages -LANGUAGE:Common|LANGUAGE:Triaxian +LANGUAGE:Bantrid|LANGUAGE:Common|LANGUAGE:Kalo|LANGUAGE:Triaxian # Character Feats FEATPOOL:0.0 @@ -118,6 +119,8 @@ FEATPOOL:0.0 # Character Abilities ABILITY:Android Upgrade Slot|TYPE:NORMAL|CATEGORY:Racial Trait|KEY:Android UPGRADE SLOT ~ Armor (Filtered rebreather)|TYPE:Racial Trait.Android Upgrade Slot|DESC:ItemLevel=6 USERPOOL:Android Upgrade Slot|POOLPOINTS:0.0 +ABILITY:Android Variant Ability|TYPE:NORMAL|CATEGORY:Variant Ability|KEY:Android ~ No No Variant Ability|TYPE:No Variant Ability.Android Variant Ability +USERPOOL:Android Variant Ability|POOLPOINTS:0.0 ABILITY:Combat Feat|TYPE:NORMAL|CATEGORY:FEAT|KEY:Barricade|TYPE:Combat|DESC:You are adept at creating quick, temporary cover. ABILITY:Combat Feat|TYPE:NORMAL|CATEGORY:FEAT|KEY:Deadly Aim|TYPE:Combat|DESC:Your can strike your enemies' weak points and deal more damage. ABILITY:Combat Feat|TYPE:NORMAL|CATEGORY:FEAT|KEY:Dive for Cover|TYPE:Combat|DESC:You know how to dive out of the area of an effect. @@ -173,42 +176,45 @@ WEAPONPROF:[WEAPON:Blaze rifle (ifrit-class)|WEAPON:Blaze rifle (phoenix-class)| WEAPONPROF:[WEAPON:Bone Cestus (severe)|WEAPON:Bone pistol (crypt-class)|WEAPON:Bone pistol (grave-class)|WEAPON:Bone pistol (sepulcher-class)|WEAPON:Bone pistol (vault-class)|WEAPON:Bone scepter (cadaver)|WEAPON:Bone scepter (chill)|WEAPON:Bone scepter (rigor)|WEAPON:Bone scepter (void)|WEAPON:Boomer rifle (concussive)] WEAPONPROF:[WEAPON:Boomer rifle (rumbler)|WEAPON:Boomer rifle (shockwave)|WEAPON:Boomer rifle (tremor)|WEAPON:Breaching gun (grapeshot)|WEAPON:Breaching gun (impact)|WEAPON:Breaching gun (snub)|WEAPON:Breaching gun (utility)|WEAPON:Breaching gun (vortex)|WEAPON:Burner (firedrake-class)|WEAPON:Burner (hellhound-class)] WEAPONPROF:[WEAPON:Burner (ifrit-class)|WEAPON:Burner (phoenix-class)|WEAPON:Burner (salamander-class)|WEAPON:Burning chains (archdevil-class)|WEAPON:Burning chains (fiend-class)|WEAPON:Burning chains (malebranche-class)|WEAPON:Cathode cannon (advanced)|WEAPON:Cathode cannon (elite)|WEAPON:Cathode cannon (paragon)|WEAPON:Cathode cannon (shockstorm)] -WEAPONPROF:[WEAPON:Cathode cannon (tactical)|WEAPON:Cavitation pistol (hydrodynamic)|WEAPON:Cavitation pistol (inertial)|WEAPON:Cavitation pistol (thermodynamic)|WEAPON:Cavitation pistol (vapor)|WEAPON:Charge emitter (impulse)|WEAPON:Charge emitter (jolt)|WEAPON:Charge emitter (surge)|WEAPON:Club|WEAPON:Cluster launcher (advanced)] -WEAPONPROF:[WEAPON:Cluster launcher (elite)|WEAPON:Cluster launcher (paragon)|WEAPON:Cluster launcher (tactical)|WEAPON:Coil rifle (assassin)|WEAPON:Coil rifle (precision)|WEAPON:Coil rifle (rangefinder)|WEAPON:Coil rifle (saboteur)|WEAPON:Coil rifle (specialist)|WEAPON:Colossus coil (brush)|WEAPON:Colossus coil (corona)] -WEAPONPROF:[WEAPON:Colossus coil (multistream)|WEAPON:Colossus coil (streamer arc)|WEAPON:Combat rifle|WEAPON:Compliance ray (flare)|WEAPON:Compliance ray (flash)|WEAPON:Compliance ray (starburst)|WEAPON:Compliance ray (strobe)|WEAPON:Compliance ray (sunspot)|WEAPON:Conqueror (blue star)|WEAPON:Conqueror (red star)] -WEAPONPROF:[WEAPON:Conqueror (violet star)|WEAPON:Conqueror (white star)|WEAPON:Conqueror (yellow star)|WEAPON:Convergent laser (multiwave)|WEAPON:Convergent laser (single-wave)|WEAPON:Convergent laser (wide-spectrum)|WEAPON:Coolant sprayer (algid)|WEAPON:Coolant sprayer (aufeis)|WEAPON:Coolant sprayer (glacial)|WEAPON:Coolant sprayer (isothermal)] -WEAPONPROF:[WEAPON:Core hammer (advanced)|WEAPON:Core hammer (fusion)|WEAPON:Core hammer (reactor)|WEAPON:Core hammer (tactical)|WEAPON:Crossbolter (advanced)|WEAPON:Crossbolter (dual)|WEAPON:Crossbolter (elite)|WEAPON:Crossbolter (paragon)|WEAPON:Crossbolter (tactical)|WEAPON:Cryopike (advanced)] -WEAPONPROF:[WEAPON:Cryopike (tactical)|WEAPON:Cryospike (industrial)|WEAPON:Cryospike (personal)|WEAPON:Cryospike (residential)|WEAPON:Curve blade (buzzblade)|WEAPON:Curve blade (carbon steel)|WEAPON:Curve blade (dimensional slice)|WEAPON:Curve blade (ultrathin)|WEAPON:Dagger (molecular rift)|WEAPON:Dagger (ultrathin)] -WEAPONPROF:[WEAPON:Dagger (zero-edge)|WEAPON:Dart cannon (advanced)|WEAPON:Dart cannon (elite)|WEAPON:Dart cannon (heavy)|WEAPON:Dart cannon (light)|WEAPON:Dart cannon (paragon)|WEAPON:Dart cannon (tactical)|WEAPON:Dazzler (flash)|WEAPON:Dazzler (strobe)|WEAPON:Dazzler (sunspot)] -WEAPONPROF:[WEAPON:Decoupler (bruiser)|WEAPON:Decoupler (pusher)|WEAPON:Decoupler (screamer)|WEAPON:Devastation blade (apocalypse)|WEAPON:Devastation blade (ruin)|WEAPON:Devastation blade (wrack)|WEAPON:Diasporan rifle (advanced)|WEAPON:Diasporan rifle (elite)|WEAPON:Diasporan rifle (imperial)|WEAPON:Diasporan rifle (tactical)] -WEAPONPROF:[WEAPON:Diasporan rifle (ultra)|WEAPON:Dirge cannon (anharmonic)|WEAPON:Dirge cannon (harmonic)|WEAPON:Dirge cannon (parametric)|WEAPON:Dirge cannon (resonant)|WEAPON:Dirge pistol (anharmonic)|WEAPON:Dirge pistol (harmonic)|WEAPON:Dirge pistol (parametric)|WEAPON:Dirge pistol (radial)|WEAPON:Dirge pistol (resonant)] -WEAPONPROF:[WEAPON:Disintegrator cannon (decimator)|WEAPON:Disintegrator cannon (eradicator)|WEAPON:Disintegrator cannon (executioner)|WEAPON:Disintegrator cannon (liquidator)|WEAPON:Disintegrator lash (decimator)|WEAPON:Disintegrator lash (eradicator)|WEAPON:Disintegrator lash (executioner)|WEAPON:Disintegrator lash (liquidator)|WEAPON:Disintegrator pistol (decimator)|WEAPON:Disintegrator pistol (eradicator)] -WEAPONPROF:[WEAPON:Disintegrator pistol (executioner)|WEAPON:Disintegrator pistol (liquidator)|WEAPON:Disintegrator rifle (decimator)|WEAPON:Disintegrator rifle (eradicator)|WEAPON:Disintegrator rifle (executioner)|WEAPON:Disintegrator rifle (liquidator)|WEAPON:Divergent laser (multiwave)|WEAPON:Divergent laser (single-wave)|WEAPON:Divergent laser (wide-spectrum)|WEAPON:Doshko (advanced)] -WEAPONPROF:[WEAPON:Doshko (dimensional blade)|WEAPON:Doshko (molecular rift)|WEAPON:Doshko (tactical)|WEAPON:Doshko (ultrathin)|WEAPON:Doshko (zero-edge)|WEAPON:Dragon pistol (drake)|WEAPON:Dragon pistol (true)|WEAPON:Dragon pistol (wyrmling)|WEAPON:Dragon pistol (wyvern)|WEAPON:Dragon rifle (drake)] -WEAPONPROF:[WEAPON:Dragon rifle (true)|WEAPON:Dragon rifle (wyrmling)|WEAPON:Dragon rifle (wyvern)|WEAPON:Dragonglaive (basic)|WEAPON:Dragonglaive (skyshatter)|WEAPON:Dragonglaive (stormstrike)|WEAPON:Dragonglaive (thunderhead)|WEAPON:Dragonglaive (wyrmlord)|WEAPON:Dross gun (flux)|WEAPON:Dross gun (scoring)] -WEAPONPROF:[WEAPON:Dross gun (scrapper)|WEAPON:Dueling sword (admiral)|WEAPON:Dueling sword (buzzblade)|WEAPON:Dueling sword (converted)|WEAPON:Dueling sword (molecular rift)|WEAPON:Dueling sword (officer)|WEAPON:Dueling sword (ripper)|WEAPON:Dueling sword (tactical)|WEAPON:Dueling sword (ultrathin)|WEAPON:Electroflail (advanced)] -WEAPONPROF:[WEAPON:Electroflail (elite)|WEAPON:Electroflail (paragon)|WEAPON:Electroflail (tactical)|WEAPON:Electrovore glove (aurora)|WEAPON:Electrovore glove (static)|WEAPON:Electrovore glove (storm)|WEAPON:Electrovore glove (tempest)|WEAPON:Energy converter (advanced)|WEAPON:Energy converter (elite)|WEAPON:Energy converter (tactical)] -WEAPONPROF:[WEAPON:Eoxian Wrackstaff|WEAPON:Excavation laser (heavy)|WEAPON:Excavation laser (light)|WEAPON:Excavation laser (medium)|WEAPON:Fangblade|WEAPON:Flame doshko (blaze)|WEAPON:Flame doshko (ember)|WEAPON:Flame doshko (inferno)|WEAPON:Flame doshko (solar flare)|WEAPON:Flame launcher (fireball)] -WEAPONPROF:[WEAPON:Flame launcher (immolation)|WEAPON:Flame launcher (supernova)|WEAPON:Flame pistol|WEAPON:Flame pistol (blaze)|WEAPON:Flame pistol (inferno)|WEAPON:Flame pistol (solar flare)|WEAPON:Flame rifle|WEAPON:Flame spinner (fireball)|WEAPON:Flame spinner (fission)|WEAPON:Flame spinner (immolation)] -WEAPONPROF:[WEAPON:Flame spinner (supernova)|WEAPON:Flamethrower (firedrake-class)|WEAPON:Flamethrower (hellhound-class)|WEAPON:Flamethrower (ifrit-class)|WEAPON:Flamethrower (phoenix-class)|WEAPON:Flamethrower (salamander-class)|WEAPON:Flare axe (blue star)|WEAPON:Flare axe (red star)|WEAPON:Flare axe (white star)|WEAPON:Flare axe (yellow star)] -WEAPONPROF:[WEAPON:Flare gun (survival)|WEAPON:Flare rifle (coruscator)|WEAPON:Flare rifle (dazzler)|WEAPON:Flare rifle (nova)|WEAPON:Flare rifle (scorcher)|WEAPON:Flare rifle (vivifier)|WEAPON:Focus rifle (compound)|WEAPON:Focus rifle (dual)|WEAPON:Focus rifle (quad)|WEAPON:Focus rifle (triple)] -WEAPONPROF:[WEAPON:Forked pistol (10-notch)|WEAPON:Forked pistol (6-notch)|WEAPON:Forked pistol (8-notch)|WEAPON:Forked pistol (9-notch)|WEAPON:Freeze ray (algid)|WEAPON:Freeze ray (glacial)|WEAPON:Freeze ray (hiemal)|WEAPON:Freeze ray (hypothermic)|WEAPON:Freeze ray (isothermal)|WEAPON:Frost maul (aufeis)] -WEAPONPROF:[WEAPON:Frost maul (floe)|WEAPON:Frost maul (glacier)|WEAPON:Frost maul (iceberg)|WEAPON:Frost projector (blizzard-class)|WEAPON:Frost projector (frostbite-class)|WEAPON:Frost projector (hailstorm-class)|WEAPON:Gale baton (cyclone)|WEAPON:Gale baton (hurricane)|WEAPON:Gale baton (tempest)|WEAPON:Gamma rifle (fusion)] -WEAPONPROF:[WEAPON:Gamma rifle (ionizing)|WEAPON:Gamma rifle (synchrotron)|WEAPON:Gamma rifle (terrestrial)|WEAPON:Glass blade (impulse)|WEAPON:Glass blade (jolt)|WEAPON:Glass blade (live)|WEAPON:Glass blade (surge)|WEAPON:Graviton pistol (chiral)|WEAPON:Graviton pistol (linear)|WEAPON:Graviton pistol (tensor)] -WEAPONPROF:[WEAPON:Graviton pistol (vector)|WEAPON:Grenades|WEAPON:Grindblade|WEAPON:Gulchgun|WEAPON:Gyrojet pistol (advanced)|WEAPON:Gyrojet pistol (elite)|WEAPON:Gyrojet pistol (tactical)|WEAPON:Gyrojet rifle (advanced)|WEAPON:Gyrojet rifle (elite)|WEAPON:Gyrojet rifle (paragon)] -WEAPONPROF:[WEAPON:Gyrojet rifle (tactical)|WEAPON:Hail pistol (absolute-zero)|WEAPON:Hail pistol (gelid)|WEAPON:Hail pistol (subzero)|WEAPON:Hail pistol (ultracold)|WEAPON:Hailcannon (absolute-zero)|WEAPON:Hailcannon (clathrate)|WEAPON:Hailcannon (gelid)|WEAPON:Hailcannon (subzero)|WEAPON:Hailcannon (ultracold)] -WEAPONPROF:[WEAPON:Hammer (assault)|WEAPON:Hammer (comet)|WEAPON:Hammer (gravity well)|WEAPON:Hammer (meteoric)|WEAPON:Handcannon (bombast)|WEAPON:Handcannon (braggadocio)|WEAPON:Handcannon (bravado)|WEAPON:Handcannon (gasconade)|WEAPON:Handcannon (swagger)|WEAPON:Handcoil (capital)] -WEAPONPROF:[WEAPON:Handcoil (explorer)|WEAPON:Handcoil (fighter)|WEAPON:Handcoil (pilot)|WEAPON:Heat-amp gauntlet (mk1)|WEAPON:Heat-amp gauntlet (mk2)|WEAPON:Heat-amp gauntlet (mk3)|WEAPON:Heat-amp gauntlet (mk4)|WEAPON:Hook sword|WEAPON:Hunting rifle|WEAPON:Hydra cannon (asp-series)] -WEAPONPROF:[WEAPON:Hydra cannon (cobra-series)|WEAPON:Hydra cannon (python-series)|WEAPON:Hydra cannon (viper-series)|WEAPON:Ice carbine (absolute-zero)|WEAPON:Ice carbine (gelid)|WEAPON:Ice carbine (subzero)|WEAPON:Ice carbine (ultracold)|WEAPON:Ice launcher (aufeis)|WEAPON:Ice launcher (floe)|WEAPON:Ice launcher (glacier)] -WEAPONPROF:[WEAPON:Ice launcher (iceberg)|WEAPON:Ice launcher (icecap)|WEAPON:Ice needle (artifice)|WEAPON:Ice needle (espionage)|WEAPON:Ice needle (furtive)|WEAPON:Ice needle (subterfuge)|WEAPON:Ice needle (undercover)|WEAPON:Icestar staff (defender)|WEAPON:Icestar staff (drifter)|WEAPON:Icestar staff (leader)] -WEAPONPROF:[WEAPON:Icestar staff (seeker)|WEAPON:Icestar staff (warrior)|WEAPON:Igniter (blaze)|WEAPON:Igniter (ember)|WEAPON:Igniter (inferno)|WEAPON:Igniter (solar flare)|WEAPON:IMDS missile launcher|WEAPON:Incapacitator|WEAPON:Infinity rifle (advanced)|WEAPON:Infinity rifle (elite)] -WEAPONPROF:[WEAPON:Infinity rifle (paragon)|WEAPON:Infinity rifle (tactical)|WEAPON:Injection (glove)|WEAPON:Injector pistol (elite)|WEAPON:Injector pistol (medic)|WEAPON:Injector pistol (poacher)|WEAPON:Injector pistol (subjugation)|WEAPON:Injector pistol (zoologist)|WEAPON:Interference blade (harmonic)|WEAPON:Interference blade (monophonic)] -WEAPONPROF:[WEAPON:Interference blade (multiphonic)|WEAPON:Interference blade (polyphonic)|WEAPON:Ionizer (chromic)|WEAPON:Ionizer (cupric)|WEAPON:Ionizer (ferric)|WEAPON:Ionizer (stannic)|WEAPON:Junk censer|WEAPON:Kalo shredder (cascade-class)|WEAPON:Kalo shredder (deluge-class)|WEAPON:Kalo shredder (monsoon-class)] -WEAPONPROF:[WEAPON:Kalo shredder (slipstream-class)|WEAPON:Kalo shredder (torrent-class)|WEAPON:Knife (survival)|WEAPON:Knife (tactical)|WEAPON:Laser pistol (aphelion)|WEAPON:Laser pistol (azimuth)|WEAPON:Laser pistol (corona)|WEAPON:Laser pistol (parallax)|WEAPON:Laser pistol (perihelion)|WEAPON:Laser pistol (zenith)] -WEAPONPROF:[WEAPON:Laser rifle (aphelion)|WEAPON:Laser rifle (azimuth)|WEAPON:Laser rifle (corona)|WEAPON:Laser rifle (parallax)|WEAPON:Laser rifle (perihelion)|WEAPON:Laser rifle (zenith)|WEAPON:Lens pistol (cylindrical)|WEAPON:Lens pistol (electron)|WEAPON:Lens pistol (lenticular)|WEAPON:Lens pistol (sunglass)] -WEAPONPROF:[WEAPON:Lightning pistol (ribbon)|WEAPON:Lightning pistol (rocket)|WEAPON:Lightning pistol (sheet)|WEAPON:Lightning pistol (smooth-channel)|WEAPON:Living lash|WEAPON:Longsword|WEAPON:Longsword (dimensional slice)|WEAPON:Longsword (microserrated)|WEAPON:Longsword (molecular rift)|WEAPON:Longsword (sintered)] -WEAPONPROF:[WEAPON:Longsword (ultraserrated)|WEAPON:Longsword (ultrathin)|WEAPON:Longsword (zero-edge)|WEAPON:Machine gun (heavy)|WEAPON:Machine gun (light)|WEAPON:Machine gun (medium)|WEAPON:Machine gun (squad)|WEAPON:Magma blade (andesite)|WEAPON:Magma blade (basalt)|WEAPON:Magma blade (plagioclase)] -WEAPONPROF:[WEAPON:Magma blade (rhyolite)|WEAPON:Magnetar rifle (advanced)|WEAPON:Magnetar rifle (elite)|WEAPON:Magnetar rifle (paragon)|WEAPON:Magnetar rifle (tactical)|WEAPON:Meteor glaive (advanced)|WEAPON:Meteor glaive (elite)|WEAPON:Meteor glaive (paragon)|WEAPON:Meteor glaive (tactical)|WEAPON:Microfusion rifle (heavy)] +WEAPONPROF:[WEAPON:Cathode cannon (tactical)|WEAPON:Cavitation pistol (hydrodynamic)|WEAPON:Cavitation pistol (inertial)|WEAPON:Cavitation pistol (thermodynamic)|WEAPON:Cavitation pistol (vapor)|WEAPON:Charge emitter (impulse)|WEAPON:Charge emitter (jolt)|WEAPON:Charge emitter (surge)|WEAPON:Chitinblade (microserrated)|WEAPON:Chitinblade (nanoserrated)] +WEAPONPROF:[WEAPON:Chitinblade (tactical)|WEAPON:Chitinblade (ultraserrated)|WEAPON:Club|WEAPON:Cluster launcher (advanced)|WEAPON:Cluster launcher (elite)|WEAPON:Cluster launcher (paragon)|WEAPON:Cluster launcher (tactical)|WEAPON:Coil rifle (assassin)|WEAPON:Coil rifle (precision)|WEAPON:Coil rifle (rangefinder)] +WEAPONPROF:[WEAPON:Coil rifle (saboteur)|WEAPON:Coil rifle (specialist)|WEAPON:Colossus coil (brush)|WEAPON:Colossus coil (corona)|WEAPON:Colossus coil (multistream)|WEAPON:Colossus coil (streamer arc)|WEAPON:Combat rifle|WEAPON:Compliance ray (flare)|WEAPON:Compliance ray (flash)|WEAPON:Compliance ray (starburst)] +WEAPONPROF:[WEAPON:Compliance ray (strobe)|WEAPON:Compliance ray (sunspot)|WEAPON:Conqueror (blue star)|WEAPON:Conqueror (red star)|WEAPON:Conqueror (violet star)|WEAPON:Conqueror (white star)|WEAPON:Conqueror (yellow star)|WEAPON:Convergent laser (multiwave)|WEAPON:Convergent laser (single-wave)|WEAPON:Convergent laser (wide-spectrum)] +WEAPONPROF:[WEAPON:Coolant sprayer (algid)|WEAPON:Coolant sprayer (aufeis)|WEAPON:Coolant sprayer (glacial)|WEAPON:Coolant sprayer (isothermal)|WEAPON:Core hammer (advanced)|WEAPON:Core hammer (fusion)|WEAPON:Core hammer (reactor)|WEAPON:Core hammer (tactical)|WEAPON:Crossbolter (advanced)|WEAPON:Crossbolter (dual)] +WEAPONPROF:[WEAPON:Crossbolter (elite)|WEAPON:Crossbolter (paragon)|WEAPON:Crossbolter (tactical)|WEAPON:Cryopike (advanced)|WEAPON:Cryopike (tactical)|WEAPON:Cryospike (industrial)|WEAPON:Cryospike (personal)|WEAPON:Cryospike (residential)|WEAPON:Curve blade (buzzblade)|WEAPON:Curve blade (carbon steel)] +WEAPONPROF:[WEAPON:Curve blade (dimensional slice)|WEAPON:Curve blade (ultrathin)|WEAPON:Dagger (molecular rift)|WEAPON:Dagger (ultrathin)|WEAPON:Dagger (zero-edge)|WEAPON:Dart cannon (advanced)|WEAPON:Dart cannon (elite)|WEAPON:Dart cannon (heavy)|WEAPON:Dart cannon (light)|WEAPON:Dart cannon (paragon)] +WEAPONPROF:[WEAPON:Dart cannon (tactical)|WEAPON:Dazzler (flash)|WEAPON:Dazzler (strobe)|WEAPON:Dazzler (sunspot)|WEAPON:Decoupler (bruiser)|WEAPON:Decoupler (pusher)|WEAPON:Decoupler (screamer)|WEAPON:Devastation blade (apocalypse)|WEAPON:Devastation blade (ruin)|WEAPON:Devastation blade (wrack)] +WEAPONPROF:[WEAPON:Diasporan rifle (advanced)|WEAPON:Diasporan rifle (elite)|WEAPON:Diasporan rifle (imperial)|WEAPON:Diasporan rifle (tactical)|WEAPON:Diasporan rifle (ultra)|WEAPON:Dirge cannon (anharmonic)|WEAPON:Dirge cannon (harmonic)|WEAPON:Dirge cannon (parametric)|WEAPON:Dirge cannon (resonant)|WEAPON:Dirge pistol (anharmonic)] +WEAPONPROF:[WEAPON:Dirge pistol (harmonic)|WEAPON:Dirge pistol (parametric)|WEAPON:Dirge pistol (radial)|WEAPON:Dirge pistol (resonant)|WEAPON:Disintegrator cannon (decimator)|WEAPON:Disintegrator cannon (eradicator)|WEAPON:Disintegrator cannon (executioner)|WEAPON:Disintegrator cannon (liquidator)|WEAPON:Disintegrator lash (decimator)|WEAPON:Disintegrator lash (eradicator)] +WEAPONPROF:[WEAPON:Disintegrator lash (executioner)|WEAPON:Disintegrator lash (liquidator)|WEAPON:Disintegrator pistol (decimator)|WEAPON:Disintegrator pistol (eradicator)|WEAPON:Disintegrator pistol (executioner)|WEAPON:Disintegrator pistol (liquidator)|WEAPON:Disintegrator rifle (decimator)|WEAPON:Disintegrator rifle (eradicator)|WEAPON:Disintegrator rifle (executioner)|WEAPON:Disintegrator rifle (liquidator)] +WEAPONPROF:[WEAPON:Divergent laser (multiwave)|WEAPON:Divergent laser (single-wave)|WEAPON:Divergent laser (wide-spectrum)|WEAPON:Doshko (advanced)|WEAPON:Doshko (dimensional blade)|WEAPON:Doshko (molecular rift)|WEAPON:Doshko (tactical)|WEAPON:Doshko (ultrathin)|WEAPON:Doshko (zero-edge)|WEAPON:Dragon pistol (drake)] +WEAPONPROF:[WEAPON:Dragon pistol (true)|WEAPON:Dragon pistol (wyrmling)|WEAPON:Dragon pistol (wyvern)|WEAPON:Dragon rifle (drake)|WEAPON:Dragon rifle (true)|WEAPON:Dragon rifle (wyrmling)|WEAPON:Dragon rifle (wyvern)|WEAPON:Dragonglaive (basic)|WEAPON:Dragonglaive (skyshatter)|WEAPON:Dragonglaive (stormstrike)] +WEAPONPROF:[WEAPON:Dragonglaive (thunderhead)|WEAPON:Dragonglaive (wyrmlord)|WEAPON:Dross gun (flux)|WEAPON:Dross gun (scoring)|WEAPON:Dross gun (scrapper)|WEAPON:Dueling sword (admiral)|WEAPON:Dueling sword (buzzblade)|WEAPON:Dueling sword (converted)|WEAPON:Dueling sword (molecular rift)|WEAPON:Dueling sword (officer)] +WEAPONPROF:[WEAPON:Dueling sword (ripper)|WEAPON:Dueling sword (tactical)|WEAPON:Dueling sword (ultrathin)|WEAPON:Electroflail (advanced)|WEAPON:Electroflail (elite)|WEAPON:Electroflail (paragon)|WEAPON:Electroflail (tactical)|WEAPON:Electrovore glove (aurora)|WEAPON:Electrovore glove (static)|WEAPON:Electrovore glove (storm)] +WEAPONPROF:[WEAPON:Electrovore glove (tempest)|WEAPON:Energy converter (advanced)|WEAPON:Energy converter (elite)|WEAPON:Energy converter (tactical)|WEAPON:Eoxian Wrackstaff|WEAPON:Excavation laser (heavy)|WEAPON:Excavation laser (light)|WEAPON:Excavation laser (medium)|WEAPON:Fangblade|WEAPON:Flame doshko (blaze)] +WEAPONPROF:[WEAPON:Flame doshko (ember)|WEAPON:Flame doshko (inferno)|WEAPON:Flame doshko (solar flare)|WEAPON:Flame launcher (fireball)|WEAPON:Flame launcher (immolation)|WEAPON:Flame launcher (supernova)|WEAPON:Flame pistol|WEAPON:Flame pistol (blaze)|WEAPON:Flame pistol (inferno)|WEAPON:Flame pistol (solar flare)] +WEAPONPROF:[WEAPON:Flame rifle|WEAPON:Flame spinner (fireball)|WEAPON:Flame spinner (fission)|WEAPON:Flame spinner (immolation)|WEAPON:Flame spinner (supernova)|WEAPON:Flamethrower (firedrake-class)|WEAPON:Flamethrower (hellhound-class)|WEAPON:Flamethrower (ifrit-class)|WEAPON:Flamethrower (phoenix-class)|WEAPON:Flamethrower (salamander-class)] +WEAPONPROF:[WEAPON:Flare axe (blue star)|WEAPON:Flare axe (red star)|WEAPON:Flare axe (white star)|WEAPON:Flare axe (yellow star)|WEAPON:Flare gun (survival)|WEAPON:Flare rifle (coruscator)|WEAPON:Flare rifle (dazzler)|WEAPON:Flare rifle (nova)|WEAPON:Flare rifle (scorcher)|WEAPON:Flare rifle (vivifier)] +WEAPONPROF:[WEAPON:Focus rifle (compound)|WEAPON:Focus rifle (dual)|WEAPON:Focus rifle (quad)|WEAPON:Focus rifle (triple)|WEAPON:Forked pistol (10-notch)|WEAPON:Forked pistol (6-notch)|WEAPON:Forked pistol (8-notch)|WEAPON:Forked pistol (9-notch)|WEAPON:Freeze ray (algid)|WEAPON:Freeze ray (glacial)] +WEAPONPROF:[WEAPON:Freeze ray (hiemal)|WEAPON:Freeze ray (hypothermic)|WEAPON:Freeze ray (isothermal)|WEAPON:Frost maul (aufeis)|WEAPON:Frost maul (floe)|WEAPON:Frost maul (glacier)|WEAPON:Frost maul (iceberg)|WEAPON:Frost projector (blizzard-class)|WEAPON:Frost projector (frostbite-class)|WEAPON:Frost projector (hailstorm-class)] +WEAPONPROF:[WEAPON:Gale baton (cyclone)|WEAPON:Gale baton (hurricane)|WEAPON:Gale baton (tempest)|WEAPON:Gamma rifle (fusion)|WEAPON:Gamma rifle (ionizing)|WEAPON:Gamma rifle (synchrotron)|WEAPON:Gamma rifle (terrestrial)|WEAPON:Garrote (microfilament)|WEAPON:Garrote (monowire)|WEAPON:Garrote (nanofiber)] +WEAPONPROF:[WEAPON:Garrote (wire)|WEAPON:Glass blade (impulse)|WEAPON:Glass blade (jolt)|WEAPON:Glass blade (live)|WEAPON:Glass blade (surge)|WEAPON:Graviton pistol (chiral)|WEAPON:Graviton pistol (linear)|WEAPON:Graviton pistol (tensor)|WEAPON:Graviton pistol (vector)|WEAPON:Greataxe (molecular-rift)] +WEAPONPROF:[WEAPON:Greataxe (sintered)|WEAPON:Greataxe (tactical)|WEAPON:Greataxe (ultrathin)|WEAPON:Grenades|WEAPON:Grindblade|WEAPON:Gulchgun|WEAPON:Gyrojet pistol (advanced)|WEAPON:Gyrojet pistol (elite)|WEAPON:Gyrojet pistol (tactical)|WEAPON:Gyrojet rifle (advanced)] +WEAPONPROF:[WEAPON:Gyrojet rifle (elite)|WEAPON:Gyrojet rifle (paragon)|WEAPON:Gyrojet rifle (tactical)|WEAPON:Hail pistol (absolute-zero)|WEAPON:Hail pistol (gelid)|WEAPON:Hail pistol (subzero)|WEAPON:Hail pistol (ultracold)|WEAPON:Hailcannon (absolute-zero)|WEAPON:Hailcannon (clathrate)|WEAPON:Hailcannon (gelid)] +WEAPONPROF:[WEAPON:Hailcannon (subzero)|WEAPON:Hailcannon (ultracold)|WEAPON:Hammer (assault)|WEAPON:Hammer (comet)|WEAPON:Hammer (gravity well)|WEAPON:Hammer (meteoric)|WEAPON:Handaxe (basic)|WEAPON:Handaxe (molecular-rift)|WEAPON:Handaxe (sintered)|WEAPON:Handaxe (tactical)] +WEAPONPROF:[WEAPON:Handaxe (ultrathin)|WEAPON:Handcannon (bombast)|WEAPON:Handcannon (braggadocio)|WEAPON:Handcannon (bravado)|WEAPON:Handcannon (gasconade)|WEAPON:Handcannon (swagger)|WEAPON:Handcoil (capital)|WEAPON:Handcoil (explorer)|WEAPON:Handcoil (fighter)|WEAPON:Handcoil (pilot)] +WEAPONPROF:[WEAPON:Heat-amp gauntlet (mk1)|WEAPON:Heat-amp gauntlet (mk2)|WEAPON:Heat-amp gauntlet (mk3)|WEAPON:Heat-amp gauntlet (mk4)|WEAPON:Hook knife|WEAPON:Hook sword|WEAPON:Hunting rifle|WEAPON:Hydra cannon (asp-series)|WEAPON:Hydra cannon (cobra-series)|WEAPON:Hydra cannon (python-series)] +WEAPONPROF:[WEAPON:Hydra cannon (viper-series)|WEAPON:Ice carbine (absolute-zero)|WEAPON:Ice carbine (gelid)|WEAPON:Ice carbine (subzero)|WEAPON:Ice carbine (ultracold)|WEAPON:Ice launcher (aufeis)|WEAPON:Ice launcher (floe)|WEAPON:Ice launcher (glacier)|WEAPON:Ice launcher (iceberg)|WEAPON:Ice launcher (icecap)] +WEAPONPROF:[WEAPON:Ice needle (artifice)|WEAPON:Ice needle (espionage)|WEAPON:Ice needle (furtive)|WEAPON:Ice needle (subterfuge)|WEAPON:Ice needle (undercover)|WEAPON:Icestar staff (defender)|WEAPON:Icestar staff (drifter)|WEAPON:Icestar staff (leader)|WEAPON:Icestar staff (seeker)|WEAPON:Icestar staff (warrior)] +WEAPONPROF:[WEAPON:Igniter (blaze)|WEAPON:Igniter (ember)|WEAPON:Igniter (inferno)|WEAPON:Igniter (solar flare)|WEAPON:IMDS missile launcher|WEAPON:Incapacitator|WEAPON:Infinity rifle (advanced)|WEAPON:Infinity rifle (elite)|WEAPON:Infinity rifle (paragon)|WEAPON:Infinity rifle (tactical)] +WEAPONPROF:[WEAPON:Injection (glove)|WEAPON:Injector pistol (elite)|WEAPON:Injector pistol (medic)|WEAPON:Injector pistol (poacher)|WEAPON:Injector pistol (subjugation)|WEAPON:Injector pistol (zoologist)|WEAPON:Interference blade (harmonic)|WEAPON:Interference blade (monophonic)|WEAPON:Interference blade (multiphonic)|WEAPON:Interference blade (polyphonic)] +WEAPONPROF:[WEAPON:Ionizer (chromic)|WEAPON:Ionizer (cupric)|WEAPON:Ionizer (ferric)|WEAPON:Ionizer (stannic)|WEAPON:Junk censer|WEAPON:Kalo shredder (cascade-class)|WEAPON:Kalo shredder (deluge-class)|WEAPON:Kalo shredder (monsoon-class)|WEAPON:Kalo shredder (slipstream-class)|WEAPON:Kalo shredder (torrent-class)] +WEAPONPROF:[WEAPON:Knife (survival)|WEAPON:Knife (tactical)|WEAPON:Lance (advanced)|WEAPON:Lance (elite)|WEAPON:Lance (paragon)|WEAPON:Lance (tactical)|WEAPON:Laser pistol (aphelion)|WEAPON:Laser pistol (azimuth)|WEAPON:Laser pistol (corona)|WEAPON:Laser pistol (parallax)] +WEAPONPROF:[WEAPON:Laser pistol (perihelion)|WEAPON:Laser pistol (zenith)|WEAPON:Laser rifle (aphelion)|WEAPON:Laser rifle (azimuth)|WEAPON:Laser rifle (corona)|WEAPON:Laser rifle (parallax)|WEAPON:Laser rifle (perihelion)|WEAPON:Laser rifle (zenith)|WEAPON:Lens pistol (cylindrical)|WEAPON:Lens pistol (electron)] +WEAPONPROF:[WEAPON:Lens pistol (lenticular)|WEAPON:Lens pistol (sunglass)|WEAPON:Lightning pistol (ribbon)|WEAPON:Lightning pistol (rocket)|WEAPON:Lightning pistol (sheet)|WEAPON:Lightning pistol (smooth-channel)|WEAPON:Living lash|WEAPON:Living staff (advanced)|WEAPON:Living staff (elite)|WEAPON:Living staff (paragon)] +WEAPONPROF:[WEAPON:Living staff (tactical)|WEAPON:Longsword|WEAPON:Longsword (dimensional slice)|WEAPON:Longsword (microserrated)|WEAPON:Longsword (molecular rift)|WEAPON:Longsword (sintered)|WEAPON:Longsword (ultraserrated)|WEAPON:Longsword (ultrathin)|WEAPON:Longsword (zero-edge)|WEAPON:Machine gun (heavy)] +WEAPONPROF:[WEAPON:Machine gun (light)|WEAPON:Machine gun (medium)|WEAPON:Machine gun (squad)|WEAPON:Magma blade (andesite)|WEAPON:Magma blade (basalt)|WEAPON:Magma blade (plagioclase)|WEAPON:Magma blade (rhyolite)|WEAPON:Magnetar rifle (advanced)|WEAPON:Magnetar rifle (elite)|WEAPON:Magnetar rifle (paragon)] +WEAPONPROF:[WEAPON:Magnetar rifle (tactical)|WEAPON:Maul (advanced)|WEAPON:Maul (elite)|WEAPON:Maul (paragon)|WEAPON:Maul (tactical)|WEAPON:Meteor glaive (advanced)|WEAPON:Meteor glaive (elite)|WEAPON:Meteor glaive (paragon)|WEAPON:Meteor glaive (tactical)|WEAPON:Microfusion rifle (heavy)] WEAPONPROF:[WEAPON:Microfusion rifle (light)|WEAPON:Microfusion rifle (medium)|WEAPON:Minelayer (command)|WEAPON:Minelayer (merc)|WEAPON:Minelayer (platoon)|WEAPON:Minelayer (squad)|WEAPON:Mirage dagger (distortion)|WEAPON:Mirage dagger (hallucination)|WEAPON:Mirage dagger (illusion)|WEAPON:Monowhip] WEAPONPROF:[WEAPON:Multistage rifle (dual)|WEAPON:Multistage rifle (dual-plus)|WEAPON:Multistage rifle (quad)|WEAPON:Multistage rifle (triple)|WEAPON:Multistage rifle (triple-plus)|WEAPON:Nanite decoupler (caustic)|WEAPON:Nanite decoupler (vitriolic)|WEAPON:Nanite rifle (advanced)|WEAPON:Nanite rifle (elite)|WEAPON:Nanite rifle (tactical)] WEAPONPROF:[WEAPON:Nanite thrower (advanced)|WEAPON:Nanite thrower (elite)|WEAPON:Nanite thrower (paragon)|WEAPON:Nanite thrower (tactical)|WEAPON:Needler pistol|WEAPON:Needler rifle|WEAPON:Neural lash (amperometric)|WEAPON:Neural lash (electroplax)|WEAPON:Neural lash (galvanic)|WEAPON:Neural lash (voltaic)] @@ -223,34 +229,37 @@ WEAPONPROF:[WEAPON:Plasma lash (yellow star)|WEAPON:Plasma pistol (blue star)|WE WEAPONPROF:[WEAPON:Plasma rifle (red star)|WEAPON:Plasma rifle (white star)|WEAPON:Plasma rifle (yellow star)|WEAPON:Plasma ring (dual-valve)|WEAPON:Plasma ring (multichannel)|WEAPON:Plasma ring (single-valve)|WEAPON:Plasma sword (blue star)|WEAPON:Plasma sword (red star)|WEAPON:Plasma sword (tactical)|WEAPON:Plasma sword (white star)] WEAPONPROF:[WEAPON:Plasma sword (yellow star)|WEAPON:Polarity gauntlets (aurora)|WEAPON:Polarity gauntlets (current)|WEAPON:Polarity gauntlets (spark)|WEAPON:Polarity gauntlets (static)|WEAPON:Polarity gauntlets (storm)|WEAPON:Polarity gauntlets (tempest)|WEAPON:Polarity rifle (aurora)|WEAPON:Polarity rifle (static)|WEAPON:Polarity rifle (storm)] WEAPONPROF:[WEAPON:Polarity rifle (tempest)|WEAPON:Psychic-wave cannon I|WEAPON:Psychic-wave cannon II|WEAPON:Psychic-wave cannon III|WEAPON:Psychic-wave cannon IV|WEAPON:Psychic-wave cannon V|WEAPON:Pulse gauntlet (banshee)|WEAPON:Pulse gauntlet (HFD)|WEAPON:Pulse gauntlet (LFD)|WEAPON:Pulse gauntlet (thunderstrike)] -WEAPONPROF:[WEAPON:Pulsecaster (pistol)|WEAPON:Pulsecaster rifle|WEAPON:Pyrod (beacon)|WEAPON:Pyrod (luminous)|WEAPON:Pyrod (torch)|WEAPON:Radcannon (electromagnetic)|WEAPON:Radcannon (neutron)|WEAPON:Radcannon (rapid-decay)|WEAPON:Radshot (electromagnetic)|WEAPON:Radshot (neutron)] -WEAPONPROF:[WEAPON:Radshot (rapid-decay)|WEAPON:Rail cannon (advanced)|WEAPON:Rail cannon (elite)|WEAPON:Rail cannon (paragon)|WEAPON:Rail cannon (tactical)|WEAPON:Rail gun (advanced)|WEAPON:Rail gun (tactical)|WEAPON:Reaction cannon (advanced)|WEAPON:Reaction cannon (elite)|WEAPON:Reaction cannon (heavy)] -WEAPONPROF:[WEAPON:Reaction cannon (light)|WEAPON:Reaction cannon (paragon)|WEAPON:Reaction cannon (tactical)|WEAPON:Resistance rod (induction)|WEAPON:Resistance rod (piezoresistor)|WEAPON:Resistance rod (strain-gauge)|WEAPON:Resistance rod (thermistor)|WEAPON:Resonant gauntlet (atomic)|WEAPON:Resonant gauntlet (cellular)|WEAPON:Resonant gauntlet (molecular)] -WEAPONPROF:[WEAPON:Resonant gauntlet (quantum)|WEAPON:Resonant pistol (lattice)|WEAPON:Resonant pistol (matrix)|WEAPON:Resonant staff (reverberant)|WEAPON:Resonant staff (sonorous)|WEAPON:Resonant staff (stentorian)|WEAPON:Resonator (diffraction)|WEAPON:Resonator (linear)|WEAPON:Resonator (phased)|WEAPON:Resonator (refraction)] -WEAPONPROF:[WEAPON:Rocket rifle|WEAPON:Rotating pistol (advanced)|WEAPON:Rotating pistol (elite)|WEAPON:Rotating pistol (tactical)|WEAPON:Rotolaser (advanced)|WEAPON:Rotolaser (tactical)|WEAPON:Scattergun (grapeshot)|WEAPON:Scattergun (impact)|WEAPON:Scattergun (snub)|WEAPON:Scattergun (utility)] -WEAPONPROF:[WEAPON:Scattergun (vortex)|WEAPON:Scorchgun (C-band)|WEAPON:Scorchgun (K-band)|WEAPON:Scorchgun (microwave)|WEAPON:Scorchgun (S-band)|WEAPON:Scorchgun (X-band)|WEAPON:Screamer (HFD)|WEAPON:Screamer (LFD)|WEAPON:Screamer (thunderstrike)|WEAPON:Searing grip (high-heat)] -WEAPONPROF:[WEAPON:Searing grip (low-heat)|WEAPON:Searing grip (weaponized)|WEAPON:Seeker rifle (advanced)|WEAPON:Seeker rifle (elite)|WEAPON:Seeker rifle (paragon)|WEAPON:Seeker rifle (tactical)|WEAPON:Seismic pick (demolition)|WEAPON:Seismic pick (driver)|WEAPON:Seismic pick (heavy)|WEAPON:Seismic pick (light)] -WEAPONPROF:[WEAPON:Semi-auto pistol (advanced)|WEAPON:Semi-auto pistol (elite)|WEAPON:Semi-auto pistol (paragon)|WEAPON:Semi-auto pistol (tactical)|WEAPON:Serpent laser (aphelion)|WEAPON:Serpent laser (azimuth)|WEAPON:Serpent laser (corona)|WEAPON:Serpent laser (perihelion)|WEAPON:Shadow chains (acolyte)|WEAPON:Shadow chains (devotional)] -WEAPONPROF:[WEAPON:Shadow chains (ecclesiastic)|WEAPON:Shadow chains (follower)|WEAPON:Shadow chains (penitent)|WEAPON:Shadow pistol (caliginous)|WEAPON:Shadow pistol (sable)|WEAPON:Shadow pistol (tenebrous)|WEAPON:Shadow pistol (umbral)|WEAPON:Shadowstaff|WEAPON:Shadowstaff (lesser)|WEAPON:Shellgun (blaze)] -WEAPONPROF:[WEAPON:Shellgun (bombard)|WEAPON:Shellgun (fury)|WEAPON:Shield projector (defender)|WEAPON:Shield projector (guardian)|WEAPON:Shield projector (sentry)|WEAPON:Shield projector (warden)|WEAPON:Shirren-eye rifle (advanced)|WEAPON:Shirren-eye rifle (elite)|WEAPON:Shirren-eye rifle (paragon)|WEAPON:Shirren-eye rifle (tactical)] -WEAPONPROF:[WEAPON:Shirren-eye rifle (warpshot)|WEAPON:Shobhad horizon striker (advanced)|WEAPON:Shobhad horizon striker (elite)|WEAPON:Shobhad horizon striker (paragon)|WEAPON:Shobhad horizon striker (tactical)|WEAPON:Shock caster (aurora)|WEAPON:Shock caster (static)|WEAPON:Shock caster (storm)|WEAPON:Shock caster (tempest)|WEAPON:Shock pad (aurora)] -WEAPONPROF:[WEAPON:Shock pad (static)|WEAPON:Shock pad (storm)|WEAPON:Shock pad (tempest)|WEAPON:Shock truncheon (aurora)|WEAPON:Shock truncheon (static)|WEAPON:Shock truncheon (storm)|WEAPON:Shock truncheon (tempest)|WEAPON:Shoulder laser (aphelion)|WEAPON:Shoulder laser (azimuth)|WEAPON:Shoulder laser (corona)] -WEAPONPROF:[WEAPON:Shoulder laser (perihelion)|WEAPON:Shout projector (crackdown)|WEAPON:Shout projector (damper)|WEAPON:Shout projector (exhorter)|WEAPON:Shout projector (pacifier)|WEAPON:Shout projector (riot)|WEAPON:Shout rifle|WEAPON:Shrieking knife (harmonic)|WEAPON:Shrieking knife (infrasonic)|WEAPON:Shrieking knife (interference)] -WEAPONPROF:[WEAPON:Shrieking knife (ultrasonic)|WEAPON:Shrieking larva|WEAPON:Singing disk (alto)|WEAPON:Singing disk (bass)|WEAPON:Singing disk (sopranino)|WEAPON:Singing disk (soprano)|WEAPON:Singing disk (tenor)|WEAPON:Singing spear (alto)|WEAPON:Singing spear (sopranino)|WEAPON:Singing spear (soprano)] -WEAPONPROF:[WEAPON:Singing spear (tenor)|WEAPON:Skyfire sword (inferno)|WEAPON:Skyfire sword (tactical)|WEAPON:Solar brand (blue star)|WEAPON:Solar brand (red star)|WEAPON:Solar brand (white star)|WEAPON:Solar brand (yellow star)|WEAPON:Solarian Weapon|WEAPON:Sonic bolter (assault)|WEAPON:Sonic bolter (devastator)] -WEAPONPROF:[WEAPON:Sonic bolter (heavy)|WEAPON:Sonic bolter (light)|WEAPON:Sonic pistol (banshee)|WEAPON:Sonic pistol (HFD)|WEAPON:Sonic pistol (LFD)|WEAPON:Sonic pistol (thunderstrike)|WEAPON:Sonic rifle (banshee)|WEAPON:Sonic rifle (HFD)|WEAPON:Sonic rifle (LFD)|WEAPON:Sonic rifle (thunderstrike)] -WEAPONPROF:[WEAPON:Sonic suppressor (hush)|WEAPON:Sonic suppressor (murmur)|WEAPON:Sonic suppressor (repose)|WEAPON:Sonic suppressor (whisper)|WEAPON:Spark knife (boss)|WEAPON:Spark knife (crew)|WEAPON:Spark knife (recruit)|WEAPON:Spark knife (runner)|WEAPON:Spear (buzzblade)|WEAPON:Spear (gravity)] -WEAPONPROF:[WEAPON:Spear (sentinel)|WEAPON:Spear (tactical)|WEAPON:Spear (zero-edge)|WEAPON:Spined iceblade (avalanche-class)|WEAPON:Spined iceblade (blizzard-class)|WEAPON:Spined iceblade (frostbite-class)|WEAPON:Spined iceblade (hailstorm-class)|WEAPON:Staccato rifle (drum)|WEAPON:Staccato rifle (hammer)|WEAPON:Staccato rifle (pulse)] -WEAPONPROF:[WEAPON:Staccato rifle (surge)|WEAPON:Staff (battle)|WEAPON:Staff (carbon)|WEAPON:Staff (hardlight)|WEAPON:Staff (repeller)|WEAPON:Staff (sentinel)|WEAPON:Starheart cannon (blue star)|WEAPON:Starheart cannon (red star)|WEAPON:Starheart cannon (white star)|WEAPON:Starheart cannon (yellow star)] -WEAPONPROF:[WEAPON:Starknife (accelerated)|WEAPON:Starknife (dimensional slice)|WEAPON:Starknife (lightspeed)|WEAPON:Starknife (sintered)|WEAPON:Starknife (tactical)|WEAPON:Stellar cannon (heavy)|WEAPON:Stellar cannon (light)|WEAPON:Sting pistol (ant)|WEAPON:Sting pistol (hornet)|WEAPON:Sting pistol (wasp)] -WEAPONPROF:[WEAPON:Sting pistol (yellow jacket)|WEAPON:Storm coil (impulse)|WEAPON:Storm coil (jolt)|WEAPON:Storm coil (live)|WEAPON:Storm coil (surge)|WEAPON:Storm hammer (antiferromagnetic)|WEAPON:Storm hammer (diamagnetic)|WEAPON:Storm hammer (ferromagnetic)|WEAPON:Storm hammer (metamagnetic)|WEAPON:Storm hammer (paramagnetic)] -WEAPONPROF:[WEAPON:Stormcaller (mooth-channel)|WEAPON:Stormcaller (ribbon)|WEAPON:Stormcaller (rocket)|WEAPON:Stormcaller (sheet)|WEAPON:Streetsweeper (HFD)|WEAPON:Streetsweeper (LFD)|WEAPON:Streetsweeper (thunderstrike)|WEAPON:Stun staff (aurora)|WEAPON:Stun staff (static)|WEAPON:Stun staff (storm)] -WEAPONPROF:[WEAPON:Stun staff (tactical)|WEAPON:Stun staff (tempest)|WEAPON:Subduer (frost)|WEAPON:Subduer (glacier)|WEAPON:Subduer (rime)|WEAPON:Subduer (sleet)|WEAPON:Surgecaster (advanced)|WEAPON:Surgecaster (standard)|WEAPON:Swoop hammer (advanced)|WEAPON:Swoop hammer (mach I)] -WEAPONPROF:[WEAPON:Swoop hammer (mach II)|WEAPON:Swoop hammer (mach III)|WEAPON:Swoop hammer (tactical)|WEAPON:Sword cane (advanced)|WEAPON:Sword cane (dimensional slice)|WEAPON:Sword cane (molecular rift)|WEAPON:Sword cane (tactical)|WEAPON:Sword cane (ultrathin)|WEAPON:Sword cane (zero-edge)|WEAPON:Taclash (numbing)] -WEAPONPROF:[WEAPON:Taclash (standard)|WEAPON:Talon (drone)|WEAPON:Talon (god)|WEAPON:Talon (knight)|WEAPON:Talon (queen)|WEAPON:Talon (warrior)|WEAPON:Tetrad rings (advanced)|WEAPON:Tetrad rings (elite)|WEAPON:Tetrad rings (tactical)|WEAPON:Trident (dimensional slice)] -WEAPONPROF:[WEAPON:Trident (molecular rift)|WEAPON:Trident (sintered)|WEAPON:Trident (tactical)|WEAPON:Trident (ultrathin)|WEAPON:Unarmed|WEAPON:Unarmed strike|WEAPON:Velstrac flenser (ascetic)|WEAPON:Velstrac flenser (debater)|WEAPON:Velstrac flenser (recluse)|WEAPON:Velstrac flenser (singer)] -WEAPONPROF:[WEAPON:Vibrogarrote (basic)|WEAPON:Vibrogarrote (harmonic)|WEAPON:Vibrogarrote (infrasonic)|WEAPON:Vibrogarrote (interference)|WEAPON:Vibrogarrote (ultrasonic)|WEAPON:Void rifle (barrow-class)|WEAPON:Void rifle (crypt-class)|WEAPON:Void rifle (grave-class)|WEAPON:Void rifle (ossuary-class)|WEAPON:Void rifle (tomb-class)] -WEAPONPROF:[WEAPON:Void staff (barrow-class)|WEAPON:Void staff (crypt-class)|WEAPON:Void staff (grave-class)|WEAPON:Void staff (ossuary-class)|WEAPON:Void staff (tomb-class)|WEAPON:Wailing blade (euphonic)|WEAPON:Wailing blade (strident)|WEAPON:Wailing blade (tymbal)|WEAPON:Wailing blade (warbler)|WEAPON:Warfan] +WEAPONPROF:[WEAPON:Pulsecaster (pistol)|WEAPON:Pulsecaster rifle|WEAPON:Puzzleblade (conviction)|WEAPON:Puzzleblade (dedication)|WEAPON:Puzzleblade (moderation)|WEAPON:Puzzleblade (tradition)|WEAPON:Pyrod (beacon)|WEAPON:Pyrod (luminous)|WEAPON:Pyrod (torch)|WEAPON:Radcannon (electromagnetic)] +WEAPONPROF:[WEAPON:Radcannon (neutron)|WEAPON:Radcannon (rapid-decay)|WEAPON:Radshot (electromagnetic)|WEAPON:Radshot (neutron)|WEAPON:Radshot (rapid-decay)|WEAPON:Rail cannon (advanced)|WEAPON:Rail cannon (elite)|WEAPON:Rail cannon (paragon)|WEAPON:Rail cannon (tactical)|WEAPON:Rail gun (advanced)] +WEAPONPROF:[WEAPON:Rail gun (tactical)|WEAPON:Reaction cannon (advanced)|WEAPON:Reaction cannon (elite)|WEAPON:Reaction cannon (heavy)|WEAPON:Reaction cannon (light)|WEAPON:Reaction cannon (paragon)|WEAPON:Reaction cannon (tactical)|WEAPON:Resistance rod (induction)|WEAPON:Resistance rod (piezoresistor)|WEAPON:Resistance rod (strain-gauge)] +WEAPONPROF:[WEAPON:Resistance rod (thermistor)|WEAPON:Resonant gauntlet (atomic)|WEAPON:Resonant gauntlet (cellular)|WEAPON:Resonant gauntlet (molecular)|WEAPON:Resonant gauntlet (quantum)|WEAPON:Resonant pistol (lattice)|WEAPON:Resonant pistol (matrix)|WEAPON:Resonant staff (reverberant)|WEAPON:Resonant staff (sonorous)|WEAPON:Resonant staff (stentorian)] +WEAPONPROF:[WEAPON:Resonator (diffraction)|WEAPON:Resonator (linear)|WEAPON:Resonator (phased)|WEAPON:Resonator (refraction)|WEAPON:Retractable spike (advanced)|WEAPON:Retractable spike (elite)|WEAPON:Retractable spike (paragon)|WEAPON:Retractable spike (tactical)|WEAPON:Rocket rifle|WEAPON:Rotating pistol (advanced)] +WEAPONPROF:[WEAPON:Rotating pistol (elite)|WEAPON:Rotating pistol (tactical)|WEAPON:Rotolaser (advanced)|WEAPON:Rotolaser (tactical)|WEAPON:Sap (heavy)|WEAPON:Sap (light)|WEAPON:Sap (medium)|WEAPON:Scattergun (grapeshot)|WEAPON:Scattergun (impact)|WEAPON:Scattergun (snub)] +WEAPONPROF:[WEAPON:Scattergun (utility)|WEAPON:Scattergun (vortex)|WEAPON:Scorchgun (C-band)|WEAPON:Scorchgun (K-band)|WEAPON:Scorchgun (microwave)|WEAPON:Scorchgun (S-band)|WEAPON:Scorchgun (X-band)|WEAPON:Screamer (HFD)|WEAPON:Screamer (LFD)|WEAPON:Screamer (thunderstrike)] +WEAPONPROF:[WEAPON:Scythe (sintered)|WEAPON:Scythe (tactical)|WEAPON:Scythe (ultrathin)|WEAPON:Searing grip (high-heat)|WEAPON:Searing grip (low-heat)|WEAPON:Searing grip (weaponized)|WEAPON:Seeker rifle (advanced)|WEAPON:Seeker rifle (elite)|WEAPON:Seeker rifle (paragon)|WEAPON:Seeker rifle (tactical)] +WEAPONPROF:[WEAPON:Seismic pick (demolition)|WEAPON:Seismic pick (driver)|WEAPON:Seismic pick (heavy)|WEAPON:Seismic pick (light)|WEAPON:Semi-auto pistol (advanced)|WEAPON:Semi-auto pistol (elite)|WEAPON:Semi-auto pistol (paragon)|WEAPON:Semi-auto pistol (tactical)|WEAPON:Serpent laser (aphelion)|WEAPON:Serpent laser (azimuth)] +WEAPONPROF:[WEAPON:Serpent laser (corona)|WEAPON:Serpent laser (perihelion)|WEAPON:Shadow chains (acolyte)|WEAPON:Shadow chains (devotional)|WEAPON:Shadow chains (ecclesiastic)|WEAPON:Shadow chains (follower)|WEAPON:Shadow chains (penitent)|WEAPON:Shadow pistol (caliginous)|WEAPON:Shadow pistol (sable)|WEAPON:Shadow pistol (tenebrous)] +WEAPONPROF:[WEAPON:Shadow pistol (umbral)|WEAPON:Shadowstaff|WEAPON:Shadowstaff (lesser)|WEAPON:Shell knuckles (advanced)|WEAPON:Shell knuckles (elite)|WEAPON:Shell knuckles (paragon)|WEAPON:Shell knuckles (tactical)|WEAPON:Shellgun (blaze)|WEAPON:Shellgun (bombard)|WEAPON:Shellgun (fury)] +WEAPONPROF:[WEAPON:Shield projector (defender)|WEAPON:Shield projector (guardian)|WEAPON:Shield projector (sentry)|WEAPON:Shield projector (warden)|WEAPON:Shirren-eye rifle (advanced)|WEAPON:Shirren-eye rifle (elite)|WEAPON:Shirren-eye rifle (paragon)|WEAPON:Shirren-eye rifle (tactical)|WEAPON:Shirren-eye rifle (warpshot)|WEAPON:Shobhad horizon striker (advanced)] +WEAPONPROF:[WEAPON:Shobhad horizon striker (elite)|WEAPON:Shobhad horizon striker (paragon)|WEAPON:Shobhad horizon striker (tactical)|WEAPON:Shock caster (aurora)|WEAPON:Shock caster (static)|WEAPON:Shock caster (storm)|WEAPON:Shock caster (tempest)|WEAPON:Shock pad (aurora)|WEAPON:Shock pad (static)|WEAPON:Shock pad (storm)] +WEAPONPROF:[WEAPON:Shock pad (tempest)|WEAPON:Shock truncheon (aurora)|WEAPON:Shock truncheon (static)|WEAPON:Shock truncheon (storm)|WEAPON:Shock truncheon (tempest)|WEAPON:Shoulder laser (aphelion)|WEAPON:Shoulder laser (azimuth)|WEAPON:Shoulder laser (corona)|WEAPON:Shoulder laser (perihelion)|WEAPON:Shout projector (crackdown)] +WEAPONPROF:[WEAPON:Shout projector (damper)|WEAPON:Shout projector (exhorter)|WEAPON:Shout projector (pacifier)|WEAPON:Shout projector (riot)|WEAPON:Shout rifle|WEAPON:Shrieking knife (harmonic)|WEAPON:Shrieking knife (infrasonic)|WEAPON:Shrieking knife (interference)|WEAPON:Shrieking knife (ultrasonic)|WEAPON:Shrieking larva] +WEAPONPROF:[WEAPON:Singing disk (alto)|WEAPON:Singing disk (bass)|WEAPON:Singing disk (sopranino)|WEAPON:Singing disk (soprano)|WEAPON:Singing disk (tenor)|WEAPON:Singing spear (alto)|WEAPON:Singing spear (sopranino)|WEAPON:Singing spear (soprano)|WEAPON:Singing spear (tenor)|WEAPON:Skyfire sword (inferno)] +WEAPONPROF:[WEAPON:Skyfire sword (tactical)|WEAPON:Sledge|WEAPON:Solar brand (blue star)|WEAPON:Solar brand (red star)|WEAPON:Solar brand (white star)|WEAPON:Solar brand (yellow star)|WEAPON:Solarian Weapon|WEAPON:Sonic bolter (assault)|WEAPON:Sonic bolter (devastator)|WEAPON:Sonic bolter (heavy)] +WEAPONPROF:[WEAPON:Sonic bolter (light)|WEAPON:Sonic pistol (banshee)|WEAPON:Sonic pistol (HFD)|WEAPON:Sonic pistol (LFD)|WEAPON:Sonic pistol (thunderstrike)|WEAPON:Sonic rifle (banshee)|WEAPON:Sonic rifle (HFD)|WEAPON:Sonic rifle (LFD)|WEAPON:Sonic rifle (thunderstrike)|WEAPON:Sonic suppressor (hush)] +WEAPONPROF:[WEAPON:Sonic suppressor (murmur)|WEAPON:Sonic suppressor (repose)|WEAPON:Sonic suppressor (whisper)|WEAPON:Spark knife (boss)|WEAPON:Spark knife (crew)|WEAPON:Spark knife (recruit)|WEAPON:Spark knife (runner)|WEAPON:Spear (buzzblade)|WEAPON:Spear (gravity)|WEAPON:Spear (sentinel)] +WEAPONPROF:[WEAPON:Spear (tactical)|WEAPON:Spear (zero-edge)|WEAPON:Spined blade (basic)|WEAPON:Spined blade (buzzblade)|WEAPON:Spined blade (gravity)|WEAPON:Spined blade (ripper)|WEAPON:Spined blade (rivener)|WEAPON:Spined iceblade (avalanche-class)|WEAPON:Spined iceblade (blizzard-class)|WEAPON:Spined iceblade (frostbite-class)] +WEAPONPROF:[WEAPON:Spined iceblade (hailstorm-class)|WEAPON:Staccato rifle (drum)|WEAPON:Staccato rifle (hammer)|WEAPON:Staccato rifle (pulse)|WEAPON:Staccato rifle (surge)|WEAPON:Staff (battle)|WEAPON:Staff (carbon)|WEAPON:Staff (hardlight)|WEAPON:Staff (repeller)|WEAPON:Staff (sentinel)] +WEAPONPROF:[WEAPON:Starheart cannon (blue star)|WEAPON:Starheart cannon (red star)|WEAPON:Starheart cannon (white star)|WEAPON:Starheart cannon (yellow star)|WEAPON:Starknife (accelerated)|WEAPON:Starknife (dimensional slice)|WEAPON:Starknife (lightspeed)|WEAPON:Starknife (sintered)|WEAPON:Starknife (tactical)|WEAPON:Stellar cannon (heavy)] +WEAPONPROF:[WEAPON:Stellar cannon (light)|WEAPON:Sting pistol (ant)|WEAPON:Sting pistol (hornet)|WEAPON:Sting pistol (wasp)|WEAPON:Sting pistol (yellow jacket)|WEAPON:Storm coil (impulse)|WEAPON:Storm coil (jolt)|WEAPON:Storm coil (live)|WEAPON:Storm coil (surge)|WEAPON:Storm hammer (antiferromagnetic)] +WEAPONPROF:[WEAPON:Storm hammer (diamagnetic)|WEAPON:Storm hammer (ferromagnetic)|WEAPON:Storm hammer (metamagnetic)|WEAPON:Storm hammer (paramagnetic)|WEAPON:Stormcaller (mooth-channel)|WEAPON:Stormcaller (ribbon)|WEAPON:Stormcaller (rocket)|WEAPON:Stormcaller (sheet)|WEAPON:Streetsweeper (HFD)|WEAPON:Streetsweeper (LFD)] +WEAPONPROF:[WEAPON:Streetsweeper (thunderstrike)|WEAPON:Stun staff (aurora)|WEAPON:Stun staff (static)|WEAPON:Stun staff (storm)|WEAPON:Stun staff (tactical)|WEAPON:Stun staff (tempest)|WEAPON:Subduer (frost)|WEAPON:Subduer (glacier)|WEAPON:Subduer (rime)|WEAPON:Subduer (sleet)] +WEAPONPROF:[WEAPON:Surgecaster (advanced)|WEAPON:Surgecaster (standard)|WEAPON:Switchblade (molecular-rift)|WEAPON:Switchblade (tactical)|WEAPON:Switchblade (ultrathin)|WEAPON:Switchblade (zero-edge)|WEAPON:Swoop hammer (advanced)|WEAPON:Swoop hammer (mach I)|WEAPON:Swoop hammer (mach II)|WEAPON:Swoop hammer (mach III)] +WEAPONPROF:[WEAPON:Swoop hammer (tactical)|WEAPON:Sword cane (advanced)|WEAPON:Sword cane (dimensional slice)|WEAPON:Sword cane (molecular rift)|WEAPON:Sword cane (tactical)|WEAPON:Sword cane (ultrathin)|WEAPON:Sword cane (zero-edge)|WEAPON:Taclash (numbing)|WEAPON:Taclash (standard)|WEAPON:Tailblade] +WEAPONPROF:[WEAPON:Talon (drone)|WEAPON:Talon (god)|WEAPON:Talon (knight)|WEAPON:Talon (queen)|WEAPON:Talon (warrior)|WEAPON:Tetrad rings (advanced)|WEAPON:Tetrad rings (elite)|WEAPON:Tetrad rings (tactical)|WEAPON:Trident (dimensional slice)|WEAPON:Trident (molecular rift)] +WEAPONPROF:[WEAPON:Trident (sintered)|WEAPON:Trident (tactical)|WEAPON:Trident (ultrathin)|WEAPON:Unarmed|WEAPON:Unarmed strike|WEAPON:Velstrac flenser (ascetic)|WEAPON:Velstrac flenser (debater)|WEAPON:Velstrac flenser (recluse)|WEAPON:Velstrac flenser (singer)|WEAPON:Vibrogarrote (basic)] +WEAPONPROF:[WEAPON:Vibrogarrote (harmonic)|WEAPON:Vibrogarrote (infrasonic)|WEAPON:Vibrogarrote (interference)|WEAPON:Vibrogarrote (ultrasonic)|WEAPON:Void rifle (barrow-class)|WEAPON:Void rifle (crypt-class)|WEAPON:Void rifle (grave-class)|WEAPON:Void rifle (ossuary-class)|WEAPON:Void rifle (tomb-class)|WEAPON:Void staff (barrow-class)] +WEAPONPROF:[WEAPON:Void staff (crypt-class)|WEAPON:Void staff (grave-class)|WEAPON:Void staff (ossuary-class)|WEAPON:Void staff (tomb-class)|WEAPON:Wailing blade (euphonic)|WEAPON:Wailing blade (strident)|WEAPON:Wailing blade (tymbal)|WEAPON:Wailing blade (warbler)|WEAPON:Warclub|WEAPON:Warfan] WEAPONPROF:[WEAPON:Wave modulator I|WEAPON:Wave modulator II|WEAPON:Wave modulator III|WEAPON:Wave modulator IV|WEAPON:Wave modulator V|WEAPON:Wave modulator VI|WEAPON:Wave modulator VII|WEAPON:Welder (industrial)|WEAPON:Welder (offensive)|WEAPON:Welder (starship)] WEAPONPROF:[WEAPON:Welder (utility)|WEAPON:Wraith-sting rifle (hornet)|WEAPON:Wraith-sting rifle (wasp)|WEAPON:Wraith-sting rifle (yellow jacket)|WEAPON:X-gen gun (advanced)|WEAPON:X-gen gun (elite)|WEAPON:X-gen gun (paragon)|WEAPON:X-gen gun (tactical)|WEAPON:Xenolash (blooming)|WEAPON:Xenolash (immature)] WEAPONPROF:[WEAPON:Xenolash (mature)|WEAPON:Xenolash (seeded)|WEAPON:Zero cannon (advanced)|WEAPON:Zero cannon (elite)|WEAPON:Zero cannon (tactical)|WEAPON:Zero knife (avalanche-class)|WEAPON:Zero knife (blizzard-class)|WEAPON:Zero knife (frostbite-class)|WEAPON:Zero knife (hailstorm-class)|WEAPON:Zero knife (icequake-class)] @@ -258,10 +267,10 @@ WEAPONPROF:[WEAPON:Zero pistol (avalanche-class)|WEAPON:Zero pistol (blizzard-cl # Character Equipment MONEY:1000.00 -EQUIPNAME:Aegis Series, Squad|OUTPUTORDER:2|COST:45200|WT:3.0|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Aegis Series (Squad)|DATA:KEY=Aegis Series (Squad)] -EQUIPNAME:Core hammer, fusion|OUTPUTORDER:4|COST:48200|WT:2.0|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Core hammer (fusion)|DATA:KEY=Core hammer (fusion)] -EQUIPNAME:Cryospike, residential|OUTPUTORDER:1|COST:13700|WT:0.1|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Cryospike (residential)|DATA:KEY=Cryospike (residential)] -EQUIPNAME:Freeze ray, glacial|OUTPUTORDER:3|COST:24800|WT:2.0|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Freeze ray (glacial)|DATA:KEY=Freeze ray (glacial)] +EQUIPNAME:Aegis Series, Squad|OUTPUTORDER:2|COST:45200|WT:3.0|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Aegis Series (Squad)|DATA:NAME=Aegis Series, Squad$KEY=Aegis Series (Squad)] +EQUIPNAME:Core hammer, fusion|OUTPUTORDER:4|COST:48200|WT:2.0|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Core hammer (fusion)|DATA:NAME=Core hammer, fusion$KEY=Core hammer (fusion)] +EQUIPNAME:Cryospike, residential|OUTPUTORDER:1|COST:13700|WT:0.1|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Cryospike (residential)|DATA:NAME=Cryospike, residential$KEY=Cryospike (residential)] +EQUIPNAME:Freeze ray, glacial|OUTPUTORDER:3|COST:24800|WT:2.0|QUANTITY:1.0|NOTE:|CUSTOMIZATION:[BASEITEM:Freeze ray (glacial)|DATA:NAME=Freeze ray, glacial$KEY=Freeze ray (glacial)] EQUIPSET:Default Set|ID:0.1|USETEMPMODS:Y EQUIPSET:Armor|ID:0.1.01|VALUE:Aegis Series, Squad|QUANTITY:1.0|USETEMPMODS:Y EQUIPSET:Primary Hand|ID:0.1.02|VALUE:Cryospike, residential|QUANTITY:1.0|USETEMPMODS:Y @@ -298,6 +307,5 @@ AGESET:1:0:0:0:0:0:0:0:0:0 # Campaign History -# Suppressed Biography Fields -SUPPRESSBIOFIELDS: +# Preview Sheet Variables From ee3175320ce5f321d7cc9b15baba1a93a5422ceb Mon Sep 17 00:00:00 2001 From: LegacyKing Date: Sat, 8 Jul 2023 13:14:13 -0700 Subject: [PATCH 012/219] Fix the Master Crafter feat --- .../paizo/core/scr_abilitycategories.lst | 1 + data/starfinder/paizo/core/scr_feats.lst | 94 ++++++++++++++++++- 2 files changed, 94 insertions(+), 1 deletion(-) diff --git a/data/starfinder/paizo/core/scr_abilitycategories.lst b/data/starfinder/paizo/core/scr_abilitycategories.lst index c0520dc501d..ad1c4a86c4b 100644 --- a/data/starfinder/paizo/core/scr_abilitycategories.lst +++ b/data/starfinder/paizo/core/scr_abilitycategories.lst @@ -244,4 +244,5 @@ ABILITYCATEGORY:Vesk Variant Ability VISIBLE:QUALIFY EDITABLE:YES EDITPOOL:NO ABILITYCATEGORY:Ysoki Variant Ability VISIBLE:QUALIFY EDITABLE:YES EDITPOOL:NO CATEGORY:Variant Ability TYPE:Ysoki Variant Ability DISPLAYLOCATION:Character +ABILITYCATEGORY:Master Crafter Selection VISIBLE:QUALIFY EDITABLE:YES EDITPOOL:NO CATEGORY:Internal TYPE:Master Crafter Selection DISPLAYLOCATION:Character diff --git a/data/starfinder/paizo/core/scr_feats.lst b/data/starfinder/paizo/core/scr_feats.lst index dc25ffed833..f4bb6408749 100644 --- a/data/starfinder/paizo/core/scr_feats.lst +++ b/data/starfinder/paizo/core/scr_feats.lst @@ -57,7 +57,7 @@ Lightning Reflexes CATEGORY:FEAT TYPE:General Longarm Proficiency CATEGORY:FEAT TYPE:Combat PREMULT:1,[PREWEAPONPROF:1,TYPE.Small Arms],[PREABILITY:1,CATEGORY=Proficiency,Weapon Prof ~ Small Arms] DESC:You know how to use longarms. ABILITY:Proficiency|AUTOMATIC|Weapon Prof ~ Longarms SOURCEPAGE:p.159 BENEFIT:You gain proficiency in longarms (see Weapon Proficiency on page 243). Lunge CATEGORY:FEAT TYPE:Combat PRETOTALAB:6 DESC:You can strike foes that would normally be out of reach. SOURCEPAGE:p.159 BENEFIT:You can increase the reach of your melee attacks by 5 feet until the end of your turn by taking a -2 penalty to your Armor Class until the beginning of your next turn. You must decide to use this ability before making any attacks in the round. Major Psychic Power CATEGORY:FEAT TYPE:General PREABILITY:2,CATEGORY=FEAT,Minor Psychic Power,Psychic Power PREMULT:1,[PRELEVEL:MIN=7],[PREVARGTEQ:EffectiveLVL,7] PRESTAT:1,CHA=15 DESC:You have a significant natural psychic ability. BONUS:ABILITYPOOL|Major Psychic Power Selection|1 SOURCEPAGE:p.159 BENEFIT:Select one of the following 2nd-level spells: augury or status. You can cast this spell once per day as a spell-like ability, using your character level as your caster level. -Master Crafter CATEGORY:FEAT TYPE:General PRESKILL:1,Computers=5,Engineering=5,Life Science=5,Mysticism=5,Physical Science=5,TYPE.Profession=5 DEFINE:MasterCrafterRanks|0 DESC:You can construct things more quickly than most. STACK:NO MULT:YES CHOOSE:NUMCHOICES=1|SKILL|RANKS=5|Computers|Engineering|Life Science|Mysticism|Physical Science|TYPE=Profession BONUS:VAR|MasterCraftsmanRanks|var("SKILLRANK=%LIST") SOURCEPAGE:p.159 BENEFIT:Choose one skill that allows you to craft items in which you have the required number of ranks. When you craft items using that skill, it takes half the normal time.&nl;Special: You can take Master Crafter multiple times. Each time you do, it applies to a different skill that meets the prerequisite number of ranks. +Master Crafter CATEGORY:FEAT TYPE:General PRESKILL:1,Computers=5,Engineering=5,Life Science=5,Mysticism=5,Physical Science=5,TYPE.Profession=5 DEFINE:MasterCrafterRanks|0 DESC:You can construct things more quickly than most. STACK:YES MULT:YES CHOOSE:NOCHOICE BONUS:ABILITYPOOL|Master Crafter Selection|1 SOURCEPAGE:p.159 BENEFIT:Choose one skill that allows you to craft items in which you have the required number of ranks. When you craft items using that skill, it takes half the normal time.&nl;Special: You can take Master Crafter multiple times. Each time you do, it applies to a different skill that meets the prerequisite number of ranks. Medical Expert CATEGORY:FEAT TYPE:General PRESKILL:3,Life Science=1,Medicine=1,Physical Science=1 DESC:You are an expert at medical science and caring for the ill. SOURCEPAGE:p.159 BENEFIT:You can use the Medicine skill in conjunction with a medpatch or sprayflesh to treat deadly wounds as a full action. If you have an ability that enables you to treat deadly wounds more often but with a longer time frame (such as the envoy's surgeon expertise talent), you cannot use this feat to use that ability more quickly. When used in this way, the medpatch or sprayflesh does not perform any of its normal functions. You can also use the Medicine skill to provide long-term care with just a medkit.&nl;Normal: It takes 1 minute to treat deadly wounds, and long-term care requires a medical bay or medical lab. Minor Psychic Power CATEGORY:FEAT TYPE:General PRESTAT:1,CHA=11 DESC:You have a minor natural psychic ability. STACK:YES MULT:YES CHOOSE:NOCHOICE BONUS:ABILITYPOOL|Minor Psychic Power Selection|1 SOURCEPAGE:p.160 BENEFIT:Select one of the following 0-level spells: dancing lights, psychokinetic hand, telekinetic projectile, or telepathic message. You can cast this spell three times per day as a spell-like ability, using your character level as your caster level.&nl;Special: You can select this feat more than once. Each time you do, you must choose a different spell from the list. Mobility CATEGORY:FEAT TYPE:Combat PRESTAT:1,DEX=13 DESC:You can easily move past dangerous foes. ABILITY:Internal|AUTOMATIC|Aspect Combat Bonus ~ Mobility SOURCEPAGE:p.160 BENEFIT:You gain a +4 bonus to your Armor Class against attacks of opportunity that you provoke by leaving a threatened square. @@ -110,3 +110,95 @@ CATEGORY=FEAT|Versatile Specialization.MOD ABILITY:Weapon Specialization Selecti CATEGORY=FEAT|Versatile Specialization.MOD ABILITY:Weapon Specialization Selection|AUTOMATIC|Weapon Specialization ~ Longarms|PREABILITY:1,CATEGORY=Proficiency,Weapon Prof ~ Longarms CATEGORY=FEAT|Versatile Specialization.MOD ABILITY:Weapon Specialization Selection|AUTOMATIC|Weapon Specialization ~ Heavy Weapons|PREABILITY:1,CATEGORY=Proficiency,Weapon Prof ~ Heavy Weapons + +###Block: Master Crafter Modification for display +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Computers|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Computers +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Engineering|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Engineering +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Life Science|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Life Science +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Mysticism|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Mysticism +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Physical Science|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Physical Science +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Accountant)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Accountant) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Actor)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Actor) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Archaeologist)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Archaeologist) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Architect)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Architect) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Artist)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Artist) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Bounty Hunter)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Bounty Hunter) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Comedian)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Comedian) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Con Artist)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Con Artist) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Cook)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Cook) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Corporate Professional)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Corporate Professional) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Courtesan)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Courtesan) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Counselor)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Counselor) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Dancer)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Dancer) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Dockworker)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Dockworker) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Electrician)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Electrician) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Farmer)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Farmer) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Gambler)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Gambler) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (General Contractor)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (General Contractor) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Herbalist)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Herbalist) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Lab Technician)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Lab Technician) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Lawyer)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Lawyer) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Maintenance Worker)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Maintenance Worker) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Manager)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Manager) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Mathematician)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Mathematician) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Mercenary)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Mercenary) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Merchant)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Merchant) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Miner)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Miner) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Musician)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Musician) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Orator)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Orator) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Philosopher)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Philosopher) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Poet)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Poet) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Politician)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Politician) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Professor)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Professor) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Psychologist)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Psychologist) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Smuggler)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Smuggler) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Video Personality)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Video Personality) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Vidgamer)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Vidgamer) +CATEGORY=FEAT|Master Crafter.MOD DESC:&nl;It takes half the normal time to craft things with Profession (Writer)|PREABILITY:1,CATEGORY=Internal,Master Crafter ~ Profession (Writer) + + +###Block: Feat Support for Master Crafter Selection +Computers KEY:Master Crafter ~ Computers TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Computers=5 +Engineering KEY:Master Crafter ~ Engineering TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Engineering=5 +Life Science KEY:Master Crafter ~ Life Science TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Life Science=5 +Mysticism KEY:Master Crafter ~ Mysticism TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Mysticism=5 +Physical Science KEY:Master Crafter ~ Physical Science TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Physical Science=5 +Profession (Accountant) KEY:Master Crafter ~ Profession (Accountant) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Accountant)=5 +Profession (Actor) KEY:Master Crafter ~ Profession (Actor) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Actor)=5 +Profession (Archaeologist) KEY:Master Crafter ~ Profession (Archaeologist) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Archaeologist)=5 +Profession (Architect) KEY:Master Crafter ~ Profession (Architect) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Architect)=5 +Profession (Artist) KEY:Master Crafter ~ Profession (Artist) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Artist)=5 +Profession (Bounty Hunter) KEY:Master Crafter ~ Profession (Bounty Hunter) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Bounty Hunter)=5 +Profession (Comedian) KEY:Master Crafter ~ Profession (Comedian) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Comedian)=5 +Profession (Con Artist) KEY:Master Crafter ~ Profession (Con Artist) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Con Artist)=5 +Profession (Cook) KEY:Master Crafter ~ Profession (Cook) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Cook)=5 +Profession (Corporate Professional) KEY:Master Crafter ~ Profession (Corporate Professional) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Corporate Professional)=5 +Profession (Courtesan) KEY:Master Crafter ~ Profession (Courtesan) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Courtesan)=5 +Profession (Counselor) KEY:Master Crafter ~ Profession (Counselor) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Counselor)=5 +Profession (Dancer) KEY:Master Crafter ~ Profession (Dancer) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Dancer)=5 +Profession (Dockworker) KEY:Master Crafter ~ Profession (Dockworker) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Dockworker)=5 +Profession (Electrician) KEY:Master Crafter ~ Profession (Electrician) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Electrician)=5 +Profession (Farmer) KEY:Master Crafter ~ Profession (Farmer) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Farmer)=5 +Profession (Gambler) KEY:Master Crafter ~ Profession (Gambler) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Gambler)=5 +Profession (General Contractor) KEY:Master Crafter ~ Profession (General Contractor) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (General Contractor)=5 +Profession (Herbalist) KEY:Master Crafter ~ Profession (Herbalist) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Herbalist)=5 +Profession (Lab Technician) KEY:Master Crafter ~ Profession (Lab Technician) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Lab Technician)=5 +Profession (Lawyer) KEY:Master Crafter ~ Profession (Lawyer) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Lawyer)=5 +Profession (Maintenance Worker) KEY:Master Crafter ~ Profession (Maintenance Worker) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Maintenance Worker)=5 +Profession (Manager) KEY:Master Crafter ~ Profession (Manager) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Manager)=5 +Profession (Mathematician) KEY:Master Crafter ~ Profession (Mathematician) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Mathematician)=5 +Profession (Mercenary) KEY:Master Crafter ~ Profession (Mercenary) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Mercenary)=5 +Profession (Merchant) KEY:Master Crafter ~ Profession (Merchant) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Merchant)=5 +Profession (Miner) KEY:Master Crafter ~ Profession (Miner) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Miner)=5 +Profession (Musician) KEY:Master Crafter ~ Profession (Musician) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Musician)=5 +Profession (Orator) KEY:Master Crafter ~ Profession (Orator) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Orator)=5 +Profession (Philosopher) KEY:Master Crafter ~ Profession (Philosopher) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Philosopher)=5 +Profession (Poet) KEY:Master Crafter ~ Profession (Poet) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Poet)=5 +Profession (Politician) KEY:Master Crafter ~ Profession (Politician) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Politician)=5 +Profession (Professor) KEY:Master Crafter ~ Profession (Professor) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Professor)=5 +Profession (Psychologist) KEY:Master Crafter ~ Profession (Psychologist) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Psychologist)=5 +Profession (Smuggler) KEY:Master Crafter ~ Profession (Smuggler) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Smuggler)=5 +Profession (Video Personality) KEY:Master Crafter ~ Profession (Video Personality) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Video Personality)=5 +Profession (Vidgamer) KEY:Master Crafter ~ Profession (Vidgamer) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Vidgamer)=5 +Profession (Writer) KEY:Master Crafter ~ Profession (Writer) TYPE:Master Crafter Selection CATEGORY:Internal PRESKILL:1,Profession (Writer)=5 + From d552266051522d3dcdea052c43f2465868b7632a Mon Sep 17 00:00:00 2001 From: LegacyKing Date: Sat, 8 Jul 2023 15:32:21 -0700 Subject: [PATCH 013/219] Fix Unreferenced Campaign sources --- .../roleplaying_game/ultimate_combat/_ultimate_combat.pcc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/pathfinder/paizo/roleplaying_game/ultimate_combat/_ultimate_combat.pcc b/data/pathfinder/paizo/roleplaying_game/ultimate_combat/_ultimate_combat.pcc index 623ae5d619b..2a42a782512 100644 --- a/data/pathfinder/paizo/roleplaying_game/ultimate_combat/_ultimate_combat.pcc +++ b/data/pathfinder/paizo/roleplaying_game/ultimate_combat/_ultimate_combat.pcc @@ -64,7 +64,7 @@ ABILITY:support/uc_abilities_class_apg.lst|PRECAMPAIGN:1,INCLUDES=Advanced Playe ABILITY:support/uc_abilities_class_mtt.lst|PRECAMPAIGN:1,INCLUDES=Melee Tactics Toolbox ABILITY:support/uc_abilities_class_acg.lst|PRECAMPAIGN:1,INCLUDES=Advanced Class Guide ABILITY:support/uc_abilities_class_ag.lst|PRECAMPAIGN:1,INCLUDES=Adventurer's Guide -ABILITY:support/uc_abilities_class_amh.lst|PRECAMPAIGN:1,INCLUDES=Armor Master’s Handbook +ABILITY:support/uc_abilities_class_amh.lst|PRECAMPAIGN:1,INCLUDES=Armor Master's Handbook ABILITY:support/uc_abilities_class_apg.lst|PRECAMPAIGN:1,INCLUDES=Advanced Player's Guide ABILITY:support/uc_abilities_class_aqua.lst|PRECAMPAIGN:1,INCLUDES=Aquatic Adventures ABILITY:support/uc_abilities_class_boa.lst|PRECAMPAIGN:1,INCLUDES=Blood of Angels @@ -76,7 +76,7 @@ ABILITY:support/uc_abilities_class_hotw.lst|PRECAMPAIGN:1,INCLUDES=Heroes of the ABILITY:support/uc_abilities_class_kog.lst|PRECAMPAIGN:1,INCLUDES=Kobolds of Golarion ABILITY:support/uc_abilities_class_lod.lst|PRECAMPAIGN:1,INCLUDES=Legacy of Dragons ABILITY:support/uc_abilities_class_mah.lst|PRECAMPAIGN:1,INCLUDES=Martial Arts Handbook -ABILITY:support/uc_abilities_class_mhh.lst|PRECAMPAIGN:1,INCLUDES=Monster Hunter’s Handbook +ABILITY:support/uc_abilities_class_mhh.lst|PRECAMPAIGN:1,INCLUDES=Monster Hunter's Handbook ABILITY:support/uc_abilities_class_mtt.lst|PRECAMPAIGN:1,INCLUDES=Melee Tactics Toolbox ABILITY:support/uc_abilities_class_ui.lst|PRECAMPAIGN:1,INCLUDES=Ultimate Intrigue ABILITY:support/uc_abilities_class_um.lst|PRECAMPAIGN:1,INCLUDES=Ultimate Magic From b9c29a9f125730a1624a3abf7904b6ab59660b80 Mon Sep 17 00:00:00 2001 From: LegacyKing Date: Sat, 8 Jul 2023 15:48:16 -0700 Subject: [PATCH 014/219] Fix Choose for Wind Dance Martial Arts Style --- .../eclipse_d20_classless/eclipse_abilities_martial_arts.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/35e/distant_horizons_games/eclipse_d20_classless/eclipse_abilities_martial_arts.lst b/data/35e/distant_horizons_games/eclipse_d20_classless/eclipse_abilities_martial_arts.lst index ff99699b86a..741fcc6c3f7 100644 --- a/data/35e/distant_horizons_games/eclipse_d20_classless/eclipse_abilities_martial_arts.lst +++ b/data/35e/distant_horizons_games/eclipse_d20_classless/eclipse_abilities_martial_arts.lst @@ -48,7 +48,7 @@ CATEGORY=Special Ability|Crane Style Kung Fu (Str).MOD # Wind Dance Wind Dance (Dex) SORTKEY:A1 CATEGORY:Special Ability TYPE:MartialArtsOutput DESC:Balanced and graceful, practitioners of the mystical Wind Dance gain a balanced style with strong reflexive techniques. Masters can even summon the power of the gales of the northern wastes to strike at their enemies. &nl; [Requires] Improved Unarmed Strike or equivalent point buy &nl; [Basic Techniques] Defenses 4, Strike, Power 1, and Synergy (Tumble) &nl; [Advanced Techniques] Mind Like Moon, Instant Stand, Master Technique Whirlwind Attack, and Master Technique Deflect Arrows &nl; [Occult Techniques] Inner Strength, Healing Hand, Vanishing, and Light Foot &nl; The Plague Winds school teaches Serpent Strike (Con) and Touch Strike instead of Healing Hand and Lightfoot. SOURCEPAGE:p.83 -Wind Dance Basic Chooser KEY:MA ~ Wind Dance ~ BC CATEGORY:Special Ability TYPE:MA ~ Wind Dance MULT:YES CHOOSE:ABILITY|Martial Arts|Defenses 1|Defenses 2|Defenses 3|Defenses 4|Power 1|Strike|Synergy (Tumble)|Synergy (Acrobatics) ABILITY:Special Ability|AUTOMATIC|MartialArtsDisplay(%LIST) +Wind Dance Basic Chooser KEY:MA ~ Wind Dance ~ BC CATEGORY:Special Ability TYPE:MA ~ Wind Dance MULT:YES CHOOSE:ABILITY|Martial Arts|Defenses 1|Defenses 2|Defenses 3|Defenses 4|Power 1|Strike|Synergy (Tumble) ABILITY:Special Ability|AUTOMATIC|MartialArtsDisplay(%LIST) CATEGORY=Special Ability|Wind Dance (Dex).MOD DESC:&nl;Known Basic Techniques|PREABILITY:1,CATEGORY=Special Ability,MA ~ Wind Dance ~ BC DESC:Defenses 1|PREABILITY:1,CATEGORY=Special Ability,MA ~ Wind Dance ~ BC (Defenses 1) DESC:Defenses 2|PREABILITY:1,CATEGORY=Special Ability,MA ~ Wind Dance ~ BC (Defenses 2) DESC:Defenses 3|PREABILITY:1,CATEGORY=Special Ability,MA ~ Wind Dance ~ BC (Defenses 3) DESC:Defenses 4|PREABILITY:1,CATEGORY=Special Ability,MA ~ Wind Dance ~ BC (Defenses 4) DESC:Strike|PREABILITY:1,CATEGORY=Special Ability,MA ~ Wind Dance ~ BC (Strike) DESC:Power 1|PREABILITY:1,CATEGORY=Special Ability,MA ~ Wind Dance ~ BC (Power 1) DESC:Synergy (Tumble)|PREABILITY:1,CATEGORY=Special Ability,MA ~ Wind Dance ~ BC (Synergy (Tumble)) Wind Dance Advanced Chooser KEY:MA ~ Wind Dance ~ AC CATEGORY:Special Ability TYPE:MA ~ Wind Dance PREABILITY:3,CATEGORY=Special Ability,MA ~ Wind Dance ~ BC !PREABILITY:4,CATEGORY=Special Ability,MA ~ Wind Dance ~ AC MULT:YES CHOOSE:ABILITY|Martial Arts|Deflect Arrows|Instant Stand|Mind Like Moon|Whirlwind Attack ABILITY:Special Ability|AUTOMATIC|MartialArtsDisplay(%LIST) Wind Dance Occult Chooser KEY:MA ~ Wind Dance ~ OC CATEGORY:Special Ability TYPE:MA ~ Wind Dance PREABILITY:5,CATEGORY=Special Ability,MA ~ Wind Dance ~ AC,MA ~ Wind Dance ~ BC !PREABILITY:1,CATEGORY=Special Ability,MA ~ Wind Dance Plague Winds ~ OC MULT:YES CHOOSE:ABILITY|Martial Arts|Healing Hand|Inner Strength|Light Foot|Vanishing ABILITY:Special Ability|AUTOMATIC|MartialArtsDisplay(%LIST) From 43ecd1ba5a87eb2a1331cbd9f180c07f7bf5a495 Mon Sep 17 00:00:00 2001 From: LegacyKing Date: Sat, 8 Jul 2023 15:48:39 -0700 Subject: [PATCH 015/219] Minor fix for Variant Tiefling Ability --- .../player_companion/blood_of_fiends/bof_abilities_race.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/pathfinder/paizo/player_companion/blood_of_fiends/bof_abilities_race.lst b/data/pathfinder/paizo/player_companion/blood_of_fiends/bof_abilities_race.lst index b54e395c709..b2830a0c172 100644 --- a/data/pathfinder/paizo/player_companion/blood_of_fiends/bof_abilities_race.lst +++ b/data/pathfinder/paizo/player_companion/blood_of_fiends/bof_abilities_race.lst @@ -183,7 +183,7 @@ CATEGORY=Special Ability|Rakshasa-Spawn ~ Spell-Like Ability.MOD SOURCEPAGE:p.23 ###Block: Variant Ability # Ability Name Unique Key Category of Ability Type Multiple Requirements Description Bonus Ability Pool Cost Source Page Aspects FACT -Variant Tiefling Ability KEY:Tiefling ~ Variant Ability CATEGORY:Special Ability TYPE:RacialTraits.Tiefling Racial Trait PREMULT:1,[PREABILITY:1,CATEGORY=Special Ability,Tiefling ~ Variant Ability],[!PREFACT:1,ABILITIES,Tiefling_ReplaceSpellLikeAbility=True] DESC:Some tieflings are blessed or cursed with unusual abilities. GMs may customize their tiefling NPCs using the following chart, or allow their players to do so by rolling a d%%. Players with a particular character concept in mind may consult their GM if they want to select a specific variant ability. &nl;The abilities presented here replace an tiefling's spell-like ability racial trait. Any abilities that grant spells or spell-like abilities are treated as having a caster level equal to the tiefling's character level. BONUS:ABILITYPOOL|Tiefling Variant Ability|1 COST:0 SOURCEPAGE:p.18 ASPECT:MasterAbility|Variant Tiefling Ability ASPECT:ChildAbility|Variant Tiefling Ability FACT:Tiefling_ReplaceSpellLikeAbility|True +Variant Tiefling Ability KEY:Tiefling ~ Variant Ability CATEGORY:Special Ability TYPE:RacialTraits.Tiefling Racial Trait PREMULT:1,[PREABILITY:1,CATEGORY=Special Ability,Tiefling ~ Variant Ability],[!PREFACT:1,ABILITIES,Tiefling_ReplaceSpellLikeAbility=true] DESC:Some tieflings are blessed or cursed with unusual abilities. GMs may customize their tiefling NPCs using the following chart, or allow their players to do so by rolling a d%%. Players with a particular character concept in mind may consult their GM if they want to select a specific variant ability. &nl;The abilities presented here replace an tiefling's spell-like ability racial trait. Any abilities that grant spells or spell-like abilities are treated as having a caster level equal to the tiefling's character level. BONUS:ABILITYPOOL|Tiefling Variant Ability|1 COST:0 SOURCEPAGE:p.18 ASPECT:MasterAbility|Variant Tiefling Ability ASPECT:ChildAbility|Variant Tiefling Ability FACT:Tiefling_ReplaceSpellLikeAbility|True ###Block: Variant Tiefling Abilities # Ability Name Unique Key SORTKEY Output Name Category of Ability Type Visible Required Ability Define Description Stackable? Multiple? Choose Selections Template Move Ability Bonus Ability Pool Bonus to HP Add to magical move Save bonus Bonus to skill Stat bonus Modify VAR Weapon prof. bonus Wield Category bonus Spell Res. Damage Reduction Source Page Aspects From 3667ac0c6eecb5b8b80f2b489c1c054ee0aa70a6 Mon Sep 17 00:00:00 2001 From: LegacyKing Date: Sat, 8 Jul 2023 15:49:46 -0700 Subject: [PATCH 016/219] Allow 1-hander slashing weapons to qualify for Slashing Grace (Falcata, Khopesh, and Temple Sword) --- .../advanced_players_guide/apg_profs_weapon.lst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data/pathfinder/paizo/roleplaying_game/advanced_players_guide/apg_profs_weapon.lst b/data/pathfinder/paizo/roleplaying_game/advanced_players_guide/apg_profs_weapon.lst index c9a485b6672..1a7d84a4451 100644 --- a/data/pathfinder/paizo/roleplaying_game/advanced_players_guide/apg_profs_weapon.lst +++ b/data/pathfinder/paizo/roleplaying_game/advanced_players_guide/apg_profs_weapon.lst @@ -39,9 +39,9 @@ Pilum TYPE:Martial.Ranged.Piercing.RangedPiercing.Spear.Weapon Group Sp Swordbreaker Dagger KEY:Dagger (Swordbreaker) TYPE:Exotic.Melee.Light.Slashing.MeleeSlashing.Dagger.Tengu.SwordLike.Weapon Group Blades Light # -- 1-handers -Falcata TYPE:Exotic.Melee.Slashing.MeleeSlashing.Sword.Weapon Group Blades Heavy.SwordLike.Tengu -Khopesh TYPE:Exotic.Melee.Slashing.MeleeSlashing.Sword.Weapon Group Blades Heavy.SwordLike.Tengu -Temple Sword KEY:Sword (Temple) TYPE:Exotic.Melee.Slashing.MeleeSlashing.Sword.Monk.Weapon Group Blades Heavy.SwordLike.Tengu.Weapon Group Monk +Falcata TYPE:Exotic.Melee.Slashing.MeleeSlashing.Sword.Weapon Group Blades Heavy.SwordLike.Tengu.OneHanded +Khopesh TYPE:Exotic.Melee.Slashing.MeleeSlashing.Sword.Weapon Group Blades Heavy.SwordLike.Tengu.OneHanded +Temple Sword KEY:Sword (Temple) TYPE:Exotic.Melee.Slashing.MeleeSlashing.Sword.Monk.Weapon Group Blades Heavy.SwordLike.Tengu.Weapon Group Monk.OneHanded # -- 2-handers Chain Spear KEY:Spear (Chain) TYPE:Exotic.Melee.Piercing.Slashing.MeleePiercing.MeleeSlashing.Spear.TwoHanded.Weapon Group Double.Weapon Group Flails.Weapon Group Spears From ce7da9884ccd27ffeb3d99346ea1cdc8563e1175 Mon Sep 17 00:00:00 2001 From: LegacyKing Date: Sat, 8 Jul 2023 15:50:23 -0700 Subject: [PATCH 017/219] =?UTF-8?q?Remove=20illegal=20=E2=80=99=20and=20co?= =?UTF-8?q?nvert=20to=20proper=20'=20from=20PRECAMPAIGN=20tag.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../paizo/roleplaying_game/ultimate_combat/_ultimate_combat.pcc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/pathfinder/paizo/roleplaying_game/ultimate_combat/_ultimate_combat.pcc b/data/pathfinder/paizo/roleplaying_game/ultimate_combat/_ultimate_combat.pcc index 2a42a782512..0998d518b37 100644 --- a/data/pathfinder/paizo/roleplaying_game/ultimate_combat/_ultimate_combat.pcc +++ b/data/pathfinder/paizo/roleplaying_game/ultimate_combat/_ultimate_combat.pcc @@ -81,7 +81,7 @@ ABILITY:support/uc_abilities_class_mtt.lst|PRECAMPAIGN:1,INCLUDES=Melee Tactics ABILITY:support/uc_abilities_class_ui.lst|PRECAMPAIGN:1,INCLUDES=Ultimate Intrigue ABILITY:support/uc_abilities_class_um.lst|PRECAMPAIGN:1,INCLUDES=Ultimate Magic ABILITY:support/uc_abilities_class_uw.lst|PRECAMPAIGN:1,INCLUDES=Ultimate Wilderness -ABILITY:support/uc_abilities_class_wmh.lst|PRECAMPAIGN:1,INCLUDES=Weapon Master’s Handbook +ABILITY:support/uc_abilities_class_wmh.lst|PRECAMPAIGN:1,INCLUDES=Weapon Master's Handbook # TODO: If Pathfinder Player Companion: Blood of the Ancients is created, enable this. #ABILITY:support/uc_abilities_class_bota.lst|PRECAMPAIGN:1,INCLUDES=Blood of the Ancients From 4c2c660b1e3bdcf59a1101078016459d41026daf Mon Sep 17 00:00:00 2001 From: Vest Date: Sun, 9 Jul 2023 04:27:15 +0200 Subject: [PATCH 018/219] Fixed integration tests related to Startfinder (#6890) * pcGenGUISFmechanicTest: updated sf_mechanic.xml to fix the integration test. The change is related to the commit 765bb11c6262b9f2620fc1875c999c6fc9827483 * Partially reverted the commit ba9759c23f6f9ff429bb4104fa3340955b9ab884, because WeakReference lost values for CSKILL object. This is a regression. It is possible, that either SoftReference should be used, or a strong reference. Fixed: pcGenGUISFmechanicTest - after the bug with CSKILL is fixed Fixed: pcGenGUISFsoldierTest - after the bug with CSKILL is fixed --- .../AbstractReferenceManufacturer.java | 19 +- code/testsuite/csheets/sf_mechanic.xml | 190 +++++++++++++----- code/testsuite/csheets/sf_soldier.xml | 109 ++++++---- 3 files changed, 218 insertions(+), 100 deletions(-) diff --git a/code/src/java/pcgen/cdom/reference/AbstractReferenceManufacturer.java b/code/src/java/pcgen/cdom/reference/AbstractReferenceManufacturer.java index 4669b74def9..16b3da30f2b 100644 --- a/code/src/java/pcgen/cdom/reference/AbstractReferenceManufacturer.java +++ b/code/src/java/pcgen/cdom/reference/AbstractReferenceManufacturer.java @@ -224,12 +224,19 @@ public CDOMGroupRef getTypeReference(String... types) } Arrays.sort(types); FixedStringList typeList = new FixedStringList(types); - WeakReference> ref = typeReferences.computeIfAbsent(typeList, k -> { - // Didn't find the appropriate key, create new - CDOMGroupRef cgr = factory.getTypeReference(types); - return new WeakReference<>(cgr); - }); - return ref.get(); + WeakReference> ref = typeReferences.get(typeList); + if (ref != null) + { + CDOMGroupRef trt = ref.get(); + if (trt != null) + { + return trt; + } + } + // Didn't find the appropriate key, create new + CDOMGroupRef cgr = factory.getTypeReference(types); + typeReferences.put(typeList, new WeakReference<>(cgr)); + return cgr; } /** diff --git a/code/testsuite/csheets/sf_mechanic.xml b/code/testsuite/csheets/sf_mechanic.xml index 332034d247e..2ccfbb90136 100644 --- a/code/testsuite/csheets/sf_mechanic.xml +++ b/code/testsuite/csheets/sf_mechanic.xml @@ -191,14 +191,14 @@ BIO Intelligence INT - 20 - +5 + 26 + +8 16 +3 - 20 - +5 - 20 - +5 + 26 + +8 + 26 + +8 @@ -411,11 +411,11 @@ BIO ====================================--> - 180 - 160 - 20 + 240 + 240 + 0 - Athletics +24, Computers +34, Engineering +33, Medicine +29, Perception +29, Physical Science +28, Piloting +28, Profession (Maintenance Worker) +27, Sense Motive +6, Stealth +7, Survival +6 + Athletics +24, Computers +37, Engineering +39, Life Science +28, Medicine +32, Perception +27, Physical Science +31, Piloting +28, Profession (Maintenance Worker) +27, Sense Motive +24, Stealth +27, Survival +26 20 20.0 @@ -472,10 +472,10 @@ BIO Computers 20.0 - 14 + 17 - 34 - 5 + 37 + 8 9 @@ -483,8 +483,8 @@ BIO Computers NO N - 34 - 34 + 37 + 37 Diplomacy @@ -523,19 +523,19 @@ BIO Engineering 20.0 - 13 + 19 - 33 - 5 + 39 + 8 - 8 + 11 INT Engineering NO N - 33 - 33 + 39 + 39 Intimidate @@ -554,13 +554,30 @@ BIO 2 2 + + Life Science + 20.0 + 8 + + 28 + 8 + + 0 + + INT + Life Science + NO + N + 28 + 28 + Medicine 20.0 - 9 + 12 - 29 - 5 + 32 + 8 4 @@ -568,33 +585,33 @@ BIO Medicine NO N - 29 - 29 + 32 + 32 Perception 20.0 - 9 + 7 - 29 + 27 4 - 5 + 3 WIS Perception Y N - 29 - 29 + 27 + 27 Physical Science 20.0 - 8 + 11 - 28 - 5 + 31 + 8 3 @@ -602,8 +619,8 @@ BIO Physical Science NO N - 28 - 28 + 31 + 31 Piloting @@ -641,27 +658,27 @@ BIO Sense Motive - 0.0 - 6 + 20.0 + 4 - 6 + 24 4 - 2 + 0 WIS Sense Motive Y N - 6 - 6 + 24 + 24 Stealth - 0.0 + 20.0 7 - 7 + 27 5 2 @@ -670,15 +687,15 @@ BIO Stealth Y N - 7 - 7 + 27 + 27 Survival - 0.0 + 20.0 6 - 6 + 26 4 2 @@ -687,8 +704,8 @@ BIO Survival Y N - 6 - 6 + 26 + 26 - + @@ -816,13 +833,19 @@ BIO +0 +20 - + + +0 + +0 + Primary 1 5 S Unwieldy - + EF 0.1 0 @@ -2051,10 +2074,10 @@ BIO F - Master Crafter (Engineering) + Master Crafter You can construct things more quickly than most. GENERAL - Engineering + 1 F F @@ -2117,6 +2140,30 @@ BIO ====================================--> + + + Resistance to Electricity + You may ignore 15 points of Electricity damage each time you take electricity damage. + SPECIALQUALITY.EXTRAORDINARY.RESISTANCE + + 0 + F + F + T + Special Ability + + + + Resistance to Electricity + + + + 0 + T + T + F + Special Ability + +1 Increase to Drone Level (2x) @@ -2173,6 +2220,17 @@ BIO F Internal + + Electricity + + ENHANCED RESISTANCE + + 0 + F + F + F + Internal + +2 Strength @@ -2349,6 +2407,17 @@ BIO F Internal + + Personal Upgrade Mk 3 (INT) + + PERSONAL UPGRADE.PERSONAL UPGRADE LVL 14 + + 0 + F + F + F + Internal + Starfinder Society @@ -2449,6 +2518,17 @@ BIO F Internal + + Skill Focus + + + + 0 + T + F + F + Internal + Vision ~ Darkvision diff --git a/code/testsuite/csheets/sf_soldier.xml b/code/testsuite/csheets/sf_soldier.xml index 0c2e0ffdc86..ac8cbe8ebcc 100644 --- a/code/testsuite/csheets/sf_soldier.xml +++ b/code/testsuite/csheets/sf_soldier.xml @@ -87,9 +87,11 @@ BIO (10d1)+64 + Bantrid Common + Kalo Triaxian - Common, Triaxian + Bantrid, Common, Kalo, Triaxian @@ -352,45 +354,45 @@ BIO 60 - 50 - 10 + 60 + 0 - Acrobatics +13, Athletics +12, Engineering +15, Medicine +15, Piloting +19 + Acrobatics +18, Athletics +17, Engineering +15, Intimidate +3, Medicine +15, Piloting +19, Survival +13 10 10.0 Acrobatics 10.0 - 3 + 8 - 13 + 18 5 - -2 + 3 DEX Acrobatics Y N - 13 - 13 + 18 + 18 Athletics 10.0 - 2 + 7 - 12 + 17 4 - -2 + 3 STR Athletics Y N - 12 - 12 + 17 + 17 Bluff @@ -462,20 +464,20 @@ BIO Intimidate - 0.0 - -1 + 1.0 + 2 - -1 + 3 -1 - 0 + 3 CHA Intimidate Y N - -1 - -1 + 3 + 3 Medicine @@ -548,36 +550,36 @@ BIO Stealth 0.0 - 0 + 5 - 0 + 5 5 - -5 + 0 DEX Stealth Y N - 0 - 0 + 5 + 5 Survival - 0.0 - 1 + 9.0 + 4 - 1 + 13 1 - 0 + 3 WIS Survival Y N - 1 - 1 + 13 + 13 - + @@ -705,13 +707,19 @@ BIO +0 +14 - + + +0 + +0 + Primary 1 5 M Extinguish, integrated (2 slots), powered (capacity 20, usage 2) - + C 0.1 0 @@ -765,13 +773,19 @@ BIO +0 +15 - + + +0 + +0 + Carried 1 5 M Line, unwieldy - + C 2 1 @@ -820,13 +834,19 @@ BIO +0 +14 - + + +0 + +0 + Carried 1 5 M Powered (capacity 40, usage 5) - + EF 2 2 @@ -1512,6 +1532,17 @@ BIO F Internal + + Skill Focus + + + + 0 + T + F + F + Internal + Vision ~ Darkvision @@ -1543,7 +1574,7 @@ BIO ====================================--> Acid dart rifle (complex), Acid dart rifle (dual), Acid dart rifle (tactical), Acid lancer (corroder-class), Acid lancer (disintegrator-class), Acid lancer (liquefier-class), Acid lancer (melter-class), AG Accelerator Rifle, AG Assault Rifle, AG RPPR, Agitator (blaze), Agitator (ember), Agitator (inferno), Agitator (solar flare), Anacite ion cannon (aurora), Anacite ion cannon (static), Anacite ion cannon (storm), Anacite ion cannon (tempest), Anchor pistol (emergent), Anchor pistol (flux), Anchor pistol (inductive), Anchor pistol (voltaic), Angel wing (astral), Angel wing (monadic), Angel wing (movanic), Arc caster (aurora), Arc caster (static), Arc caster (storm), Arc caster (tempest), Arc emitter (advanced), Arc emitter (tactical), Arc pistol (aurora), Arc pistol (static), Arc pistol (storm), Arc rifle (aurora), Arc rifle (static), Arc rifle (storm), Arc rifle (tempest), Artillery laser (aphelion), Artillery laser (azimuth), Artillery laser (corona), Artillery laser (parallax), Artillery laser (perihelion), Artillery laser (zenith), Assassin rifle (phantom), Assassin rifle (shadow), Assassin rifle (spectre), Assassin rifle (stalker), Assassin rifle (wraith), Aurora cannon (electron), Aurora cannon (hydrogen), Aurora cannon (proton), Autobeam artillery (advanced), Autobeam artillery (elite), Autobeam artillery (tactical), Autobeam rifle (advanced), Autobeam rifle (elite), Autobeam rifle (tactical), Autotarget rifle, Baton (advanced), Baton (tactical), Battle ribbon (micro-edge), Battle ribbon (traditional), Battle ribbon (zero-edge), Battleglove (cestus), Battleglove (gravity), Battleglove (nova), Battleglove (power), Blaze rifle (firedrake-class), Blaze rifle (hellhound-class), Blaze rifle (ifrit-class), Blaze rifle (phoenix-class), Blaze rifle (salamander-class), Blindmark rifle (banshee), Blindmark rifle (HFD), Blindmark rifle (LFD), Blindmark rifle (thunderstrike), Bone Cestus (austere), Bone Cestus (imposing), Bone Cestus (measured), Bone Cestus (severe), Bone pistol (crypt-class), Bone pistol (grave-class), Bone pistol (sepulcher-class), Bone pistol (vault-class), Bone scepter (cadaver), Bone scepter (chill), Bone scepter (rigor), Bone scepter (void), Boomer rifle (concussive), Boomer rifle (rumbler), Boomer rifle (shockwave), Boomer rifle (tremor), Breaching gun (grapeshot), Breaching gun (impact), Breaching gun (snub), Breaching gun (utility), Breaching gun (vortex), Burner (firedrake-class), Burner (hellhound-class), Burner (ifrit-class), Burner (phoenix-class), Burner (salamander-class), Burning chains (archdevil-class), Burning chains (fiend-class), Burning chains (malebranche-class), Cathode cannon (advanced), Cathode cannon (elite), Cathode cannon (paragon), Cathode cannon (shockstorm), Cathode cannon (tactical), Cavitation pistol (hydrodynamic), Cavitation pistol (inertial), Cavitation pistol (thermodynamic), Cavitation pistol (vapor), Charge emitter (impulse), Charge emitter (jolt), Charge emitter (surge), Chitinblade (microserrated), Chitinblade (nanoserrated), Chitinblade (tactical), Chitinblade (ultraserrated), Club, Cluster launcher (advanced), Cluster launcher (elite), Cluster launcher (paragon), Cluster launcher (tactical), Coil rifle (assassin), Coil rifle (precision), Coil rifle (rangefinder), Coil rifle (saboteur), Coil rifle (specialist), Colossus coil (brush), Colossus coil (corona), Colossus coil (multistream), Colossus coil (streamer arc), Combat rifle, Compliance ray (flare), Compliance ray (flash), Compliance ray (starburst), Compliance ray (strobe), Compliance ray (sunspot), Conqueror (blue star), Conqueror (red star), Conqueror (violet star), Conqueror (white star), Conqueror (yellow star), Convergent laser (multiwave), Convergent laser (single-wave), Convergent laser (wide-spectrum), Coolant sprayer (algid), Coolant sprayer (aufeis), Coolant sprayer (glacial), Coolant sprayer (isothermal), Core hammer (advanced), Core hammer (fusion), Core hammer (reactor), Core hammer (tactical), Crossbolter (advanced), Crossbolter (dual), Crossbolter (elite), Crossbolter (paragon), Crossbolter (tactical), Cryopike (advanced), Cryopike (tactical), Cryospike (industrial), Cryospike (personal), Cryospike (residential), Curve blade (buzzblade), Curve blade (carbon steel), Curve blade (dimensional slice), Curve blade (ultrathin), Dagger (molecular rift), Dagger (ultrathin), Dagger (zero-edge), Dart cannon (advanced), Dart cannon (elite), Dart cannon (heavy), Dart cannon (light), Dart cannon (paragon), Dart cannon (tactical), Dazzler (flash), Dazzler (strobe), Dazzler (sunspot), Decoupler (bruiser), Decoupler (pusher), Decoupler (screamer), Devastation blade (apocalypse), Devastation blade (ruin), Devastation blade (wrack), Diasporan rifle (advanced), Diasporan rifle (elite), Diasporan rifle (imperial), Diasporan rifle (tactical), Diasporan rifle (ultra), Dirge cannon (anharmonic), Dirge cannon (harmonic), Dirge cannon (parametric), Dirge cannon (resonant), Dirge pistol (anharmonic), Dirge pistol (harmonic), Dirge pistol (parametric), Dirge pistol (radial), Dirge pistol (resonant), Disintegrator cannon (decimator), Disintegrator cannon (eradicator), Disintegrator cannon (executioner), Disintegrator cannon (liquidator), Disintegrator lash (decimator), Disintegrator lash (eradicator), Disintegrator lash (executioner), Disintegrator lash (liquidator), Disintegrator pistol (decimator), Disintegrator pistol (eradicator), Disintegrator pistol (executioner), Disintegrator pistol (liquidator), Disintegrator rifle (decimator), Disintegrator rifle (eradicator), Disintegrator rifle (executioner), Disintegrator rifle (liquidator), Divergent laser (multiwave), Divergent laser (single-wave), Divergent laser (wide-spectrum), Doshko (advanced), Doshko (dimensional blade), Doshko (molecular rift), Doshko (tactical), Doshko (ultrathin), Doshko (zero-edge), Dragon pistol (drake), Dragon pistol (true), Dragon pistol (wyrmling), Dragon pistol (wyvern), Dragon rifle (drake), Dragon rifle (true), Dragon rifle (wyrmling), Dragon rifle (wyvern), Dragonglaive (basic), Dragonglaive (skyshatter), Dragonglaive (stormstrike), Dragonglaive (thunderhead), Dragonglaive (wyrmlord), Dross gun (flux), Dross gun (scoring), Dross gun (scrapper), Dueling sword (admiral), Dueling sword (buzzblade), Dueling sword (converted), Dueling sword (molecular rift), Dueling sword (officer), Dueling sword (ripper), Dueling sword (tactical), Dueling sword (ultrathin), Electroflail (advanced), Electroflail (elite), Electroflail (paragon), Electroflail (tactical), Electrovore glove (aurora), Electrovore glove (static), Electrovore glove (storm), Electrovore glove (tempest), Energy converter (advanced), Energy converter (elite), Energy converter (tactical), Eoxian Wrackstaff, Excavation laser (heavy), Excavation laser (light), Excavation laser (medium), Fangblade, Flame doshko (blaze), Flame doshko (ember), Flame doshko (inferno), Flame doshko (solar flare), Flame launcher (fireball), Flame launcher (immolation), Flame launcher (supernova), Flame pistol, Flame pistol (blaze), Flame pistol (inferno), Flame pistol (solar flare), Flame rifle, Flame spinner (fireball), Flame spinner (fission), Flame spinner (immolation), Flame spinner (supernova), Flamethrower (firedrake-class), Flamethrower (hellhound-class), Flamethrower (ifrit-class), Flamethrower (phoenix-class), Flamethrower (salamander-class), Flare axe (blue star), Flare axe (red star), Flare axe (white star), Flare axe (yellow star), Flare gun (survival), Flare rifle (coruscator), Flare rifle (dazzler), Flare rifle (nova), Flare rifle (scorcher), Flare rifle (vivifier), Focus rifle (compound), Focus rifle (dual), Focus rifle (quad), Focus rifle (triple), Forked pistol (10-notch), Forked pistol (6-notch), Forked pistol (8-notch), Forked pistol (9-notch), Freeze ray (algid), Freeze ray (glacial), Freeze ray (hiemal), Freeze ray (hypothermic), Freeze ray (isothermal), Frost maul (aufeis), Frost maul (floe), Frost maul (glacier), Frost maul (iceberg), Frost projector (blizzard-class), Frost projector (frostbite-class), Frost projector (hailstorm-class), Gale baton (cyclone), Gale baton (hurricane), Gale baton (tempest), Gamma rifle (fusion), Gamma rifle (ionizing), Gamma rifle (synchrotron), Gamma rifle (terrestrial), Garrote (microfilament), Garrote (monowire), Garrote (nanofiber), Garrote (wire), Glass blade (impulse), Glass blade (jolt), Glass blade (live), Glass blade (surge), Graviton pistol (chiral), Graviton pistol (linear), Graviton pistol (tensor), Graviton pistol (vector), Greataxe (molecular-rift), Greataxe (sintered), Greataxe (tactical), Greataxe (ultrathin), Grenades, Grindblade, Gulchgun, Gyrojet pistol (advanced), Gyrojet pistol (elite), Gyrojet pistol (tactical), Gyrojet rifle (advanced), Gyrojet rifle (elite), Gyrojet rifle (paragon), Gyrojet rifle (tactical), Hail pistol (absolute-zero), Hail pistol (gelid), Hail pistol (subzero), Hail pistol (ultracold), Hailcannon (absolute-zero), Hailcannon (clathrate), Hailcannon (gelid), Hailcannon (subzero), Hailcannon (ultracold), Hammer (assault), Hammer (comet), Hammer (gravity well), Hammer (meteoric), Handaxe (basic), Handaxe (molecular-rift), Handaxe (sintered), Handaxe (tactical), Handaxe (ultrathin), Handcannon (bombast), Handcannon (braggadocio), Handcannon (bravado), Handcannon (gasconade), Handcannon (swagger), Handcoil (capital), Handcoil (explorer), Handcoil (fighter), Handcoil (pilot), Heat-amp gauntlet (mk1), Heat-amp gauntlet (mk2), Heat-amp gauntlet (mk3), Heat-amp gauntlet (mk4), Hook knife, Hook sword, Hunting rifle, Hydra cannon (asp-series), Hydra cannon (cobra-series), Hydra cannon (python-series), Hydra cannon (viper-series), Ice carbine (absolute-zero), Ice carbine (gelid), Ice carbine (subzero), Ice carbine (ultracold), Ice launcher (aufeis), Ice launcher (floe), Ice launcher (glacier), Ice launcher (iceberg), Ice launcher (icecap), Ice needle (artifice), Ice needle (espionage), Ice needle (furtive), Ice needle (subterfuge), Ice needle (undercover), Icestar staff (defender), Icestar staff (drifter), Icestar staff (leader), Icestar staff (seeker), Icestar staff (warrior), Igniter (blaze), Igniter (ember), Igniter (inferno), Igniter (solar flare), IMDS missile launcher, Incapacitator, Infinity rifle (advanced), Infinity rifle (elite), Infinity rifle (paragon), Infinity rifle (tactical), Injection (glove), Injector pistol (elite), Injector pistol (medic), Injector pistol (poacher), Injector pistol (subjugation), Injector pistol (zoologist), Interference blade (harmonic), Interference blade (monophonic), Interference blade (multiphonic), Interference blade (polyphonic), Ionizer (chromic), Ionizer (cupric), Ionizer (ferric), Ionizer (stannic), Junk censer, Kalo shredder (cascade-class), Kalo shredder (deluge-class), Kalo shredder (monsoon-class), Kalo shredder (slipstream-class), Kalo shredder (torrent-class), Knife (survival), Knife (tactical), Lance (advanced), Lance (elite), Lance (paragon), Lance (tactical), Laser pistol (aphelion), Laser pistol (azimuth), Laser pistol (corona), Laser pistol (parallax), Laser pistol (perihelion), Laser pistol (zenith), Laser rifle (aphelion), Laser rifle (azimuth), Laser rifle (corona), Laser rifle (parallax), Laser rifle (perihelion), Laser rifle (zenith), Lens pistol (cylindrical), Lens pistol (electron), Lens pistol (lenticular), Lens pistol (sunglass), Lightning pistol (ribbon), Lightning pistol (rocket), Lightning pistol (sheet), Lightning pistol (smooth-channel), Living lash, Living staff (advanced), Living staff (elite), Living staff (paragon), Living staff (tactical), Longsword, Longsword (dimensional slice), Longsword (microserrated), Longsword (molecular rift), Longsword (sintered), Longsword (ultraserrated), Longsword (ultrathin), Longsword (zero-edge), Machine gun (heavy), Machine gun (light), Machine gun (medium), Machine gun (squad), Magma blade (andesite), Magma blade (basalt), Magma blade (plagioclase), Magma blade (rhyolite), Magnetar rifle (advanced), Magnetar rifle (elite), Magnetar rifle (paragon), Magnetar rifle (tactical), Maul (advanced), Maul (elite), Maul (paragon), Maul (tactical), Meteor glaive (advanced), Meteor glaive (elite), Meteor glaive (paragon), Meteor glaive (tactical), Microfusion rifle (heavy), Microfusion rifle (light), Microfusion rifle (medium), Minelayer (command), Minelayer (merc), Minelayer (platoon), Minelayer (squad), Mirage dagger (distortion), Mirage dagger (hallucination), Mirage dagger (illusion), Monowhip, Multistage rifle (dual), Multistage rifle (dual-plus), Multistage rifle (quad), Multistage rifle (triple), Multistage rifle (triple-plus), Nanite decoupler (caustic), Nanite decoupler (vitriolic), Nanite rifle (advanced), Nanite rifle (elite), Nanite rifle (tactical), Nanite thrower (advanced), Nanite thrower (elite), Nanite thrower (paragon), Nanite thrower (tactical), Needler pistol, Needler rifle, Neural lash (amperometric), Neural lash (electroplax), Neural lash (galvanic), Neural lash (voltaic), Nightarch needler (advanced), Nightarch needler (elite), Nightarch needler (paragon), Nightarch needler (tactical), NIL grenade launcher (merc), NIL grenade launcher (squad), Nova lance (blue star), Nova lance (red star), Nova lance (white star), Nova lance (yellow star), Nova rifle (red star), Nova rifle (white star), Nova rifle (yellow star), Numbing beam (advanced), Numbing beam (elite), Numbing beam (paragon), Numbing beam (tactical), Peacemaker, Perforator pistol (diffraction), Perforator pistol (linear), Perforator pistol (phased), Perforator pistol (refraction), Persuader, Petrol converter (advanced), Petrol converter (elite), Petrol converter (light), Petrol converter (paragon), Petrol converter (tactical), Phasic scythe (harmonic), Phasic scythe (monophonic), Phasic scythe (multiphonic), Phasic scythe (polyphonic), Pike (advanced), Pike (elite), Pike (tactical), Plasma array (blue star), Plasma array (red star), Plasma array (white star), Plasma array (yellow star), Plasma bolter (advanced), Plasma bolter (elite), Plasma bolter (paragon), Plasma bolter (tactical), Plasma cannon (blue star), Plasma cannon (red star), Plasma cannon (white star), Plasma cannon (yellow star), Plasma caster (blue star), Plasma caster (white star), Plasma claw (biodynamic), Plasma claw (electrocellular), Plasma claw (organic), Plasma claw (synthecite), Plasma doshko (blue star), Plasma doshko (red star), Plasma doshko (white star), Plasma doshko (yellow star), Plasma fork (12-notch), Plasma fork (15-notch), Plasma fork (19-notch), Plasma fork (22-notch), Plasma guide (series-21), Plasma guide (series-28), Plasma guide (series-37), Plasma guide (series-42), Plasma guide (series-62), Plasma guide (series-73), Plasma lash (blue star), Plasma lash (red star), Plasma lash (white star), Plasma lash (yellow star), Plasma pistol (blue star), Plasma pistol (red star), Plasma pistol (white star), Plasma pistol (yellow star), Plasma ribbon (champion), Plasma ribbon (competitor), Plasma ribbon (professional), Plasma ribbon (student), Plasma rifle (blue star), Plasma rifle (red star), Plasma rifle (white star), Plasma rifle (yellow star), Plasma ring (dual-valve), Plasma ring (multichannel), Plasma ring (single-valve), Plasma sword (blue star), Plasma sword (red star), Plasma sword (tactical), Plasma sword (white star), Plasma sword (yellow star), Polarity gauntlets (aurora), Polarity gauntlets (current), Polarity gauntlets (spark), Polarity gauntlets (static), Polarity gauntlets (storm), Polarity gauntlets (tempest), Polarity rifle (aurora), Polarity rifle (static), Polarity rifle (storm), Polarity rifle (tempest), Psychic-wave cannon I, Psychic-wave cannon II, Psychic-wave cannon III, Psychic-wave cannon IV, Psychic-wave cannon V, Pulse gauntlet (banshee), Pulse gauntlet (HFD), Pulse gauntlet (LFD), Pulse gauntlet (thunderstrike), Pulsecaster (pistol), Pulsecaster rifle, Puzzleblade (conviction), Puzzleblade (dedication), Puzzleblade (moderation), Puzzleblade (tradition), Pyrod (beacon), Pyrod (luminous), Pyrod (torch), Radcannon (electromagnetic), Radcannon (neutron), Radcannon (rapid-decay), Radshot (electromagnetic), Radshot (neutron), Radshot (rapid-decay), Rail cannon (advanced), Rail cannon (elite), Rail cannon (paragon), Rail cannon (tactical), Rail gun (advanced), Rail gun (tactical), Reaction cannon (advanced), Reaction cannon (elite), Reaction cannon (heavy), Reaction cannon (light), Reaction cannon (paragon), Reaction cannon (tactical), Resistance rod (induction), Resistance rod (piezoresistor), Resistance rod (strain-gauge), Resistance rod (thermistor), Resonant gauntlet (atomic), Resonant gauntlet (cellular), Resonant gauntlet (molecular), Resonant gauntlet (quantum), Resonant pistol (lattice), Resonant pistol (matrix), Resonant staff (reverberant), Resonant staff (sonorous), Resonant staff (stentorian), Resonator (diffraction), Resonator (linear), Resonator (phased), Resonator (refraction), Retractable spike (advanced), Retractable spike (elite), Retractable spike (paragon), Retractable spike (tactical), Rocket rifle, Rotating pistol (advanced), Rotating pistol (elite), Rotating pistol (tactical), Rotolaser (advanced), Rotolaser (tactical), Sap (heavy), Sap (light), Sap (medium), Scattergun (grapeshot), Scattergun (impact), Scattergun (snub), Scattergun (utility), Scattergun (vortex), Scorchgun (C-band), Scorchgun (K-band), Scorchgun (microwave), Scorchgun (S-band), Scorchgun (X-band), Screamer (HFD), Screamer (LFD), Screamer (thunderstrike), Scythe (sintered), Scythe (tactical), Scythe (ultrathin), Searing grip (high-heat), Searing grip (low-heat), Searing grip (weaponized), Seeker rifle (advanced), Seeker rifle (elite), Seeker rifle (paragon), Seeker rifle (tactical), Seismic pick (demolition), Seismic pick (driver), Seismic pick (heavy), Seismic pick (light), Semi-auto pistol (advanced), Semi-auto pistol (elite), Semi-auto pistol (paragon), Semi-auto pistol (tactical), Serpent laser (aphelion), Serpent laser (azimuth), Serpent laser (corona), Serpent laser (perihelion), Shadow chains (acolyte), Shadow chains (devotional), Shadow chains (ecclesiastic), Shadow chains (follower), Shadow chains (penitent), Shadow pistol (caliginous), Shadow pistol (sable), Shadow pistol (tenebrous), Shadow pistol (umbral), Shadowstaff, Shadowstaff (lesser), Shell knuckles (advanced), Shell knuckles (elite), Shell knuckles (paragon), Shell knuckles (tactical), Shellgun (blaze), Shellgun (bombard), Shellgun (fury), Shield projector (defender), Shield projector (guardian), Shield projector (sentry), Shield projector (warden), Shirren-eye rifle (advanced), Shirren-eye rifle (elite), Shirren-eye rifle (paragon), Shirren-eye rifle (tactical), Shirren-eye rifle (warpshot), Shobhad horizon striker (advanced), Shobhad horizon striker (elite), Shobhad horizon striker (paragon), Shobhad horizon striker (tactical), Shock caster (aurora), Shock caster (static), Shock caster (storm), Shock caster (tempest), Shock pad (aurora), Shock pad (static), Shock pad (storm), Shock pad (tempest), Shock truncheon (aurora), Shock truncheon (static), Shock truncheon (storm), Shock truncheon (tempest), Shoulder laser (aphelion), Shoulder laser (azimuth), Shoulder laser (corona), Shoulder laser (perihelion), Shout projector (crackdown), Shout projector (damper), Shout projector (exhorter), Shout projector (pacifier), Shout projector (riot), Shout rifle, Shrieking knife (harmonic), Shrieking knife (infrasonic), Shrieking knife (interference), Shrieking knife (ultrasonic), Shrieking larva, Singing disk (alto), Singing disk (bass), Singing disk (sopranino), Singing disk (soprano), Singing disk (tenor), Singing spear (alto), Singing spear (sopranino), Singing spear (soprano), Singing spear (tenor), Skyfire sword (inferno), Skyfire sword (tactical), Sledge, Solar brand (blue star), Solar brand (red star), Solar brand (white star), Solar brand (yellow star), Solarian Weapon, Sonic bolter (assault), Sonic bolter (devastator), Sonic bolter (heavy), Sonic bolter (light), Sonic pistol (banshee), Sonic pistol (HFD), Sonic pistol (LFD), Sonic pistol (thunderstrike), Sonic rifle (banshee), Sonic rifle (HFD), Sonic rifle (LFD), Sonic rifle (thunderstrike), Sonic suppressor (hush), Sonic suppressor (murmur), Sonic suppressor (repose), Sonic suppressor (whisper), Spark knife (boss), Spark knife (crew), Spark knife (recruit), Spark knife (runner), Spear (buzzblade), Spear (gravity), Spear (sentinel), Spear (tactical), Spear (zero-edge), Spined blade (basic), Spined blade (buzzblade), Spined blade (gravity), Spined blade (ripper), Spined blade (rivener), Spined iceblade (avalanche-class), Spined iceblade (blizzard-class), Spined iceblade (frostbite-class), Spined iceblade (hailstorm-class), Staccato rifle (drum), Staccato rifle (hammer), Staccato rifle (pulse), Staccato rifle (surge), Staff (battle), Staff (carbon), Staff (hardlight), Staff (repeller), Staff (sentinel), Starheart cannon (blue star), Starheart cannon (red star), Starheart cannon (white star), Starheart cannon (yellow star), Starknife (accelerated), Starknife (dimensional slice), Starknife (lightspeed), Starknife (sintered), Starknife (tactical), Stellar cannon (heavy), Stellar cannon (light), Sting pistol (ant), Sting pistol (hornet), Sting pistol (wasp), Sting pistol (yellow jacket), Storm coil (impulse), Storm coil (jolt), Storm coil (live), Storm coil (surge), Storm hammer (antiferromagnetic), Storm hammer (diamagnetic), Storm hammer (ferromagnetic), Storm hammer (metamagnetic), Storm hammer (paramagnetic), Stormcaller (mooth-channel), Stormcaller (ribbon), Stormcaller (rocket), Stormcaller (sheet), Streetsweeper (HFD), Streetsweeper (LFD), Streetsweeper (thunderstrike), Stun staff (aurora), Stun staff (static), Stun staff (storm), Stun staff (tactical), Stun staff (tempest), Subduer (frost), Subduer (glacier), Subduer (rime), Subduer (sleet), Surgecaster (advanced), Surgecaster (standard), Switchblade (molecular-rift), Switchblade (tactical), Switchblade (ultrathin), Switchblade (zero-edge), Swoop hammer (advanced), Swoop hammer (mach I), Swoop hammer (mach II), Swoop hammer (mach III), Swoop hammer (tactical), Sword cane (advanced), Sword cane (dimensional slice), Sword cane (molecular rift), Sword cane (tactical), Sword cane (ultrathin), Sword cane (zero-edge), Taclash (numbing), Taclash (standard), Tailblade, Talon (drone), Talon (god), Talon (knight), Talon (queen), Talon (warrior), Tetrad rings (advanced), Tetrad rings (elite), Tetrad rings (tactical), Trident (dimensional slice), Trident (molecular rift), Trident (sintered), Trident (tactical), Trident (ultrathin), Unarmed, Unarmed strike, Velstrac flenser (ascetic), Velstrac flenser (debater), Velstrac flenser (recluse), Velstrac flenser (singer), Vibrogarrote (basic), Vibrogarrote (harmonic), Vibrogarrote (infrasonic), Vibrogarrote (interference), Vibrogarrote (ultrasonic), Void rifle (barrow-class), Void rifle (crypt-class), Void rifle (grave-class), Void rifle (ossuary-class), Void rifle (tomb-class), Void staff (barrow-class), Void staff (crypt-class), Void staff (grave-class), Void staff (ossuary-class), Void staff (tomb-class), Wailing blade (euphonic), Wailing blade (strident), Wailing blade (tymbal), Wailing blade (warbler), Warclub, Warfan, Wave modulator I, Wave modulator II, Wave modulator III, Wave modulator IV, Wave modulator V, Wave modulator VI, Wave modulator VII, Welder (industrial), Welder (offensive), Welder (starship), Welder (utility), Wraith-sting rifle (hornet), Wraith-sting rifle (wasp), Wraith-sting rifle (yellow jacket), X-gen gun (advanced), X-gen gun (elite), X-gen gun (paragon), X-gen gun (tactical), Xenolash (blooming), Xenolash (immature), Xenolash (mature), Xenolash (seeded), Zero cannon (advanced), Zero cannon (elite), Zero cannon (tactical), Zero knife (avalanche-class), Zero knife (blizzard-class), Zero knife (frostbite-class), Zero knife (hailstorm-class), Zero knife (icequake-class), Zero pistol (avalanche-class), Zero pistol (blizzard-class), Zero pistol (frostbite-class), Zero pistol (hailstorm-class), Zero rifle (avalanche-class), Zero rifle (blizzard-class), Zero rifle (frostbite-class), Zero rifle (hailstorm-class) - Common, Triaxian + Bantrid, Common, Kalo, Triaxian From af9e9e161c66e39b6c3b6706c75c79e18affeea3 Mon Sep 17 00:00:00 2001 From: LegacyKing Date: Sun, 9 Jul 2023 02:16:50 -0700 Subject: [PATCH 019/219] Fix Data Size issues --- .../survivors_guide/dw2sg__sizes.lst | 30 ++++++++--------- .../deadlands_d20/deadlands__sizes.lst | 32 +++++++++---------- .../core_rulebook_demo/fc__sizes.lst | 30 ++++++++--------- 3 files changed, 46 insertions(+), 46 deletions(-) diff --git a/data/darwins_world_2/rpg_objects/darwins_world_2/survivors_guide/dw2sg__sizes.lst b/data/darwins_world_2/rpg_objects/darwins_world_2/survivors_guide/dw2sg__sizes.lst index 4fea5eb7b57..8ddafb9a9b0 100644 --- a/data/darwins_world_2/rpg_objects/darwins_world_2/survivors_guide/dw2sg__sizes.lst +++ b/data/darwins_world_2/rpg_objects/darwins_world_2/survivors_guide/dw2sg__sizes.lst @@ -8,12 +8,12 @@ F.MOD BONUS:SKILL|Hide|16|TYPE=SIZE F.MOD BONUS:LOADMULT|TYPE=SIZE|0.125|PRELEGSGTEQ:4 # Diminutive ABB:D DISPLAYNAME:Diminutive BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.5 -D.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.1 BONUS:ITEMWEIGHT|TYPE=Goods|0.25 -D.MOD BONUS:COMBAT|AC|4|TYPE=Size BONUS:COMBAT|TOHIT|4|TYPE=SIZE BONUS:COMBAT|TOHIT.GRAPPLE|-16|TYPE=Size -D.MOD BONUS:ITEMCAPACITY|TYPE=Goods|0.25 -D.MOD BONUS:SKILL|Hide|12|TYPE=SIZE -D.MOD BONUS:LOADMULT|TYPE=SIZE|0.25|PRELEGSGTEQ:4 -D.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine +D.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.1 BONUS:ITEMWEIGHT|TYPE=Goods|0.25 +D.MOD BONUS:COMBAT|AC|4|TYPE=Size BONUS:COMBAT|TOHIT|4|TYPE=SIZE BONUS:COMBAT|TOHIT.GRAPPLE|-16|TYPE=Size +D.MOD BONUS:ITEMCAPACITY|TYPE=Goods|0.25 +D.MOD BONUS:SKILL|Hide|12|TYPE=SIZE +D.MOD BONUS:LOADMULT|TYPE=SIZE|0.25|PRELEGSGTEQ:4 +D.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine # Tiny ABB:T DISPLAYNAME:Tiny BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.5 T.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.1 BONUS:ITEMWEIGHT|TYPE=Goods|0.25 @@ -64,15 +64,15 @@ H.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine BONUS:STAT|DEX|-2|PREBASESIZELT:Tiny H.MOD BONUS:STAT|CON|2|PREBASESIZELT:Medium BONUS:STAT|CON|4|PREBASESIZELT:Large BONUS:STAT|CON|4|PREBASESIZELT:Huge # Gargantuan ABB:G DISPLAYNAME:Gargantuan BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|8 -G.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|8 BONUS:ITEMWEIGHT|TYPE=Goods|1 -G.MOD BONUS:COMBAT|AC|-4|TYPE=Size BONUS:COMBAT|TOHIT|-4|TYPE=SIZE BONUS:COMBAT|TOHIT.GRAPPLE|16|TYPE=Size -G.MOD BONUS:ITEMCAPACITY|TYPE=Goods|1 -G.MOD BONUS:SKILL|Hide|-12|TYPE=SIZE -G.MOD BONUS:LOADMULT|TYPE=SIZE|4|PRELEGSGTEQ:4 -G.MOD BONUS:COMBAT|AC|2|PREBASESIZELTEQ:Medium|TYPE=NaturalArmor.STACK BONUS:COMBAT|AC|3|PREBASESIZELTEQ:Large|TYPE=NaturalArmor.STACK BONUS:COMBAT|AC|4|PREBASESIZELTEQ:Huge|TYPE=NaturalArmor.STACK -G.MOD BONUS:STAT|STR|2|PREBASESIZELT:Tiny BONUS:STAT|STR|4|PREBASESIZELT:Small BONUS:STAT|STR|4|PREBASESIZELT:Medium BONUS:STAT|STR|8|PREBASESIZELT:Large BONUS:STAT|STR|8|PREBASESIZELT:Huge BONUS:STAT|STR|8|PREBASESIZELT:Gargantuan -G.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine BONUS:STAT|DEX|-2|PREBASESIZELT:Tiny BONUS:STAT|DEX|-2|PREBASESIZELT:Small BONUS:STAT|DEX|-2|PREBASESIZELT:Medium BONUS:STAT|DEX|-2|PREBASESIZELT:Large BONUS:STAT|DEX|-2|PREBASESIZELT:Huge -G.MOD BONUS:STAT|CON|2|PREBASESIZELT:Medium BONUS:STAT|CON|4|PREBASESIZELT:Large BONUS:STAT|CON|4|PREBASESIZELT:Huge BONUS:STAT|CON|4|PREBASESIZELT:Gargantuan +G.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|8 BONUS:ITEMWEIGHT|TYPE=Goods|1 +G.MOD BONUS:COMBAT|AC|-4|TYPE=Size BONUS:COMBAT|TOHIT|-4|TYPE=SIZE BONUS:COMBAT|TOHIT.GRAPPLE|16|TYPE=Size +G.MOD BONUS:ITEMCAPACITY|TYPE=Goods|1 +G.MOD BONUS:SKILL|Hide|-12|TYPE=SIZE +G.MOD BONUS:LOADMULT|TYPE=SIZE|4|PRELEGSGTEQ:4 +G.MOD BONUS:COMBAT|AC|2|PREBASESIZELTEQ:Medium|TYPE=NaturalArmor.STACK BONUS:COMBAT|AC|3|PREBASESIZELTEQ:Large|TYPE=NaturalArmor.STACK BONUS:COMBAT|AC|4|PREBASESIZELTEQ:Huge|TYPE=NaturalArmor.STACK +G.MOD BONUS:STAT|STR|2|PREBASESIZELT:Tiny BONUS:STAT|STR|4|PREBASESIZELT:Small BONUS:STAT|STR|4|PREBASESIZELT:Medium BONUS:STAT|STR|8|PREBASESIZELT:Large BONUS:STAT|STR|8|PREBASESIZELT:Huge BONUS:STAT|STR|8|PREBASESIZELT:Gargantuan +G.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine BONUS:STAT|DEX|-2|PREBASESIZELT:Tiny BONUS:STAT|DEX|-2|PREBASESIZELT:Small BONUS:STAT|DEX|-2|PREBASESIZELT:Medium BONUS:STAT|DEX|-2|PREBASESIZELT:Large BONUS:STAT|DEX|-2|PREBASESIZELT:Huge +G.MOD BONUS:STAT|CON|2|PREBASESIZELT:Medium BONUS:STAT|CON|4|PREBASESIZELT:Large BONUS:STAT|CON|4|PREBASESIZELT:Huge BONUS:STAT|CON|4|PREBASESIZELT:Gargantuan # Colossal ABB:C DISPLAYNAME:Colossal BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|16 C.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|12 BONUS:ITEMWEIGHT|TYPE=Goods|1 diff --git a/data/deadlands/pinnacle_entertainment/deadlands/deadlands_d20/deadlands__sizes.lst b/data/deadlands/pinnacle_entertainment/deadlands/deadlands_d20/deadlands__sizes.lst index a4428130704..3b90b572d90 100644 --- a/data/deadlands/pinnacle_entertainment/deadlands/deadlands_d20/deadlands__sizes.lst +++ b/data/deadlands/pinnacle_entertainment/deadlands/deadlands_d20/deadlands__sizes.lst @@ -8,12 +8,12 @@ F.MOD BONUS:SKILL|Hide|16|TYPE=SIZE F.MOD BONUS:LOADMULT|TYPE=SIZE|0.125|PRELEGSGTEQ:4 # Diminutive ABB:D DISPLAYNAME:Diminutive BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.5 -D.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.1 BONUS:ITEMWEIGHT|TYPE=Goods|0.25 -D.MOD BONUS:COMBAT|AC|4|TYPE=Size BONUS:COMBAT|TOHIT|4|TYPE=SIZE BONUS:COMBAT|TOHIT.GRAPPLE|-16|TYPE=Size -D.MOD BONUS:ITEMCAPACITY|TYPE=Goods|0.25 -D.MOD BONUS:SKILL|Hide|12|TYPE=SIZE -D.MOD BONUS:LOADMULT|TYPE=SIZE|0.25|PRELEGSGTEQ:4 -D.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine +D.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.1 BONUS:ITEMWEIGHT|TYPE=Goods|0.25 +D.MOD BONUS:COMBAT|AC|4|TYPE=Size BONUS:COMBAT|TOHIT|4|TYPE=SIZE BONUS:COMBAT|TOHIT.GRAPPLE|-16|TYPE=Size +D.MOD BONUS:ITEMCAPACITY|TYPE=Goods|0.25 +D.MOD BONUS:SKILL|Hide|12|TYPE=SIZE +D.MOD BONUS:LOADMULT|TYPE=SIZE|0.25|PRELEGSGTEQ:4 +D.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine # Tiny ABB:T DISPLAYNAME:Tiny BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.5 T.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.1 BONUS:ITEMWEIGHT|TYPE=Goods|0.25 @@ -33,7 +33,7 @@ S.MOD BONUS:LOADMULT|TYPE=SIZE|0.25|PRELEGSGTEQ:4 S.MOD BONUS:STAT|STR|2|PREBASESIZELT:Tiny BONUS:STAT|STR|4|PREBASESIZELT:Small S.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine BONUS:STAT|DEX|-2|PREBASESIZELT:Tiny BONUS:STAT|DEX|-2|PREBASESIZELT:Small # -Medium ABB:M DISPLAYNAME:Medium BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|1 +Medium ABB:M DISPLAYNAME:Medium BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|1 M.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|1 BONUS:ITEMWEIGHT|TYPE=Goods|1 M.MOD BONUS:ITEMCAPACITY|TYPE=Goods|1 ISDEFAULTSIZE:Y M.MOD BONUS:LOADMULT|TYPE=SIZE|0.5|PRELEGSGTEQ:4 @@ -64,15 +64,15 @@ H.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine BONUS:STAT|DEX|-2|PREBASESIZELT:Tiny H.MOD BONUS:STAT|CON|2|PREBASESIZELT:Medium BONUS:STAT|CON|4|PREBASESIZELT:Large BONUS:STAT|CON|4|PREBASESIZELT:Huge # Gargantuan ABB:G DISPLAYNAME:Gargantuan BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|8 -G.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|8 BONUS:ITEMWEIGHT|TYPE=Goods|1 -G.MOD BONUS:COMBAT|AC|-4|TYPE=Size BONUS:COMBAT|TOHIT|-4|TYPE=SIZE BONUS:COMBAT|TOHIT.GRAPPLE|16|TYPE=Size -G.MOD BONUS:ITEMCAPACITY|TYPE=Goods|1 -G.MOD BONUS:SKILL|Hide|-12|TYPE=SIZE -G.MOD BONUS:LOADMULT|TYPE=SIZE|4|PRELEGSGTEQ:4 -G.MOD BONUS:COMBAT|AC|2|PREBASESIZELTEQ:Medium|TYPE=NaturalArmor.STACK BONUS:COMBAT|AC|3|PREBASESIZELTEQ:Large|TYPE=NaturalArmor.STACK BONUS:COMBAT|AC|4|PREBASESIZELTEQ:Huge|TYPE=NaturalArmor.STACK -G.MOD BONUS:STAT|STR|2|PREBASESIZELT:Tiny BONUS:STAT|STR|4|PREBASESIZELT:Small BONUS:STAT|STR|4|PREBASESIZELT:Medium BONUS:STAT|STR|8|PREBASESIZELT:Large BONUS:STAT|STR|8|PREBASESIZELT:Huge BONUS:STAT|STR|8|PREBASESIZELT:Gargantuan -G.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine BONUS:STAT|DEX|-2|PREBASESIZELT:Tiny BONUS:STAT|DEX|-2|PREBASESIZELT:Small BONUS:STAT|DEX|-2|PREBASESIZELT:Medium BONUS:STAT|DEX|-2|PREBASESIZELT:Large BONUS:STAT|DEX|-2|PREBASESIZELT:Huge -G.MOD BONUS:STAT|CON|2|PREBASESIZELT:Medium BONUS:STAT|CON|4|PREBASESIZELT:Large BONUS:STAT|CON|4|PREBASESIZELT:Huge BONUS:STAT|CON|4|PREBASESIZELT:Gargantuan +G.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|8 BONUS:ITEMWEIGHT|TYPE=Goods|1 +G.MOD BONUS:COMBAT|AC|-4|TYPE=Size BONUS:COMBAT|TOHIT|-4|TYPE=SIZE BONUS:COMBAT|TOHIT.GRAPPLE|16|TYPE=Size +G.MOD BONUS:ITEMCAPACITY|TYPE=Goods|1 +G.MOD BONUS:SKILL|Hide|-12|TYPE=SIZE +G.MOD BONUS:LOADMULT|TYPE=SIZE|4|PRELEGSGTEQ:4 +G.MOD BONUS:COMBAT|AC|2|PREBASESIZELTEQ:Medium|TYPE=NaturalArmor.STACK BONUS:COMBAT|AC|3|PREBASESIZELTEQ:Large|TYPE=NaturalArmor.STACK BONUS:COMBAT|AC|4|PREBASESIZELTEQ:Huge|TYPE=NaturalArmor.STACK +G.MOD BONUS:STAT|STR|2|PREBASESIZELT:Tiny BONUS:STAT|STR|4|PREBASESIZELT:Small BONUS:STAT|STR|4|PREBASESIZELT:Medium BONUS:STAT|STR|8|PREBASESIZELT:Large BONUS:STAT|STR|8|PREBASESIZELT:Huge BONUS:STAT|STR|8|PREBASESIZELT:Gargantuan +G.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine BONUS:STAT|DEX|-2|PREBASESIZELT:Tiny BONUS:STAT|DEX|-2|PREBASESIZELT:Small BONUS:STAT|DEX|-2|PREBASESIZELT:Medium BONUS:STAT|DEX|-2|PREBASESIZELT:Large BONUS:STAT|DEX|-2|PREBASESIZELT:Huge +G.MOD BONUS:STAT|CON|2|PREBASESIZELT:Medium BONUS:STAT|CON|4|PREBASESIZELT:Large BONUS:STAT|CON|4|PREBASESIZELT:Huge BONUS:STAT|CON|4|PREBASESIZELT:Gargantuan # Colossal ABB:C DISPLAYNAME:Colossal BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|16 C.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|12 BONUS:ITEMWEIGHT|TYPE=Goods|1 diff --git a/data/fantasy_craft/crafty_games/core_rulebook_demo/fc__sizes.lst b/data/fantasy_craft/crafty_games/core_rulebook_demo/fc__sizes.lst index 86039d22873..99bfe24eb87 100644 --- a/data/fantasy_craft/crafty_games/core_rulebook_demo/fc__sizes.lst +++ b/data/fantasy_craft/crafty_games/core_rulebook_demo/fc__sizes.lst @@ -168,13 +168,13 @@ F.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.1 B F.MOD BONUS:ITEMCAPACITY|TYPE=Goods|0.25 F.MOD BONUS:LOADMULT|TYPE=SIZE|0.125|PRELEGSGTEQ:4 BONUS:VAR|LoadScoreSizeMod|-8 # -D.MOD BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.5 -D.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.1 BONUS:ITEMWEIGHT|TYPE=Goods|0.25 +D.MOD BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.5 +D.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.1 BONUS:ITEMWEIGHT|TYPE=Goods|0.25 #D.MOD BONUS:COMBAT|AC|4|TYPE=Size BONUS:COMBAT|TOHIT|4|TYPE=SIZE BONUS:COMBAT|TOHIT.GRAPPLE|-16|TYPE=Size -D.MOD BONUS:ITEMCAPACITY|TYPE=Goods|0.25 +D.MOD BONUS:ITEMCAPACITY|TYPE=Goods|0.25 #D.MOD BONUS:SKILL|Hide|12|TYPE=SIZE BONUS:SKILL|Stealth (Hide)|12|TYPE=SIZE -D.MOD BONUS:LOADMULT|TYPE=SIZE|0.25|PRELEGSGTEQ:4 BONUS:VAR|LoadScoreSizeMod|-6 -D.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine +D.MOD BONUS:LOADMULT|TYPE=SIZE|0.25|PRELEGSGTEQ:4 BONUS:VAR|LoadScoreSizeMod|-6 +D.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine # T.MOD BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|0.5 @@ -226,16 +226,16 @@ H.MOD BONUS:STAT|STR|2|PREBASESIZELT:Tiny BONUS:STAT|STR|4|PREBASESIZELT:Small H.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine BONUS:STAT|DEX|-2|PREBASESIZELT:Tiny BONUS:STAT|DEX|-2|PREBASESIZELT:Small BONUS:STAT|DEX|-2|PREBASESIZELT:Medium BONUS:STAT|DEX|-2|PREBASESIZELT:Large BONUS:STAT|DEX|-2|PREBASESIZELT:Huge H.MOD BONUS:STAT|CON|2|PREBASESIZELT:Medium BONUS:STAT|CON|4|PREBASESIZELT:Large BONUS:STAT|CON|4|PREBASESIZELT:Huge # -G.MOD BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|8 -G.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|8 BONUS:ITEMWEIGHT|TYPE=Goods|1 -G.MOD BONUS:COMBAT|AC|-4|TYPE=Size BONUS:COMBAT|TOHIT|-4|TYPE=SIZE BONUS:COMBAT|TOHIT.GRAPPLE|16|TYPE=Size -G.MOD BONUS:ITEMCAPACITY|TYPE=Goods|1 -#G.MODargantuan BONUS:SKILL|Hide|-12|TYPE=SIZE BONUS:SKILL|Stealth (Hide)|-12|TYPE=SIZE -G.MOD BONUS:LOADMULT|TYPE=SIZE|4|PRELEGSGTEQ:4 BONUS:VAR|LoadScoreSizeMod|15 -G.MOD BONUS:COMBAT|AC|2|PREBASESIZELTEQ:Medium|TYPE=NaturalArmor.STACK BONUS:COMBAT|AC|3|PREBASESIZELTEQ:Large|TYPE=NaturalArmor.STACK BONUS:COMBAT|AC|4|PREBASESIZELTEQ:Huge|TYPE=NaturalArmor.STACK -G.MOD BONUS:STAT|STR|2|PREBASESIZELT:Tiny BONUS:STAT|STR|4|PREBASESIZELT:Small BONUS:STAT|STR|4|PREBASESIZELT:Medium BONUS:STAT|STR|8|PREBASESIZELT:Large BONUS:STAT|STR|8|PREBASESIZELT:Huge BONUS:STAT|STR|8|PREBASESIZELT:Gargantuan -G.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine BONUS:STAT|DEX|-2|PREBASESIZELT:Tiny BONUS:STAT|DEX|-2|PREBASESIZELT:Small BONUS:STAT|DEX|-2|PREBASESIZELT:Medium BONUS:STAT|DEX|-2|PREBASESIZELT:Large BONUS:STAT|DEX|-2|PREBASESIZELT:Huge -G.MOD BONUS:STAT|CON|2|PREBASESIZELT:Medium BONUS:STAT|CON|4|PREBASESIZELT:Large BONUS:STAT|CON|4|PREBASESIZELT:Huge BONUS:STAT|CON|4|PREBASESIZELT:Gargantuan +G.MOD BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|8 +G.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|8 BONUS:ITEMWEIGHT|TYPE=Goods|1 +G.MOD BONUS:COMBAT|AC|-4|TYPE=Size BONUS:COMBAT|TOHIT|-4|TYPE=SIZE BONUS:COMBAT|TOHIT.GRAPPLE|16|TYPE=Size +G.MOD BONUS:ITEMCAPACITY|TYPE=Goods|1 +#G.MOD BONUS:SKILL|Hide|-12|TYPE=SIZE BONUS:SKILL|Stealth (Hide)|-12|TYPE=SIZE +G.MOD BONUS:LOADMULT|TYPE=SIZE|4|PRELEGSGTEQ:4 BONUS:VAR|LoadScoreSizeMod|15 +G.MOD BONUS:COMBAT|AC|2|PREBASESIZELTEQ:Medium|TYPE=NaturalArmor.STACK BONUS:COMBAT|AC|3|PREBASESIZELTEQ:Large|TYPE=NaturalArmor.STACK BONUS:COMBAT|AC|4|PREBASESIZELTEQ:Huge|TYPE=NaturalArmor.STACK +G.MOD BONUS:STAT|STR|2|PREBASESIZELT:Tiny BONUS:STAT|STR|4|PREBASESIZELT:Small BONUS:STAT|STR|4|PREBASESIZELT:Medium BONUS:STAT|STR|8|PREBASESIZELT:Large BONUS:STAT|STR|8|PREBASESIZELT:Huge BONUS:STAT|STR|8|PREBASESIZELT:Gargantuan +G.MOD BONUS:STAT|DEX|-2|PREBASESIZEEQ:Fine BONUS:STAT|DEX|-2|PREBASESIZELT:Tiny BONUS:STAT|DEX|-2|PREBASESIZELT:Small BONUS:STAT|DEX|-2|PREBASESIZELT:Medium BONUS:STAT|DEX|-2|PREBASESIZELT:Large BONUS:STAT|DEX|-2|PREBASESIZELT:Huge +G.MOD BONUS:STAT|CON|2|PREBASESIZELT:Medium BONUS:STAT|CON|4|PREBASESIZELT:Large BONUS:STAT|CON|4|PREBASESIZELT:Huge BONUS:STAT|CON|4|PREBASESIZELT:Gargantuan # C.MOD BONUS:ITEMCOST|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|16 C.MOD BONUS:ITEMWEIGHT|TYPE=Ammunition,TYPE=Armor,TYPE=Shield,TYPE=Weapon|12 BONUS:ITEMWEIGHT|TYPE=Goods|1 From e461268b405f7f1d24270b199a54c6ff927c12e3 Mon Sep 17 00:00:00 2001 From: LegacyKing Date: Sun, 9 Jul 2023 02:18:14 -0700 Subject: [PATCH 020/219] Fix Orphaned File error --- .../paizo/roleplaying_game/ultimate_combat/_ultimate_combat.pcc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/pathfinder/paizo/roleplaying_game/ultimate_combat/_ultimate_combat.pcc b/data/pathfinder/paizo/roleplaying_game/ultimate_combat/_ultimate_combat.pcc index 0998d518b37..3484d2135bf 100644 --- a/data/pathfinder/paizo/roleplaying_game/ultimate_combat/_ultimate_combat.pcc +++ b/data/pathfinder/paizo/roleplaying_game/ultimate_combat/_ultimate_combat.pcc @@ -84,7 +84,7 @@ ABILITY:support/uc_abilities_class_uw.lst|PRECAMPAIGN:1,INCLUDES=Ultimate Wilder ABILITY:support/uc_abilities_class_wmh.lst|PRECAMPAIGN:1,INCLUDES=Weapon Master's Handbook # TODO: If Pathfinder Player Companion: Blood of the Ancients is created, enable this. -#ABILITY:support/uc_abilities_class_bota.lst|PRECAMPAIGN:1,INCLUDES=Blood of the Ancients +ABILITY:support/uc_abilities_class_bota.lst|PRECAMPAIGN:1,INCLUDES=Blood of the Ancients #MOVE TO CORE ESSENTIALS COMPANIONMOD:uc_companionmods.lst From db4aab948d2e50806301b3bce80f0df599697a5d Mon Sep 17 00:00:00 2001 From: LegacyKing Date: Sun, 9 Jul 2023 14:26:47 -0700 Subject: [PATCH 021/219] Create stub for Blood of the Ancient - removes an orphan issue and can't find campaign via PRECAMPAIGN issue --- .../_blood_of_the_ancients.pcc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 data/pathfinder/paizo/player_companion/blood_of_the_ancients/_blood_of_the_ancients.pcc diff --git a/data/pathfinder/paizo/player_companion/blood_of_the_ancients/_blood_of_the_ancients.pcc b/data/pathfinder/paizo/player_companion/blood_of_the_ancients/_blood_of_the_ancients.pcc new file mode 100644 index 00000000000..bd1398cb565 --- /dev/null +++ b/data/pathfinder/paizo/player_companion/blood_of_the_ancients/_blood_of_the_ancients.pcc @@ -0,0 +1,18 @@ +CAMPAIGN:Blood of the Ancients +KEY:Blood of the Ancients +#GAMEMODE:Pathfinder +TYPE:Pathfinder RPG +STATUS:ALPHA +GENRE:Fantasy +BOOKTYPE:Supplement +SETTING:Pathfinder + +PUBNAMELONG:Paizo Inc. +PUBNAMESHORT:Paizo +PUBNAMEWEB:http://paizo.com +SOURCELONG:Blood of the Ancients +SOURCESHORT:BotA +#SOURCEWEB:http://paizo.com/store/downloads/pathfinder/pathfinderRPG/v5748btpy88yj +SOURCEDATE:2009-08 +RANK:200908 +ISOGL:YES From 25992c449f25c0bda1a127eae6546d0172c511b4 Mon Sep 17 00:00:00 2001 From: pokemonpasta Date: Sun, 9 Jul 2023 12:28:44 +0100 Subject: [PATCH 022/219] DATA-4325 Typo in Inner Sea Races --- .../paizo/campaign_setting/inner_sea_races/isr_feats.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/pathfinder/paizo/campaign_setting/inner_sea_races/isr_feats.lst b/data/pathfinder/paizo/campaign_setting/inner_sea_races/isr_feats.lst index e1c4b4f5bcd..7e622042398 100644 --- a/data/pathfinder/paizo/campaign_setting/inner_sea_races/isr_feats.lst +++ b/data/pathfinder/paizo/campaign_setting/inner_sea_races/isr_feats.lst @@ -54,7 +54,7 @@ Scion of the Lost Empire CATEGORY:FEAT TYPE:Teamwork PREABILITY:1,CATEG Seeping Darkness CATEGORY:FEAT TYPE:Teamwork PREABILITY:1,CATEGORY=Special Ability,Drow ~ Spell-Like Abilities PRERACE:1,Drow PRETEXT:Drow, darkness racial spell-like ability. DESC:Your innate magical darkness seeps through your skin and strengthens when you're near another creature whose soul is as wicked as yours. SOURCEPAGE:p.209 BENEFIT:Whenever you're adjacent to a drow ally who also has this feat, you can spend a move action to gain concealment (20%% miss chance) for 1 round. Shared Ownership CATEGORY:FEAT TYPE:Teamwork PREABILITY:1,CATEGORY=FEAT,Well-Prepared PRERACE:1,Halfling% PRESKILL:1,Slight of Hand=1 PRETEXT:Well-Prepared, Sleight of Hand 1 rank, halfling. DESC:The concept of ownership is rather flexible among you and your friends. SOURCEPAGE:p.209 BENEFIT:Whenever you're within 30 feet of a halfling ally who also has this feat, as a move action you can draw an item in that ally's possession as if it were on your person. This is not a magical effect-you just conveniently happen to remember that you had borrowed that item earlier. The item must be something that easily fits in a pocket or sleeve, such as a dagger, potion, wand, or scroll. When you or an ally draw an item (whether or not you do so using Shared Ownership) or otherwise definitively establish who is holding the item, you can't use Shared Ownership to draw the item in this manner until you have had at least 1 hour to mingle with your companions. Shared Remembrance CATEGORY:FEAT TYPE:Teamwork PRERACE:1,Elf% PRESKILL:1,TYPE.Knowledge=1 PRETEXT:Knowledge (any) 1 rank, elf. DESC:You can combine fragments of monster myths into a coherent story. SOURCEPAGE:p.209 BENEFIT:Whenever you make a Knowledge check to identify a monster, you gain a cumulative +2 circumstance bonus on the check for each ally within 30 feet who also has this feat and has ranks in the Knowledge skill required to identify that monster (maximum +10 bonus). -Shrouded in Mystery CATEGORY:FEAT TYPE:General PRERACE:1,Kitsune,Nagaji,Samsaran,Tengu,Wayang PRESKILL:2,Bluff=1,Disgise=1 PRETEXT:Bluff 1 rank; Disguise 1 rank; kitsune, nagaji, samsaran, tengu, or wayang. DESC:Common folk have many superstitious rumors about your kind-tall tales born out of ignorance and fear alike. Whether or not what they say about your race is true is irrelevant, as you use their beliefs to take advantage of them whenever you can. SOURCEPAGE:p.209 BENEFIT:You gain a +2 insight bonus on Will saves against mind-affecting spells and effects and a +3 insight bonus on Bluff checks. Both benefits apply only against humanoid creatures of races other than your own. +Shrouded in Mystery CATEGORY:FEAT TYPE:General PRERACE:1,Kitsune,Nagaji,Samsaran,Tengu,Wayang PRESKILL:2,Bluff=1,Disguise=1 PRETEXT:Bluff 1 rank; Disguise 1 rank; kitsune, nagaji, samsaran, tengu, or wayang. DESC:Common folk have many superstitious rumors about your kind-tall tales born out of ignorance and fear alike. Whether or not what they say about your race is true is irrelevant, as you use their beliefs to take advantage of them whenever you can. SOURCEPAGE:p.209 BENEFIT:You gain a +2 insight bonus on Will saves against mind-affecting spells and effects and a +3 insight bonus on Bluff checks. Both benefits apply only against humanoid creatures of races other than your own. Suppressive Fire CATEGORY:FEAT TYPE:Combat.Teamwork PREABILITY:1,CATEGORY=Special Ability,TYPE.KeenSenses PREABILITY:3,CATEGORY=FEAT,Far Shot,Point-Blank Shot,Precise Shot PRETEXT:Far Shot, Point-Blank Shot, Precise Shot, keen senses racial trait. DESC:Your well-timed ranged attacks protect your allies as they advance on the battlefield. SOURCEPAGE:p.209 BENEFIT:Whenever you damage a target using a ranged attack, that target can't make attacks of opportunity for 1 round against your allies who also have this feat when they move out of one of the target's threatened squares. Triangulate CATEGORY:FEAT TYPE:Teamwork PREABILITY:3,CATEGORY=FEAT,Blind-Fight,Greater Blind-Fight,Improved Blind-Fight PREABILITY:1,CATEGORY=Background,Kellid PRESKILL:1,Perception=15 PRETEXT:Blind-Fight, Greater Blind-Fight, Improved Blind-Fight, Perception 15 ranks, human (Kellid). DESC:Your distrust of magic has forced you to develop tactics to fight witches, fey, and other supernatural foes. No matter how clever they think they are, they can't hide. SOURCEPAGE:p.209 BENEFIT:Whenever both you and an ally who also has this feat are within 30 feet of an invisible foe of whose presence you're aware, you automatically pinpoint the foe's location. Whenever both you and an ally who has this feat are within 30 feet of a creature and you miss that creature because of its concealment, you can reroll your miss chance percentile roll. True Breed CATEGORY:FEAT TYPE:General PREMULT:1,[PRERACE:1,Half-Orc%,Half-Elf%],[PRERACE:2,RACESUBTYPE=%] PRETEXT:Two subtypes, elf blood or orc blood racial trait. DESC:Your dual heritage makes you something more than merely a mix of your parent races. SOURCEPAGE:p.209 BENEFIT:For the purposes of any effect related to subtype (such as a ranger's favored enemy and bane weapons), you count as neither of your subtypes, and you no longer count as either of your parent races for the purposes of effects related to race. From 0e1b7890ec1fd1f77a2e6bf19e8fdb5a9907ae8e Mon Sep 17 00:00:00 2001 From: Vest Date: Mon, 10 Jul 2023 22:34:04 +0200 Subject: [PATCH 023/219] Fixed a bug, when the OutputPanel couldn't show the file chooser dialog, because the underlying code works in Swing threads only. Now the entire content of the panel is running in JavaFX thread. (#6896) Removed few empty lines. --- .../java/pcgen/gui2/prefs/OutputPanel.java | 47 +++++++------------ 1 file changed, 18 insertions(+), 29 deletions(-) diff --git a/code/src/java/pcgen/gui2/prefs/OutputPanel.java b/code/src/java/pcgen/gui2/prefs/OutputPanel.java index a0a14f9846e..a5649cb1194 100644 --- a/code/src/java/pcgen/gui2/prefs/OutputPanel.java +++ b/code/src/java/pcgen/gui2/prefs/OutputPanel.java @@ -45,6 +45,7 @@ import javafx.scene.control.TextField; import javafx.scene.layout.GridPane; import javafx.stage.FileChooser; +import javax.swing.SwingUtilities; import org.apache.commons.lang3.BooleanUtils; /** @@ -288,16 +289,15 @@ private void onOutputSheetHTMLDefaultButton(final ActionEvent actionEvent) fileChooser.setTitle(LanguageBundle.getString("in_Prefs_outputSheetHTMLDefaultTitle")); fileChooser.setInitialDirectory(new File(SettingsHandler.getHTMLOutputSheetPath())); fileChooser.setInitialFileName(SettingsHandler.getSelectedCharacterHTMLOutputSheet(null)); - File newTemplate = GuiUtility.runOnJavaFXThreadNow(() -> fileChooser.showOpenDialog(null)); + File newTemplate = fileChooser.showOpenDialog(null); if (newTemplate != null) { if ((!newTemplate.getName().startsWith("csheet") && !newTemplate.getName().startsWith("psheet"))) { - ShowMessageDelegate.showMessageDialog( - LanguageBundle.getString("in_Prefs_outputSheetDefaultError"), //$NON-NLS-1$ - Constants.APPLICATION_NAME, MessageType.ERROR - ); + SwingUtilities.invokeLater(() -> ShowMessageDelegate.showMessageDialog( + LanguageBundle.getString("in_Prefs_outputSheetDefaultError"), //$NON-NLS-1$ + Constants.APPLICATION_NAME, MessageType.ERROR)); } else { @@ -310,11 +310,9 @@ private void onOutputSheetHTMLDefaultButton(final ActionEvent actionEvent) //it must be a psheet SettingsHandler.setSelectedPartyHTMLOutputSheet(newTemplate.getAbsolutePath()); } + outputSheetHTMLDefault.setText(String.valueOf(SettingsHandler.getSelectedCharacterHTMLOutputSheet(null))); } } - - outputSheetHTMLDefault - .setText(String.valueOf(SettingsHandler.getSelectedCharacterHTMLOutputSheet(null))); } private void onOutputSheetPDFDefaultButton(final ActionEvent actionEvent) @@ -323,16 +321,15 @@ private void onOutputSheetPDFDefaultButton(final ActionEvent actionEvent) fileChooser.setTitle(LanguageBundle.getString("in_Prefs_outputSheetPDFDefaultTitle")); fileChooser.setInitialDirectory(new File(SettingsHandler.getPDFOutputSheetPath())); fileChooser.setInitialFileName(SettingsHandler.getSelectedCharacterPDFOutputSheet(null)); - File newTemplate = GuiUtility.runOnJavaFXThreadNow(() -> fileChooser.showOpenDialog(null)); + File newTemplate = fileChooser.showOpenDialog(null); if (newTemplate != null) { if (!newTemplate.getName().startsWith("csheet") && !newTemplate.getName().startsWith("psheet")) { - ShowMessageDelegate.showMessageDialog( + SwingUtilities.invokeLater(() -> ShowMessageDelegate.showMessageDialog( LanguageBundle.getString("in_Prefs_outputSheetDefaultError"), //$NON-NLS-1$ - Constants.APPLICATION_NAME, MessageType.ERROR - ); + Constants.APPLICATION_NAME, MessageType.ERROR)); } else { @@ -345,10 +342,9 @@ private void onOutputSheetPDFDefaultButton(final ActionEvent actionEvent) //it must be a psheet SettingsHandler.setSelectedPartyPDFOutputSheet(newTemplate.getAbsolutePath()); } + outputSheetPDFDefault.setText(String.valueOf(SettingsHandler.getSelectedCharacterPDFOutputSheet(null))); } } - - outputSheetPDFDefault.setText(String.valueOf(SettingsHandler.getSelectedCharacterPDFOutputSheet(null))); } private void onOutputSheetEqSetButton(final ActionEvent actionEvent) @@ -357,24 +353,22 @@ private void onOutputSheetEqSetButton(final ActionEvent actionEvent) fileChooser.setTitle(LanguageBundle.getString("in_Prefs_templateEqSetTitle")); fileChooser.setInitialDirectory(new File(ConfigurationSettings.getOutputSheetsDir())); fileChooser.setInitialFileName(SettingsHandler.getSelectedEqSetTemplate()); - File newTemplate = GuiUtility.runOnJavaFXThreadNow(() -> fileChooser.showOpenDialog(null)); + File newTemplate = fileChooser.showOpenDialog(null); if (newTemplate != null) { if (newTemplate.getName().startsWith("eqsheet")) { SettingsHandler.setSelectedEqSetTemplate(newTemplate.getAbsolutePath()); + outputSheetEqSet.setText(String.valueOf(SettingsHandler.getSelectedEqSetTemplate())); } else { - ShowMessageDelegate.showMessageDialog( + SwingUtilities.invokeLater(() -> ShowMessageDelegate.showMessageDialog( LanguageBundle.getString("in_Prefs_templateEqSetError"), //$NON-NLS-1$ - Constants.APPLICATION_NAME, MessageType.ERROR - ); + Constants.APPLICATION_NAME, MessageType.ERROR)); } } - - outputSheetEqSet.setText(String.valueOf(SettingsHandler.getSelectedEqSetTemplate())); } private void onOutputSheetSpellsDefaultButton(final ActionEvent actionEvent) @@ -383,7 +377,7 @@ private void onOutputSheetSpellsDefaultButton(final ActionEvent actionEvent) fileChooser.setTitle(LanguageBundle.getString("in_Prefs_outputSpellSheetDefault")); fileChooser.setInitialDirectory(new File(ConfigurationSettings.getOutputSheetsDir())); fileChooser.setInitialFileName(PCGenSettings.getSelectedSpellSheet()); - File newTemplate = GuiUtility.runOnJavaFXThreadNow(() -> fileChooser.showOpenDialog(null)); + File newTemplate = fileChooser.showOpenDialog(null); if (newTemplate != null) { @@ -393,17 +387,15 @@ private void onOutputSheetSpellsDefaultButton(final ActionEvent actionEvent) PCGenSettings.SELECTED_SPELL_SHEET_PATH, newTemplate.getAbsolutePath() ); + outputSheetSpellsDefault.setText(PCGenSettings.getSelectedSpellSheet()); } else { - ShowMessageDelegate.showMessageDialog( + SwingUtilities.invokeLater(() -> ShowMessageDelegate.showMessageDialog( LanguageBundle.getString("in_Prefs_outputSheetDefaultError"), //$NON-NLS-1$ - Constants.APPLICATION_NAME, MessageType.ERROR - ); + Constants.APPLICATION_NAME, MessageType.ERROR)); } } - - outputSheetSpellsDefault.setText(PCGenSettings.getSelectedSpellSheet()); } private enum ExportChoices @@ -436,7 +428,6 @@ public String toString() public String getValue() { - return switch (this) { case ASK -> ""; @@ -462,7 +453,5 @@ else if (choice) return ExportChoices.NEVER_OPEN; } } - } - } From b9ac98f66ec190d017661dccdeb30d937994f129 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 15 Jul 2023 12:51:04 +1200 Subject: [PATCH 024/219] Bump org.springframework:spring-beans from 6.0.10 to 6.0.11 (#6899) Bumps [org.springframework:spring-beans](https://github.com/spring-projects/spring-framework) from 6.0.10 to 6.0.11. - [Release notes](https://github.com/spring-projects/spring-framework/releases) - [Commits](https://github.com/spring-projects/spring-framework/compare/v6.0.10...v6.0.11) --- updated-dependencies: - dependency-name: org.springframework:spring-beans dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 1abc5866bd0..acc808edee1 100644 --- a/build.gradle +++ b/build.gradle @@ -230,7 +230,7 @@ dependencies { implementation group: 'commons-io', name: 'commons-io', version:'2.13.0' implementation group: 'org.springframework', name: 'spring-web', version:'6.0.10' - implementation group: 'org.springframework', name: 'spring-beans', version:'6.0.10' + implementation group: 'org.springframework', name: 'spring-beans', version:'6.0.11' implementation group: 'org.springframework', name: 'spring-core', version:'6.0.10' implementation group: 'org.apache.commons', name: 'commons-lang3', version:'3.12.0' implementation('org.apache.xmlgraphics:fop:2.8') From 9705faef580ecfcf845ef6d590f6c4044d9373c5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jul 2023 10:39:09 +1200 Subject: [PATCH 025/219] Bump org.springframework:spring-web from 6.0.10 to 6.0.11 (#6898) Bumps [org.springframework:spring-web](https://github.com/spring-projects/spring-framework) from 6.0.10 to 6.0.11. - [Release notes](https://github.com/spring-projects/spring-framework/releases) - [Commits](https://github.com/spring-projects/spring-framework/compare/v6.0.10...v6.0.11) --- updated-dependencies: - dependency-name: org.springframework:spring-web dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index acc808edee1..ea1bc688d89 100644 --- a/build.gradle +++ b/build.gradle @@ -229,7 +229,7 @@ dependencies { implementation group: 'commons-io', name: 'commons-io', version:'2.13.0' - implementation group: 'org.springframework', name: 'spring-web', version:'6.0.10' + implementation group: 'org.springframework', name: 'spring-web', version:'6.0.11' implementation group: 'org.springframework', name: 'spring-beans', version:'6.0.11' implementation group: 'org.springframework', name: 'spring-core', version:'6.0.10' implementation group: 'org.apache.commons', name: 'commons-lang3', version:'3.12.0' From bb63a446cd70d2871f18491cfcabea3cdf9da39e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jul 2023 10:39:22 +1200 Subject: [PATCH 026/219] Bump org.springframework:spring-core from 6.0.10 to 6.0.11 (#6897) Bumps [org.springframework:spring-core](https://github.com/spring-projects/spring-framework) from 6.0.10 to 6.0.11. - [Release notes](https://github.com/spring-projects/spring-framework/releases) - [Commits](https://github.com/spring-projects/spring-framework/compare/v6.0.10...v6.0.11) --- updated-dependencies: - dependency-name: org.springframework:spring-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index ea1bc688d89..d473b898f11 100644 --- a/build.gradle +++ b/build.gradle @@ -231,7 +231,7 @@ dependencies { implementation group: 'org.springframework', name: 'spring-web', version:'6.0.11' implementation group: 'org.springframework', name: 'spring-beans', version:'6.0.11' - implementation group: 'org.springframework', name: 'spring-core', version:'6.0.10' + implementation group: 'org.springframework', name: 'spring-core', version:'6.0.11' implementation group: 'org.apache.commons', name: 'commons-lang3', version:'3.12.0' implementation('org.apache.xmlgraphics:fop:2.8') { From 6fd019428e082f3975df4df4361a0ee1a2ea4459 Mon Sep 17 00:00:00 2001 From: Martijn Verburg Date: Sun, 16 Jul 2023 10:42:01 +1200 Subject: [PATCH 027/219] gradle investigation --- build.gradle | 96 ++++++++++++++++--- code/gradle/distribution.gradle | 16 ++-- .../pcgen/lang/cleaned.properties | 2 +- .../pcgen/lang/unused.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 5 files changed, 95 insertions(+), 23 deletions(-) diff --git a/build.gradle b/build.gradle index 1abc5866bd0..1169d162a5b 100644 --- a/build.gradle +++ b/build.gradle @@ -11,6 +11,38 @@ * Run the character integration tests: gradle inttest */ +/** + * TODO Fix the entire build script in accordance with the following guidance + * + * Gradle follows a specific build lifecycle which includes the initialization, configuration, and execution phases. + * If your tasks are running during the configuration phase, it means they are not configured correctly. + * Gradle's build scripts are a form of DSL (domain-specific language) built on Groovy or Kotlin. When you define a task in a Gradle script, you are defining a configuration for that task. That configuration code should only set up what the task will do when it runs, but not actually execute any task actions. Execution should occur only in the execution phase. + * + * There's a common mistake that causes tasks to execute during the configuration phase. Take a look at the following code: + * + * task myTask { + * println 'Hello, World!' + * } + * + * In this code, the `println` statement will execute during the configuration phase, not during the execution phase. + * That's because it's not defined as part of a task action. To make it execute as part of the task, you would define it + * in a `doLast` or `doFirst` block: + * + * task myTask { + * doLast { + * println 'Hello, World!' + * } + * } + * + * Now, the `println` statement will only execute when the `myTask` task is executed, not during the configuration phase. + * + * In short, make sure your task action code is defined within a `doLast` or `doFirst` block + * + * Always remember that anything outside of a `doLast` or `doFirst` block in a task will execute during the configuration + * phase, not the execution phase. That's one of the main reasons Gradle tasks might appear to "run" during the + * configuration phase. + */ + // import Ant helper static values to differ system families import org.apache.tools.ant.filters.FixCrLfFilter import org.apache.tools.ant.taskdefs.condition.Os @@ -94,14 +126,11 @@ ext { releaseDir = "${buildDir}/release" } -/* - * The gradle plugin for netbeans sets the 'mainClass' property instead of - * 'mainClassName'. - * - * If other IDEs set different properties when trying to execute - * a given class feel free to add them here. - */ -mainClassName = project.hasProperty('mainClass') ? mainClass : 'pcgen.system.Main' +// Set main class for the Java application +application { + // mainClassName = project.hasProperty('mainClass') ? mainClass : 'pcgen.system.Main' + mainClass = project.hasProperty('mainClass') ? mainClass : 'pcgen.system.Main' +} /* * Which binary repositories this build uses. @@ -190,6 +219,7 @@ sourceSets { /* Copy 'master' outputsheets into different genre folders */ task copyMasterSheets(type: Copy) { + println("IN CopyMasterSheets") outputs.upToDateWhen { false } include 'eqsheet_fantasy_std.htm' @@ -210,6 +240,7 @@ task copyMasterSheets(type: Copy) { // TODO Possibly misnamed task compileJava { + println("IN compileJava") it.dependsOn 'copyMasterSheets' } @@ -287,6 +318,7 @@ ant.properties['build.classes.dir']="build/classes/java/main" // Configuration for creating JARs from all of the plugins configure('jar-all-plugins') { + println("IN configure jar-all-plugins") group = BasePlugin.BUILD_GROUP // Or use 'build' description = 'Create the plugin jars' } @@ -297,6 +329,9 @@ ext { } jar { + + println("IN jar") + // Pick up some configuration to JAR up the plugins it.dependsOn 'jar-all-plugins' @@ -318,6 +353,9 @@ jar { * Create a Java runtime built from Java modules */ runtime { + + println("IN runtime") + options = ['--compress', '2'] modules = [ 'jdk.httpserver', @@ -351,7 +389,7 @@ runtime { targetPlatform('mac-aarch64', "$projectDir/jre/mac/jre_aarch64/Contents/Home") // Use the jpackage tool that comes with Java to build native installers - jpackage{ + jpackage { installerOptions = ["--app-version", "${version.replaceAll('-SNAPSHOT', '')}", "--license-file", "${projectDir}/code/LICENSE"] // Get the host architecture @@ -386,6 +424,8 @@ runtime { // Package up other files with the main program tasks.jpackageImage.doLast { + + println("IN jpackageImage") copy { includeEmptyDirs = false from "${buildDir}/install/pcgen/" @@ -415,6 +455,7 @@ tasks.jpackageImage.doLast { // Create the Data Convertor JAR task converterJar(type: Jar, dependsOn: jar) { + println("IN converterJar") manifest { attributes 'Implementation-Title': 'PCGen Data Converter', 'Implementation-Version': archiveVersion, 'Main-Class': 'pcgen.gui2.converter.PCGenDataConvert', 'Class-Path': 'pcgen.jar' + classpath @@ -430,16 +471,19 @@ task converterJar(type: Jar, dependsOn: jar) { } artifacts { + println("IN artifacts") archives converterJar } task copyToLibs(type: Copy, dependsOn:[startScripts,distTar,distZip,installDist]) { + println("IN copyToLibs") mustRunAfter createExe into "$buildDir/libs" from configurations.runtimeClasspath } task copyToOutput(type: Copy, dependsOn: [createExe, copyToLibs, jar, converterJar]) { + println("IN copyToOutput") from "$buildDir/libs/pcgen-${version}.jar" from "$buildDir/libs/pcgen-${version}-batch-convert.jar" from "$buildDir/launch4j/pcgen.exe" @@ -454,6 +498,7 @@ task copyToOutput(type: Copy, dependsOn: [createExe, copyToLibs, jar, converterJ } task qbuild(type: Copy, dependsOn: [copyToOutput, jar]) { + println("IN qbuild") description="Copy the executable file into 'output' to create a working environment" from "$buildDir/libs/pcgen-${version}.jar" @@ -464,32 +509,38 @@ task qbuild(type: Copy, dependsOn: [copyToOutput, jar]) { } task cleanOutput(type: Delete) { + println("IN cleanOutput") description="Clean up things copied to the output folder by the build" delete outputDir } // TODO - Hook this into a clean phase properly task cleanJre(type: Delete) { + println("IN cleanJre") description="Clean up things copied to the jre folder by the build" delete jresDir } // TODO - Hook this into a clean phase properly task cleanMods(type: Delete) { + println("IN cleanMods") description="Clean up things copied to the mods folder by the build" delete modsDir } // Alias tasks tasks.register("buildonly") { + println("IN register buildonly") dependsOn 'copyToOutput' } tasks.register("quickbuild") { + println("IN register quickbuild") dependsOn 'copyToOutput', 'test' } build { + println("IN build") it.dependsOn 'copyToOutput' } @@ -497,6 +548,7 @@ build { // For jlink and friends to work when you get odd Zip errors // you will also need to clean out output/ bin/ jre/ and mods/ clean { + println("IN clean") it.dependsOn 'clean-plugins' it.dependsOn 'cleanOutput' } @@ -506,6 +558,9 @@ clean { build.mustRunAfter clean task downloadJRE { + + println("IN downloadJRE") + def major = 17 def archs = ['x64', 'x32', 'aarch64'] def osList = ['windows', 'mac', 'linux'] @@ -593,6 +648,9 @@ task downloadJRE { } task downloadJavaFXModules(dependsOn: downloadJRE) { + + println("IN downloadJavaFXModules") + // We support Windows/Mac/Linux - x64, Mac/Linux - aarch64, and Windows x86 (32-bit) def major = "17.0.7" def archs = ['x64', 'x86', 'aarch64'] @@ -747,11 +805,13 @@ compileJava.dependsOn(downloadJavaFXModules) tasks.runtime.dependsOn(downloadJavaFXModules) test { + println("IN test") exclude 'pcgen/testsupport/**' useJUnitPlatform() } task itest(type: Test, dependsOn: [jar]) { + println("IN itest") useJUnitPlatform() testClassesDirs = sourceSets.itest.output.classesDirs classpath = sourceSets.itest.runtimeClasspath @@ -759,6 +819,7 @@ task itest(type: Test, dependsOn: [jar]) { } task slowtest(type: Test, dependsOn: ['jar', 'itest']) { + println("IN slowtest") useJUnitPlatform() testClassesDirs = sourceSets.slowtest.output.classesDirs classpath = sourceSets.slowtest.runtimeClasspath @@ -770,6 +831,7 @@ task slowtest(type: Test, dependsOn: ['jar', 'itest']) { } task datatest(type: Test, dependsOn: 'jar') { + println("IN datatest") testClassesDirs = sourceSets.slowtest.output.classesDirs classpath = sourceSets.slowtest.runtimeClasspath include 'pcgen/persistence/lst/DataTest.class' @@ -777,6 +839,7 @@ task datatest(type: Test, dependsOn: 'jar') { } task inttest(type: Test, dependsOn: 'jar') { + println("IN inttest") testClassesDirs = sourceSets.slowtest.output.classesDirs classpath = sourceSets.slowtest.runtimeClasspath forkEvery = 1 @@ -784,6 +847,7 @@ task inttest(type: Test, dependsOn: 'jar') { } task sfinttest(type: Test, dependsOn: 'jar') { + println("IN sfinttest") testClassesDirs = sourceSets.slowtest.output.classesDirs classpath = sourceSets.slowtest.runtimeClasspath forkEvery = 1 @@ -791,6 +855,7 @@ task sfinttest(type: Test, dependsOn: 'jar') { } task pfinttest(type: Test, dependsOn: 'jar') { + println("IN pfinttest") testClassesDirs = sourceSets.slowtest.output.classesDirs classpath = sourceSets.slowtest.runtimeClasspath forkEvery = 1 @@ -798,6 +863,7 @@ task pfinttest(type: Test, dependsOn: 'jar') { } task rsrdinttest(type: Test, dependsOn: 'jar') { + println("IN rsrdinttest") testClassesDirs = sourceSets.slowtest.output.classesDirs classpath = sourceSets.slowtest.runtimeClasspath forkEvery = 1 @@ -805,6 +871,7 @@ task rsrdinttest(type: Test, dependsOn: 'jar') { } task srdinttest(type: Test, dependsOn: 'jar') { + println("IN srdinttest") testClassesDirs = sourceSets.slowtest.output.classesDirs classpath = sourceSets.slowtest.runtimeClasspath forkEvery = 1 @@ -812,18 +879,20 @@ task srdinttest(type: Test, dependsOn: 'jar') { } task msrdinttest(type: Test, dependsOn: 'jar') { + println("IN msrdinttest") testClassesDirs = sourceSets.slowtest.output.classesDirs classpath = sourceSets.slowtest.runtimeClasspath forkEvery = 1 include 'pcgen/inttest/game_modern/*Test.class' } -// Do the lot! TODO reenable slowtest +// Do the lot! task all(dependsOn: ['build', 'slowtest', 'javadoc', 'buildNsis', 'allReports']) { -//task all(dependsOn: ['build', 'javadoc', 'buildNsis', 'allReports']) { + println("IN all") } allprojects { + println("IN allprojects") tasks.withType(JavaCompile).configureEach { options.fork = true } @@ -856,7 +925,6 @@ allprojects { } tasks.withType(JavaCompile) { doFirst { - if (name.toLowerCase().contains("test")) { options.compilerArgs << "--module-path" << "${projectDir}/mods/lib/" options.compilerArgs << "--add-modules" << "javafx.controls,javafx.web,javafx.swing,javafx.fxml" @@ -874,10 +942,12 @@ allprojects { } dependencyUpdates { + println("IN dependencyUpdates") revision='release' } dependencyUpdates.resolutionStrategy { + println("IN dependencyUpdates resolutionStrategy") componentSelection { rules -> rules.all { ComponentSelection selection -> if (['atlassian'].any { qualifier -> @@ -906,6 +976,7 @@ dependencyUpdates.resolutionStrategy { // Support for creating IntelliJ IDEA files. idea { + println("IN idea") project { def javafxLib = file("$projectDir/mods/lib") def files = javafxLib.listFiles( { _, name -> name.contains(".jar") } as FilenameFilter) @@ -933,6 +1004,7 @@ idea { // Use the gradle wrapper wrapper { + println("IN wrapper") distributionType = Wrapper.DistributionType.ALL } diff --git a/code/gradle/distribution.gradle b/code/gradle/distribution.gradle index 3133e073e06..5adb10f59c2 100644 --- a/code/gradle/distribution.gradle +++ b/code/gradle/distribution.gradle @@ -83,14 +83,14 @@ ext { } } -applicationDistribution.with(dataDistsImage) -applicationDistribution.with(docsDistsImage) -applicationDistribution.with(autobuildSpec) -applicationDistribution.with(charactersImage) -applicationDistribution.with(programScriptImage) -applicationDistribution.with(programDistsImage) - -application{ +application { + applicationDistribution.with(dataDistsImage) + applicationDistribution.with(docsDistsImage) + applicationDistribution.with(autobuildSpec) + applicationDistribution.with(charactersImage) + applicationDistribution.with(programScriptImage) + applicationDistribution.with(programDistsImage) + // Output the startScripts (.bat and .sh) in main distribute folder rather than .bin executableDir = "" applicationDefaultJvmArgs = ["-Dsun.java2d.d3d=false"] diff --git a/code/src/testResources/pcgen/lang/cleaned.properties b/code/src/testResources/pcgen/lang/cleaned.properties index 9bbb762c29a..80b0f7f35dc 100644 --- a/code/src/testResources/pcgen/lang/cleaned.properties +++ b/code/src/testResources/pcgen/lang/cleaned.properties @@ -1,4 +1,4 @@ -# LanguageBundle.properties with all unused keys removed as at 2023-06-24T21:54:51.875365 +# LanguageBundle.properties with all unused keys removed as at 2023-07-09T23:25:53.462888 # LanguageBundle.properties with all unused keys removed as at 2012-08-27T07:34:45+10:00 # Note: Trailing spaces are used in a number of places in this file. Please do diff --git a/code/src/testResources/pcgen/lang/unused.properties b/code/src/testResources/pcgen/lang/unused.properties index e260f61aef9..d86879b8dd8 100644 --- a/code/src/testResources/pcgen/lang/unused.properties +++ b/code/src/testResources/pcgen/lang/unused.properties @@ -1,4 +1,4 @@ -# LanguageBundle.properties with all used keys removed as at 2023-06-24T21:54:51.916633 +# LanguageBundle.properties with all used keys removed as at 2023-07-09T23:25:53.525437 # LanguageBundle.properties with all unused keys removed as at 2012-08-27T07:34:45+10:00 # Note: Trailing spaces are used in a number of places in this file. Please do diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8707e8b5067..8612e3f6719 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From 90b59eacd4c128d04ca59c42b5373896cf658eef Mon Sep 17 00:00:00 2001 From: Andrew Maitland Date: Sun, 23 Jul 2023 19:05:25 -0700 Subject: [PATCH 028/219] Newsource 424 (#6901) * Goldielocks has incorrect value displayed for darkvision in the ability. * NEWSOURCE-424 Starfinder Near Space request --- data/starfinder/paizo/near_space/OGL.txt | 40 +++++ .../paizo/near_space/PZO7113_cover.jpeg | Bin 0 -> 11865 bytes .../paizo/near_space/_near_space.pcc | 73 +++++++++ .../paizo/near_space/sns__datacontrols.lst | 5 + .../paizo/near_space/sns_abilities.lst | 55 +++++++ .../paizo/near_space/sns_abilities_class.lst | 140 ++++++++++++++++++ .../paizo/near_space/sns_abilities_race.lst | 70 +++++++++ .../near_space/sns_abilitycategories.lst | 12 ++ .../starfinder/paizo/near_space/sns_equip.lst | 114 ++++++++++++++ .../paizo/near_space/sns_equip_gear.lst | 0 .../paizo/near_space/sns_equip_magic.lst | 11 ++ .../paizo/near_space/sns_equipmods.lst | 25 ++++ .../starfinder/paizo/near_space/sns_feats.lst | 13 ++ data/starfinder/paizo/near_space/sns_kits.lst | 5 + .../paizo/near_space/sns_profs_armor.lst | 26 ++++ .../paizo/near_space/sns_profs_weapon.lst | 70 +++++++++ .../paizo/near_space/sns_skills.lst | 4 + .../paizo/near_space/sns_spells.lst | 34 +++++ .../paizo/near_space/sns_templates.lst | 5 + 19 files changed, 702 insertions(+) create mode 100644 data/starfinder/paizo/near_space/OGL.txt create mode 100644 data/starfinder/paizo/near_space/PZO7113_cover.jpeg create mode 100644 data/starfinder/paizo/near_space/_near_space.pcc create mode 100644 data/starfinder/paizo/near_space/sns__datacontrols.lst create mode 100644 data/starfinder/paizo/near_space/sns_abilities.lst create mode 100644 data/starfinder/paizo/near_space/sns_abilities_class.lst create mode 100644 data/starfinder/paizo/near_space/sns_abilities_race.lst create mode 100644 data/starfinder/paizo/near_space/sns_abilitycategories.lst create mode 100644 data/starfinder/paizo/near_space/sns_equip.lst create mode 100644 data/starfinder/paizo/near_space/sns_equip_gear.lst create mode 100644 data/starfinder/paizo/near_space/sns_equip_magic.lst create mode 100644 data/starfinder/paizo/near_space/sns_equipmods.lst create mode 100644 data/starfinder/paizo/near_space/sns_feats.lst create mode 100644 data/starfinder/paizo/near_space/sns_kits.lst create mode 100644 data/starfinder/paizo/near_space/sns_profs_armor.lst create mode 100644 data/starfinder/paizo/near_space/sns_profs_weapon.lst create mode 100644 data/starfinder/paizo/near_space/sns_skills.lst create mode 100644 data/starfinder/paizo/near_space/sns_spells.lst create mode 100644 data/starfinder/paizo/near_space/sns_templates.lst diff --git a/data/starfinder/paizo/near_space/OGL.txt b/data/starfinder/paizo/near_space/OGL.txt new file mode 100644 index 00000000000..009a9165565 --- /dev/null +++ b/data/starfinder/paizo/near_space/OGL.txt @@ -0,0 +1,40 @@ +OPEN GAME LICENSE VERSION 1.0A +The following text is the property of Wizards of the Coast, Inc. and is Copyright 2000 Wizards of the Coast, Inc. (“Wizardsâ€). All Rights Reserved. + +1. Definitions: (a) “Contributors†means the copyright and/or trademark owners who have contributed Open Game Content; (b) “Derivative Material†means copyrighted material including derivative works and translations (including into other computer languages), potation, modification, correction, addition, extension, upgrade, improvement, compilation, abridgment or other form in which an existing work may be recast, transformed or adapted; (c) “Distribute†means to reproduce, license, rent, lease, sell, broadcast, publicly display, transmit or otherwise distribute; (d) “Open Game Content†means the game mechanic and includes the methods, procedures, processes and routines to the extent such content does not embody the Product Identity and is an enhancement over the prior art and any additional content clearly identified as Open Game Content by the Contributor, and means any work covered by this License, including translations and derivative works under copyright law, but specifically excludes Product Identity. (e) “Product Identity†means product and product line names, logos and identifying marks including trade dress; artifacts, creatures, characters, stories, storylines, plots, thematic elements, dialogue, incidents, language, artwork, symbols, designs, depictions, likenesses, formats, poses, concepts, themes and graphic, photographic and other visual or audio representations; names and descriptions of characters, spells, enchantments, personalities, teams, personas, likenesses and special abilities; places, locations, environments, creatures, equipment, magical or supernatural abilities or effects, logos, symbols, or graphic designs; and any other trademark or registered trademark clearly identified as Product identity by the owner of the Product Identity, and which specifically excludes the Open Game Content; (f) “Trademark†means the logos, names, mark, sign, motto, designs that are used by a Contributor to identify itself or its products or the associated products contributed to the Open Game License by the Contributor (g) “Useâ€, “Used†or “Using†means to use, Distribute, copy, edit, format, modify, translate and otherwise create Derivative Material of Open Game Content. (h) “You†or “Your†means the licensee in terms of this agreement. + +2. The License: This License applies to any Open Game Content that contains a notice indicating that the Open Game Content may only be Used under and in terms of this License. You must affix such a notice to any Open Game Content that you Use. No terms may be added to or subtracted from this License except as described by the License itself. No other terms or conditions may be applied to any Open Game Content distributed using this License. + +3. Offer and Acceptance: By Using the Open Game Content You indicate Your acceptance of the terms of this License. + +4. Grant and Consideration: In consideration for agreeing to use this License, the Contributors grant You a perpetual, worldwide, royalty-free, non-exclusive license with the exact terms of this License to Use, the Open Game Content. + +5. Representation of Authority to Contribute: If You are contributing original material as Open Game Content, You represent that Your Contributions are Your original creation and/or You have sufficient rights to grant the rights conveyed by this License. + +6. Notice of License Copyright: You must update the COPYRIGHT NOTICE portion of this License to include the exact text of the COPYRIGHT NOTICE of any Open Game Content You are copying, modifying or distributing, and You must add the title, the copyright date, and the copyright holder’s name to the COPYRIGHT NOTICE of any original Open Game Content you Distribute. + +7. Use of Product Identity: You agree not to Use any Product Identity, including as an indication as to compatibility, except as expressly licensed in another, independent Agreement with the owner of each element of that Product Identity. You agree not to indicate compatibility or co-adaptability with any Trademark or Registered Trademark in conjunction with a work containing Open Game Content except as expressly licensed in another, independent Agreement with the owner of such Trademark or Registered Trademark. The use of any Product Identity in Open Game Content does not constitute a challenge to the ownership of that Product Identity. The owner of any Product Identity used in Open Game Content shall retain all rights, title and interest in and to that Product Identity. + +8. Identification: If you distribute Open Game Content You must clearly indicate which portions of the work that you are distributing are Open Game Content. + +9. Updating the License: Wizards or its designated Agents may publish updated versions of this License. You may use any authorized version of this License to copy, modify and distribute any Open Game Content originally distributed under any version of this License. + +10. Copy of this License: You MUST include a copy of this License with every copy of the Open Game Content You distribute. + +11. Use of Contributor Credits: You may not market or advertise the Open Game Content using the name of any Contributor unless You have written permission from the Contributor to do so. + +12. Inability to Comply: If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Open Game Content due to statute, judicial order, or governmental regulation then You may not Use any Open Game Material so affected. + +13. Termination: This License will terminate automatically if You fail to comply with all terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses shall survive the termination of this License. + +14. Reformation: If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. + +15. COPYRIGHT NOTICE +Open Game License v 1.0a © 2000, Wizards of the Coast, Inc. +System Reference Document © 2000, Wizards of the Coast, Inc.; Authors: Jonathan Tweet, Monte Cook, Skip Williams, based on material by E. Gary Gygax and Dave Arneson. + +Starfinder Core Rulebook © 2017, Paizo Inc.; Authors: Logan Bonner, Jason Bulmahn, Amanda Hamon Kunz, Jason Keeley, Robert G. McCreary, Stephen Radney- MacFarland, Mark Seifter, Owen K.C. Stephens, and James L. Sutter, with Alexander Augunas, Judy Bauer, John Compton, Adam Daigle, Crystal Frasier, Lissa Guillet, Thurston Hillman, Erik Mona, Mark Moreland, Jessica Price, F. Wesley Schneider, Amber E. Scott, and Josh Vogt. + +Starfinder Near Space © 2020, Paizo Inc.; Authors: Kate Baker, Tracy Barnett, Tineke Bolleman, Adam Daigle, Eleanor Ferron, Crystal Frasier, Amanda Hamon, Sasha Laranoa Harving, Vanessa Hoskins, Jenny Jarzabski, Jason Keeley, Mike Kimmel, Luis Loza, Ron Lundeen, Robert G. McCreary, Andrew Mullen, Hilary Moon Murphy, Adrian Ng, Joe Pasini, Lu Pellazar, Samantha Phelan, James Rodehaver, Chris S. Sims, Diego Valdez. + +PCGen dataset conversion for "Starfinder Character Operations Manual" Copyright 2020, PCGen Data team (Including, but not limited to Brad Grinstead, Paul Grosse, and Andrew Maitland). diff --git a/data/starfinder/paizo/near_space/PZO7113_cover.jpeg b/data/starfinder/paizo/near_space/PZO7113_cover.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e72c204f2d4598ae19fbf498f95f4d8b04ba6e43 GIT binary patch literal 11865 zcmeHtXIN8B*KQynO+cgwN;80fNC$z?M5GG{NH2M$BZgiA1Q3zlQADXCBArMH9fEX0 zKy@Mae&jYS$s%oeLh=>3H zb;1jPUjQ_!z?|#>0Bvo+T>t<;4geB~0*DD7H=&3TiT&{z2)wu5O&l%A8^%qB5L(+Rtp9Tz>E52mIav7Lfvrix7^1B}BmzQUCx+ zBFW#VA3qWSfPYX4xF3oC?g91@__v?(yEg)oC|E=iEGEt=`Wp`{DMlDQMUSJGmm64E z*u_)m+3)cP*|Hky!l~@)VaF*cBq1aMBDD6fwFm1zQvG*Z!Z&%)zX$2->nr3dF68RrAS@~) zBO@##CM+fF4703?}H}$@L$EM|Pez9!_pvPOdJTzY(8VyLx-cg9ttUYe-PH zzhVE6+<#Ye11o#jJ@c}AL@4s0-wFzfND7LHKmCt_|E-d%$5U6=7xJM0!L0tPmA0#` zlfB>H&@zG|Qi9?lPyaK`AYp0Ae~KARQ6D9l$}zR7r{c*q>&E4G}Srg!Bp-IRzyZp#t(6fS3pf zBqjlplK$?7D3EX*Kte}){kEvm6?(mAWFU72v5=%3a;}Hv-x&3Op}EDaJzh~zGTmTi zxyf^fmyiFhgyelGX&JEcBNbIObq!5}r-nwxCZ=XKws!Uoj!w@#y}W&VVSfIhufxJ4 zBBP>{-@HwEm-_xg+Na#ld0+Ai3X3W#tB}<-wRQEaZS5VMUESY%28V`6M#sh{CKnc$ zmRDBS);Biy4-SuxPfjss=f8Oo^5uWgB5eP~?0@4$N8m+FLINZq`^}4p*!MSaIug>` zqF1gf>5)Birw56JkTX0?$|?Uw!6mMbX0-PBMajf1vB0zco7x{{|1)B*{-2orP3*sT zO#zev#D5G(ObjFi0)eDgNC|d@{K{`5rzHPll>fG?e~jk0(f)0C0tgWSgM@^HjPSlj zML~7#|Jv{~gv$1VRizT~85T(BJ&rvld#-r-o1Jxbs9F$+rnYWJv*yJWVFNHqxgy>I``Vpc)P++?vc zNAMjI6%I7-40fwMo8_-}NzilQ!}68kML7wm{mcc|5qYAFoT1ZRNolHgN4tB1(O-(0 zL0%S^wsxtyoB5H#2nrm-hg@B(uS>9SXXTyYG~2s%ZQl2^M6o7s&eE2$ZyH=M%+28e zG#&%dPJ*8T&kC?wXr?zwfn}39Y!4Dev8i`z>er0rMAnVN6Mp1Le$UlU6HA|tHcM{$Z#&Vv`8=JM*>Lp%#dvtEdp;9D|X z=^P8@{7SMj*T5p(KY2p6qo#)Iy+I*X@PTp67kE`nTrc6fr;ORt{2if5cwDo&xf--a zLF<0U;>N&bUcK+go$a)P-N3L5(Jf#9nl>e9frW;rXTFui!vTTR#A3R;cIn(`3?gT1 z$#ufKy&k%A8YLmXpR8OxyG8l!Ymnnq{x9e4wDS@kaAF>_kx{Z)w)>k!Mhl5MnMc?v zO1@9^y6X6!hXYf1z&9$g9m7RDfZ=(CmgM^2JxOYDck99vk8iII!+^c4UcFx55djz$ zc+ELux9Mws)=!T8LC`k^?k{EbENid~`K>?A;3{b0n7jwKM_=q6`MpQid7Ii?b;q>@ zc^{~4uasbtUXXrCC7xkKn)^|B>vLCovh?eCzLYiY-?ukpH6)kO5z*Tc$iv*39oSPa zj#?ZMa_p#?@bezoz;M7ml;$edCH(Nl@hiU9>sm`YTkDv+aXbZKfxy%>oh6eyc~Y`` z6uBKx%;sr4H-*`5Oc^-Ix~GCbhXWvZN6X})gYq860fL}mGr;K=H2lWT4?Bi!LK-5U_I zL%t{ZH+D9Dy^HJcI9hG=s>W^APww_?cCGiYNV3#+re%0*YA7^Tr|j_NHG7maK%Q~IhU-bT7ljT=*06IeX~jW zvB77#Z}Bk+P^);~T9^>sqBkUji8s$tZvboYjXh%SUpur^2~Bif zMuxn1O`&=p6FO|Y@rS5B5vSS$O~~T&bJ;z6obhqP@BxIu zI`>WvdFR;V$>fw{^U8)@&b&`HH5^*FA?7$Y(K@GD8%)4IBF~#AcA3z7K z0Q1$0c87!$=Lout;Zib_cd(ByDDF!S?O)B7iY*EhzPgBa=)>$HMK-f74 zs~Cwi7T=_^K+gy_&@Gopz9buoaWR9@Jt#$Fq0w7lu^rnSB=Zb5p3ULBN* z9$%9@OSq7p+_40Eq1!11yu$uCnrAZB{VS0*$fR29qsU5 zXgVTvHn{7iry8z3q3g5RG9x)r6p<^CK9QHk7N6AsGYzzrICvrVO5RjdH=z&*Ja5{~ zDtlZX&0270C;8L9(Bq9nny-pX^;Y_)w6MmDchzm28?#iahjS0?fit|j{8tf@F+1R6 zs~$UIag^L{Ptr^B0p2lW;C+tkMVeclZ)j8d#dUOt%h3qjwH@}gr`7wj4VP~#R@|mQsE+%vj@%~3nf1&roX93wy=9598!LsWS>Oo6i3eQLYS#wx*j~3V@++&|Cq|t|GpQ_iJbSW@?lYgeBvm>0FW$kvILauaK zaTf>sHj>tHat5Pq z-e^UBdsV+o`g?||6q7}DI6s6jpec{<(wem*c?4RF4K53R>(-y^zI=f~V4OL=-e*cf z_Gp%yRvlXK$M(8yM&^bdeB>@zDr6};xFu+yJp`(HN4^$!LyY-D3>I5X^s@g7*b`ga z(M$r@M`B_YEX7T0VA%0-^Xa=81+d}k<6Aw6>T;n;Rui<5-1Q^5FowX)DOdS6R)?v{ zX3ea-pNckgxA)G1KP=YsTWSSHck?Z;Vn4t6PFYpNouh{OmJ_z=yyCI zkWcdPQJ;hBb#6ay+pMKz7&F2N<51XEgb`|mv8tE5#&F?2)ajjDH;+Y#Y7D;>uCH5P zsR~Sgt8)^~hbWUbzz<&T4VPZW19a*u5?#zAv&3j~i3QH6e^xmuum_FS&%NS>2=NRb zQ!6?xEvI{`VMkGjbDRktF#oZcBRDL$dSoDKC)L*Yz~p&vym;02n`{i3qS;EG418u>g(M;*(;WJDin&O=ivQC^?CZS1B82= zwX4_)L!XFsF_TX+*iBn0z=@~bO8xRjEK1bM=gr1e^!blUxfJPA-I%@#4dpa_BRMWJ zbbM-w)8RTh=#@Z&pJon8vJw}u(u|1@=UC?)yP|_1T$~EC)RM$4Fi`cl;=i+sSQ^Fg2g$X>g^ z1a7Fr!rmFG{aTFg%ut8o#dYa*jjjjo@$WB{Fr^o)7~jPU73fE+I4V7)N6)H=wP7$S zQN(X+IQC=@l03_UwxEM054AE$4Qhx8v76pH4Hojf-=d(0l=7Cr7M}z$EKag?u={Hi z%SxOpLTb-5?1>h3`f`y21t^<=C^O#I$V?lZQJ#Q6p<_45twGuF*4zD8fH|%~q(PrH z(33jV_3^3xgHy}k?I+5G8*|7Yf%O|f)adP01s2EfTyG~Vb!AD7@(%GJ>#NZxF^)A^84%{U!l)Lse$@jlbg=Qhw+CeB}j7k0a}*d%l|XJe>OoT<4C z(K`)n)xH8^xz|jM7JvZv-7k#+i!?b`B0i<}@=$TxhHzT`C`|b9^0Wn5tzI-&xfZiM zwnT$k&{zYVTxf@{KWYP<30GBQ9G=Gc!zn0?B1Sn8J!j@t3CHRK^x-GsdK)&oV7^Z% zEm1}M&?Oep?uxlf+p5jm!Er<3CMNVLGAqFH;Uuo#u-ZFrqI78IE|nB;S*^>%jm+$_ z4$+SXVEAcLSvklhAd!Nv73f9<%dGSp8fzW;8spVuC@Yw-cQ+a|EcCTYX=yGK8`a#s zKW+@_gq3;A(-6t|t?k^Gsd;NN%(&W|R!L#wEf`v8Jj@E}xP8XJniWU`TSUp>0S>x1 zAQ&6t_)(mCSVuh46IemNat4ld_9_t{;CVlPim32bWZ8H(xtn#G_UcD{+1@>VK-u9z zO*J{dct1aCJnj99O|Qb%Eo0jTNKJCnhjT@0YpCjhk4|TNJ{~}R9NwT1;~v0Px_$el zj%EX?U>I-Rx}^-3%~9e2^T-kIhEU3MjTS$Hf@dw=C1RSQU03XU@xg zm^81ugRxFMhd3kz?ITayIxCGnjroCIzxmoXd?xxwkz2QCNTT02u27R%dQAR8AEayS z+%8lDrOZ#V+hag;5j8az``7tcB!*WTy%&KKp4>|FY;-RDTz%(05u+y2T~?a>6@lXp z&t}=tZG~G{$FCSfzSE$kBlsIsT%X9N^Hi%=4fN(4CxSPpt0^!=hdF=1DAsyvxzT4X zzz6zy8!msZLZYbDC98O^{M=wEfpwjo2oqR@$u$gkDk1dcs~M@Q`zch#Mbtvf_3+=1(lN%)|f)8_@Ec6hissw&>M zUL#)0?vh+aQ3sK&XWiIOK}5p+JY8mQi=`L5po>VQqCe3^pD-c1HiHHaW;8%w&EVR%|5CF!tAwo{dqGecABbG z12kl7lM+39ZMjq4jfJ*Oa=|BxTPn1*{)L_E-ost^(sR+XkW&}2KykP zKaf5XzGuGDBA77BYF*`H;RUjIjz#`qxJKcYLFCcURdB4;U!?Avv zVN{kxzXXldlkQYK933;Wu`cgk)VMyfkobr#q|;25Fk_X{~kw!f(k z{}WA#s<=xbBbyI*znjUL8=SxX^eNnN_jddu(+q17i~26J?agMV6yIG)UG85Ffoz*UVs$ zmJ{&8h~QJ^SKyAj8lubmJY>>WP+UvcdM&2Bhc_}+&dra&8-{NS52SY6j|I&;N3-aM zAniE8hPk|nFg<5V*JP!P7t9MD0cmHa9UM%@t}*%>X;NWTM(DlQFNCfyqJ@7PcE{2T z283A@8VaBd3!UnVm;1wRooS;@PJssM#$of z__xs-1BI|$^UG>X$H8vH2a`4y-k0Cph~$Wmx3q4zTOZyOU#m20@N$~NCi6z_S1s_| zG*_E}2p>+L>QZ2XD}O04n<*9grPg0&*#9D8zTSI%L5qDx1`&yzW5bN@J*gi)b`HO= zSoxf^e+ZxEQy%v*%dztp2b-Z=QLlFKuN(MYvJ9M=k!nV8{S*^I$5~P}^{^eg;!L>OigQX?u@Z<(@ppLSRie zoW&-fEQzr>)7r)Mq0g!Y@NwH#yttM4{6IL4zqx4`?z-q9k%}_l7R_)m>E=aGakzR~ z_J?{R;7^($jIe&$h>Eb35($(@m;C{g`jV-dsYw6lwUriW=1zqV&A(nW$}D`~9b4Ac zHE4!Zp2dHB^eTuYSGhIT)&bE3&wJcc#&oo)d6+&r1Fk|DpIV%4j!)Fps_dc8xRw#L z7_&q3rpDo13niM-*rd8#F@6fnXSt<|y|mJOu6BQiS4Vl}NUD>>27MkG&Lz}fgCZUL z;SgLh-_nVlSxNBn=s@n7XqD2{XNKc=0J18D4G*}7F@VV<1tyO1047N2^K>)wSo%Zh ztDq5FX>NRx_-URn!kVV=> zD@w0zc=fd%^jDu%`s-t$4^JV`jse z<;ng2o;$1X0ZpA;e8i$KDJIdh_wMJ8kEt~K8A&xPSob&Bt>b(grT1ryK`V+L%fAoo z`1)=L2^Cvy`6_gO=21&K9?-zWW0PzF?2;Q>;*AhY657e+cA#N+1x|5k45VE#h$(mr z8rT0aomPH~YSWFZrf;8RAKi@{M2aM`tT11Qw#E{RM|N+@26>;dN6gD=KPv4{_l5ep zo)oYwoxIY&HU(_yEjv(jvR~yDY+uz zRRM*3et_d6d6gjXu8GH>OC-gC?iuuR6CqI%AMeeV@|N^I^UpSMgiw_>O7BX%ePrax z{gT)hRXBizPwcOqnD3JyieXbN;tDy?BHfc2H7ySAmWsEDQ(qT4N4X!(oEiKy9#y!G z$?*YQqr~&;>}I@&>D&GAnXU^YVUcyxh6k|@qmU&MPz3@0wYuu$jip%L$ugFh zp5<8Em1^2k4Mg^ykT(Rdx#yn$es23K&+Ej(Ha}>D+Pv+eDyI!HuqjA5-a#|(CRpne z$~Jp*;1+$-@LNO4F)ZQoj6Jj%X8CFVN=okdW24SNldBaqS05?OaWQZHcz@I)U)+zA z#Z2~0mnDKOpu-_SebCSq5NPLmw``cTCgR~ZZ^)}TI#{}y?hdtyMH3R2yF6t!Vi@!zhN7-6Y{)_YS z1vM1oz!r|HZrEO9x7|@t$s~v6KyWw#>#sb0%v(s@6weU>^>&wE&0nNa_qzDVa);}* zmC*)Cr*S5tbX83;)AqRs_6GW(!&dOiKIyO=`B^;3WZC`aVaU(4i}!9wfBMyq+E&P{ zv+koZoR2~Ru-(LTYBMR*9uIgYG#5~1+&AN+sH!-h6eJN)g-M$Kp7E9TS)t0CWZ$UU zZ?jskQ7!ADkScEs^a6-grGp35pjXN=T|aM}=Y@@Y>Y$uYjWhE8z8Ck}cvm|>TC>WI zN-tZ?%xV-nAS_~NsRkZCyEQtdyKlyUAN|*_{Gb>|xi+7TQCGCz3T9AYKZ8pZPW9`^ z(Dgjl#shN379g#C4o~XK2TOLZGfT`#ZRD3%3Nf-$wp?D%;;Ok^uxxwJ>%r6EMdv1TqwXQ+WMil^!;+{ z(~0SCQ!{mZr=(bBSO3;s!VxwJ-by<`ls)gMxoP-=U6lvuEYU7*!^KOart^AqH*|hW zmwI!DH|^6b*|S?$des{$BFJ)p@$%vj+PH7l;?Kof^mBN79R>#X^2IBLO2=ops9z%P zrW6m(5KFHb8SQ3eu=5@7mHFFTz|Mq&&lSvF*GrJ$*b3U89 z8hYZ)JPF-x44Y}qI6bR3?nNlWZ9b5a<@jxkuQ zPXAI5^Jz8ZG7fkrOitBgZ7X~ABIqx$SRrS8EjLGTPa|)yn~CGt4|nYM(zkDIRuO(u zu6GhLiaTLHw2if>B5I1DxOZn+Gted78=F1@e$=1LRe&;Ci|0?qVX6I2l!X)D=C5Cx z07LrRXoGEvEH}^dqxPY?fpuZ#ii*A-ED zaN_Z=-Hnf2nde|!y8Bm|ZWz;b6gdq!9kkUdbi05=ay!*I8A(HU6Z2Q((iUjSgAvmf z%AZXHad|;ckk#pq#xHW8SIW5y{X*HVa>gd>dRpBVZ~xI*0nv{R4KfZ6zyr9B>w_rl znAP(WN;YL75bq$4Rijb3G6O=ew6AE^yfg~dSbYGG>!*Ex%?2hHd*3tT1aW)t-k8y- zAd)F5%ar$!oRtqJRJTxjv;*;g37p)9Iu=Evnqv znz#_f1xK^spWr<_fQWF`SbQGQHuo}^qWOjzGuk0S@P%E%=Wj%B6dDp_5LO4)xOr^x zNN|b$2*!*jP;V(qh_qSq}O5BgwUxSk%-K+}a zt`T$Bkux_JS9y(xy#?=0ErhBpYtEWltIj@{r*$>MwF{g%UDhqsV_Yu`VX1A|_K{Bh zO~=(`HJMT_>4gxveXBZ5cd&@U0RA)$XP?~OnGkU43L>F4W zsyxZK-uKh%c*kntie3T_vog1hLt|0+~~W<3NMl7%{Idxp^Yj_Fs<{BX(i?3 zaJipl$xC`h9!w@PZ6rSWd4&H{0AtT-oVNrJG1=GP0k*R=m)US$pK3bZ6soC~7MtBy z_Ai9lJkzidlHXQMCJT+)HT`!=lQ+I}{rU@SVj+h#I6KYHxA z<5haaE*v6gnZ{s-3Y&^u#n)0c?-lzq@dR2T*TF`8V}am)~+U z(|&zK8qr%7kOa|z^ANy-f_~2Or3sV