{ "$id": "https://raw.githubusercontent.com/Kiyozz/papyrus-tools/main/schemas/papyrus.schema.json", "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "description": "The configuration of a Papyrus project, for the papyrus toolchain.", "properties": { "build": { "additionalProperties": false, "description": "How `papyrus build` compiles.", "properties": { "compiler": { "description": "PapyrusCompiler.exe, or Caprica. By default, the Creation Kit's of a default Steam installation.", "type": "string" }, "final": { "default": false, "description": "Strip BetaOnly code (Fallout 4 onwards).", "type": "boolean" }, "optimize": { "default": false, "description": "Optimize the bytecode.", "type": "boolean" }, "output": { "description": "Where the .pex files go, relative to this file. Scripts by default.", "type": "string" }, "release": { "default": false, "description": "Strip DebugOnly code (Fallout 4 onwards).", "type": "boolean" } }, "type": "object" }, "flags": { "description": "A .flg file replacing the game's vanilla flags, relative to this file.", "type": "string" }, "fmt": { "additionalProperties": false, "description": "The formatter.", "properties": { "indent": { "description": "1 to 8 spaces, or \"tab\". 2 spaces by default.", "oneOf": [ { "maximum": 8, "minimum": 1, "type": "integer" }, { "enum": [ "tab" ], "type": "string" } ] }, "keywords": { "description": "The case of keywords: \"lower\", `endfunction`, by default, or \"pascal\", `EndFunction`, as the Creation Kit writes them.", "enum": [ "lower", "pascal" ], "type": "string" } }, "type": "object" }, "game": { "description": "The target game. Without it, it is inferred from the scripts.", "enum": [ "skyrim", "fallout4", "fallout76", "starfield", "sse", "skyrimse", "skyrimle", "skyrimae", "tesv", "fo4", "fo76", "sf" ], "type": "string" }, "imports": { "description": "Folders of scripts the project builds on — a library, another mod, the game's sources — read but never checked, relative to this file.", "items": { "type": "string" }, "type": "array" }, "include-fragments": { "default": false, "description": "Check the fragments generated by the Creation Kit too.", "type": "boolean" }, "lints": { "additionalProperties": false, "description": "The level of each lint, by name or by code.", "properties": { "PAP001": { "description": "string or docstring the target's compiler will silently corrupt (PAP001, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP002": { "description": "flag the game's .flg file does not allow on this object (PAP002, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP003": { "description": "unknown lint name in `; papyrus: allow(...)`, which therefore suppresses nothing (PAP003, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP004": { "description": "event the script never receives, most often a typo (PAP004, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP005": { "description": "call with too few or too many arguments (PAP005, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP006": { "description": "named argument the callee does not declare, or already given (PAP006, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP007": { "description": "argument, assignment or return value of a type the compiler does not cast implicitly; cast, comparison or arithmetic between unrelated types; the value of a call that returns nothing (PAP007, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP008": { "description": "function, variable, property or field that does not exist, most often a typo (PAP008, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP009": { "description": "typed function that can reach its end without `Return`, and return the default value (PAP009, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP010": { "description": "`GotoState` to a state the script does not declare, which behaves as the empty state (PAP010, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP011": { "description": "event whose parameters differ from the event it implements (PAP011, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP012": { "description": "assignment to an `AutoReadOnly` or `Const` property, or one without `Set` (PAP012, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP013": { "description": "non-`Global` function called on its script, or `self` and members used in a `Global` function (PAP013, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP014": { "description": "statements after one that always returns, which never run (PAP014, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP015": { "description": "local variable never read (PAP015, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP016": { "description": "parameter never read, after the last one read; events and overrides excepted (PAP016, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP017": { "description": "member or script only SKSE declares, in a Skyrim project that does not use SKSE (PAP017, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP018": { "description": "script that does not exist, once the game's sources are in the project or its imports (PAP018, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP019": { "description": "local declared twice in a block, named like a parameter or a script variable, or hiding one of an enclosing block (PAP019, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP020": { "description": "name written with another case than its declaration, which the compiler ignores (PAP020, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP021": { "description": "`ScriptName` other than the name of the file, or a namespace not matching its folders, which the compiler refuses (PAP021, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP022": { "description": "script that extends itself, directly or through its ancestors (PAP022, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP023": { "description": "function or event declared twice in a state, variable or property declared twice, a second `Auto` state; from Fallout 4, a property named like a variable (PAP023, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP024": { "description": "`Return value` in a function without return type or in an event, `Return` alone in a typed function (PAP024, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP025": { "description": "function whose parameters, defaults or return type differ from the parent's or the empty state's; a `Global` function redefined; from Fallout 4, a function named like an event; in Starfield, a native function overridden (PAP025, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP026": { "description": "function in a state that neither the empty state nor an ancestor declares, a `Global` function in a state (PAP026, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP027": { "description": "`Get` or `Set` of the wrong shape, another function in a property, an initial value on a full property, `AutoReadOnly` without one (PAP027, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP028": { "description": "`new T[n]` beyond 128 elements; in Skyrim, of a size that is not a literal from 1 to 128 (PAP028, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP029": { "description": "assignment to a call, to `.Length` or to anything but a variable, a property or an array element (PAP029, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP030": { "description": "initial value of a script variable or a property, or default of a parameter, that is not a literal (PAP030, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP031": { "description": "from Fallout 4, a parameter without default after one with a default (PAP031, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP032": { "description": "from Fallout 4, a `Native` function in a script that is not `Native` (PAP032, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP033": { "description": "integer literal that does not fit 32 bits; from Fallout 4, a decimal one above 2147483647 (PAP033, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP034": { "description": "`RegisterForUpdate` or `RegisterForUpdateGameTime`, which keep firing in saves after the mod is removed: prefer their `Single` versions (PAP034, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP035": { "description": "`Game.GetPlayer()` called on each iteration of a loop (PAP035, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP036": { "description": "boolean compared with `True` or `False` (PAP036, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP037": { "description": "variable, property or element assigned to itself (PAP037, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP038": { "description": "value compared with itself, always the same answer (PAP038, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP039": { "description": "script variable never read; `Conditional` ones excepted, which the game's conditions read (PAP039, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP040": { "description": "`Import` of a script none of whose global functions or types the script uses (PAP040, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP041": { "description": "function that comes back to itself on every path, directly or through others, and never returns (PAP041, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP101": { "description": "locals and parameters in lowerCamelCase (PAP101, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP102": { "description": "script variables, properties and struct fields in lowerCamelCase (PAP102, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "PAP103": { "description": "functions, events, states, structs and groups in PascalCase (PAP103, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "allow/unknown": { "description": "unknown lint name in `; papyrus: allow(...)`, which therefore suppresses nothing (PAP003, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "arrays/size": { "description": "`new T[n]` beyond 128 elements; in Skyrim, of a size that is not a literal from 1 to 128 (PAP028, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "bools/comparison": { "description": "boolean compared with `True` or `False` (PAP036, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "calls/arity": { "description": "call with too few or too many arguments (PAP005, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "calls/get-player": { "description": "`Game.GetPlayer()` called on each iteration of a loop (PAP035, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "calls/infinite-recursion": { "description": "function that comes back to itself on every path, directly or through others, and never returns (PAP041, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "calls/named-arg": { "description": "named argument the callee does not declare, or already given (PAP006, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "calls/not-global": { "description": "non-`Global` function called on its script, or `self` and members used in a `Global` function (PAP013, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "code/not-assignable": { "description": "assignment to a call, to `.Length` or to anything but a variable, a property or an array element (PAP029, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "code/self-assign": { "description": "variable, property or element assigned to itself (PAP037, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "code/self-compare": { "description": "value compared with itself, always the same answer (PAP038, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "code/unreachable": { "description": "statements after one that always returns, which never run (PAP014, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "encoding/lossy": { "description": "string or docstring the target's compiler will silently corrupt (PAP001, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "events/signature": { "description": "event whose parameters differ from the event it implements (PAP011, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "events/unknown": { "description": "event the script never receives, most often a typo (PAP004, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "flags/placement": { "description": "flag the game's .flg file does not allow on this object (PAP002, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "functions/native": { "description": "from Fallout 4, a `Native` function in a script that is not `Native` (PAP032, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "imports/unused": { "description": "`Import` of a script none of whose global functions or types the script uses (PAP040, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "literals/int-range": { "description": "integer literal that does not fit 32 bits; from Fallout 4, a decimal one above 2147483647 (PAP033, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "locals/duplicate": { "description": "local declared twice in a block, named like a parameter or a script variable, or hiding one of an enclosing block (PAP019, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "locals/unused": { "description": "local variable never read (PAP015, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "members/duplicate": { "description": "function or event declared twice in a state, variable or property declared twice, a second `Auto` state; from Fallout 4, a property named like a variable (PAP023, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "members/skse": { "description": "member or script only SKSE declares, in a Skyrim project that does not use SKSE (PAP017, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "members/unknown": { "description": "function, variable, property or field that does not exist, most often a typo (PAP008, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "names/case": { "description": "name written with another case than its declaration, which the compiler ignores (PAP020, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "naming/functions": { "description": "functions, events, states, structs and groups in PascalCase (PAP103, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "naming/locals": { "description": "locals and parameters in lowerCamelCase (PAP101, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "naming/variables": { "description": "script variables, properties and struct fields in lowerCamelCase (PAP102, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "overrides/signature": { "description": "function whose parameters, defaults or return type differ from the parent's or the empty state's; a `Global` function redefined; from Fallout 4, a function named like an event; in Starfield, a native function overridden (PAP025, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "params/default-order": { "description": "from Fallout 4, a parameter without default after one with a default (PAP031, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "params/unused": { "description": "parameter never read, after the last one read; events and overrides excepted (PAP016, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "properties/accessors": { "description": "`Get` or `Set` of the wrong shape, another function in a property, an initial value on a full property, `AutoReadOnly` without one (PAP027, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "properties/readonly": { "description": "assignment to an `AutoReadOnly` or `Const` property, or one without `Set` (PAP012, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "returns/missing": { "description": "typed function that can reach its end without `Return`, and return the default value (PAP009, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "returns/value": { "description": "`Return value` in a function without return type or in an event, `Return` alone in a typed function (PAP024, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "scripts/cycle": { "description": "script that extends itself, directly or through its ancestors (PAP022, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "scripts/name": { "description": "`ScriptName` other than the name of the file, or a namespace not matching its folders, which the compiler refuses (PAP021, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "scripts/unknown": { "description": "script that does not exist, once the game's sources are in the project or its imports (PAP018, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "states/function": { "description": "function in a state that neither the empty state nor an ancestor declares, a `Global` function in a state (PAP026, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "states/unknown": { "description": "`GotoState` to a state the script does not declare, which behaves as the empty state (PAP010, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "types/mismatch": { "description": "argument, assignment or return value of a type the compiler does not cast implicitly; cast, comparison or arithmetic between unrelated types; the value of a call that returns nothing (PAP007, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "updates/repeating": { "description": "`RegisterForUpdate` or `RegisterForUpdateGameTime`, which keep firing in saves after the mod is removed: prefer their `Single` versions (PAP034, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "values/not-literal": { "description": "initial value of a script variable or a property, or default of a parameter, that is not a literal (PAP030, error by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" }, "variables/unused": { "description": "script variable never read; `Conditional` ones excepted, which the game's conditions read (PAP039, warn by default)", "enum": [ "allow", "warn", "error", "off", "warning", "deny" ], "enumDescriptions": [ "Disabled.", "Reported as a warning.", "Reported as an error.", "Same as allow.", "Same as warn.", "Same as error." ], "type": "string" } }, "type": "object" }, "ppj": { "description": "A Creation Kit or Pyro project read underneath this file, relative to it: its scripts become the project's.", "type": "string" }, "skse": { "default": false, "description": "Skyrim with SKSE installed: its functions and scripts are known.", "type": "boolean" }, "sources": { "description": "The folders above the namespaces of the project's scripts, relative to this file: from Fallout 4, a script under one is named after its folders. Unknown without this key or a .ppj.", "items": { "type": "string" }, "type": "array" } }, "title": "papyrus.toml", "type": "object" }