intelligent-system-design-language 0.3.23 → 0.3.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/out/cli/components/chat-card-generator.js +2 -2
  2. package/out/cli/components/init-hook-generator.js +47 -2
  3. package/out/cli/components/init-hook-generator.js.map +1 -1
  4. package/out/cli/components/language-generator.js +17 -13
  5. package/out/cli/components/language-generator.js.map +1 -1
  6. package/out/cli/components/method-generator.js +68 -19
  7. package/out/cli/components/method-generator.js.map +1 -1
  8. package/out/cli/components/utils.js +34 -1
  9. package/out/cli/components/utils.js.map +1 -1
  10. package/out/cli/generator.js +70 -0
  11. package/out/cli/generator.js.map +1 -1
  12. package/out/extension/main.cjs +2466 -979
  13. package/out/extension/main.cjs.map +3 -3
  14. package/out/extension/package.json +1 -1
  15. package/out/language/generated/ast.js +262 -3
  16. package/out/language/generated/ast.js.map +1 -1
  17. package/out/language/generated/grammar.js +1906 -787
  18. package/out/language/generated/grammar.js.map +1 -1
  19. package/out/language/intelligent-system-design-language-validator.js +112 -3
  20. package/out/language/intelligent-system-design-language-validator.js.map +1 -1
  21. package/out/language/isdl-scope-provider.js +18 -2
  22. package/out/language/isdl-scope-provider.js.map +1 -1
  23. package/out/language/main.cjs +2466 -979
  24. package/out/language/main.cjs.map +3 -3
  25. package/out/package.json +1 -1
  26. package/out/styles.scss +66 -0
  27. package/out/test/validating/diagnostics.test.js +55 -0
  28. package/out/test/validating/diagnostics.test.js.map +1 -1
  29. package/out/test/validating/settings.test.js +94 -0
  30. package/out/test/validating/settings.test.js.map +1 -0
  31. package/package.json +1 -1
@@ -3,7 +3,7 @@
3
3
  "displayName": "ISDL - Intelligent System Design Language",
4
4
  "description": "Intelligent System Design Language support for Visual Studio Code",
5
5
  "publisher": "IronMooseDevelopment",
6
- "version": "0.3.23",
6
+ "version": "0.3.25",
7
7
  "author": "Iron Moose Development",
8
8
  "repository": {
9
9
  "type": "git",
@@ -178,6 +178,13 @@ export const ResourceParameter = 'ResourceParameter';
178
178
  export function isResourceParameter(item) {
179
179
  return reflection.isInstance(item, ResourceParameter);
180
180
  }
181
+ export function isRollCompareOp(item) {
182
+ return item === '<=' || item === '>=' || item === '==' || item === '!=' || item === '<' || item === '>';
183
+ }
184
+ export const RollParameter = 'RollParameter';
185
+ export function isRollParameter(item) {
186
+ return reflection.isInstance(item, RollParameter);
187
+ }
181
188
  export const RollVisualizerParameter = 'RollVisualizerParameter';
182
189
  export function isRollVisualizerParameter(item) {
183
190
  return reflection.isInstance(item, RollVisualizerParameter);
@@ -186,6 +193,14 @@ export const SelfPropertyRefParams = 'SelfPropertyRefParams';
186
193
  export function isSelfPropertyRefParams(item) {
187
194
  return reflection.isInstance(item, SelfPropertyRefParams);
188
195
  }
196
+ export const SettingField = 'SettingField';
197
+ export function isSettingField(item) {
198
+ return reflection.isInstance(item, SettingField);
199
+ }
200
+ export const SettingParam = 'SettingParam';
201
+ export function isSettingParam(item) {
202
+ return reflection.isInstance(item, SettingParam);
203
+ }
189
204
  export const StandardFieldParams = 'StandardFieldParams';
190
205
  export function isStandardFieldParams(item) {
191
206
  return reflection.isInstance(item, StandardFieldParams);
@@ -286,6 +301,10 @@ export const BooleanParamValue = 'BooleanParamValue';
286
301
  export function isBooleanParamValue(item) {
287
302
  return reflection.isInstance(item, BooleanParamValue);
288
303
  }
304
+ export const BooleanSetting = 'BooleanSetting';
305
+ export function isBooleanSetting(item) {
306
+ return reflection.isInstance(item, BooleanSetting);
307
+ }
289
308
  export const ChatBlock = 'ChatBlock';
290
309
  export function isChatBlock(item) {
291
310
  return reflection.isInstance(item, ChatBlock);
@@ -334,6 +353,10 @@ export const ConfigExpression = 'ConfigExpression';
334
353
  export function isConfigExpression(item) {
335
354
  return reflection.isInstance(item, ConfigExpression);
336
355
  }
356
+ export const CritParam = 'CritParam';
357
+ export function isCritParam(item) {
358
+ return reflection.isInstance(item, CritParam);
359
+ }
337
360
  export const DamageBonusesField = 'DamageBonusesField';
338
361
  export function isDamageBonusesField(item) {
339
362
  return reflection.isInstance(item, DamageBonusesField);
@@ -434,6 +457,14 @@ export const ExpressionAssignment = 'ExpressionAssignment';
434
457
  export function isExpressionAssignment(item) {
435
458
  return reflection.isInstance(item, ExpressionAssignment);
436
459
  }
460
+ export const FailureParam = 'FailureParam';
461
+ export function isFailureParam(item) {
462
+ return reflection.isInstance(item, FailureParam);
463
+ }
464
+ export const FumbleParam = 'FumbleParam';
465
+ export function isFumbleParam(item) {
466
+ return reflection.isInstance(item, FumbleParam);
467
+ }
437
468
  export const FunctionCall = 'FunctionCall';
438
469
  export function isFunctionCall(item) {
439
470
  return reflection.isInstance(item, FunctionCall);
@@ -666,6 +697,10 @@ export const NumberRange = 'NumberRange';
666
697
  export function isNumberRange(item) {
667
698
  return reflection.isInstance(item, NumberRange);
668
699
  }
700
+ export const NumberSetting = 'NumberSetting';
701
+ export function isNumberSetting(item) {
702
+ return reflection.isInstance(item, NumberSetting);
703
+ }
669
704
  export const Page = 'Page';
670
705
  export function isPage(item) {
671
706
  return reflection.isInstance(item, Page);
@@ -758,6 +793,14 @@ export const RollParam = 'RollParam';
758
793
  export function isRollParam(item) {
759
794
  return reflection.isInstance(item, RollParam);
760
795
  }
796
+ export const RollPredicateArg = 'RollPredicateArg';
797
+ export function isRollPredicateArg(item) {
798
+ return reflection.isInstance(item, RollPredicateArg);
799
+ }
800
+ export const RollResultAccess = 'RollResultAccess';
801
+ export function isRollResultAccess(item) {
802
+ return reflection.isInstance(item, RollResultAccess);
803
+ }
761
804
  export const RollVisualizerField = 'RollVisualizerField';
762
805
  export function isRollVisualizerField(item) {
763
806
  return reflection.isInstance(item, RollVisualizerField);
@@ -794,6 +837,26 @@ export const SelfPropertyRefExp = 'SelfPropertyRefExp';
794
837
  export function isSelfPropertyRefExp(item) {
795
838
  return reflection.isInstance(item, SelfPropertyRefExp);
796
839
  }
840
+ export const SettingChoices = 'SettingChoices';
841
+ export function isSettingChoices(item) {
842
+ return reflection.isInstance(item, SettingChoices);
843
+ }
844
+ export const SettingHint = 'SettingHint';
845
+ export function isSettingHint(item) {
846
+ return reflection.isInstance(item, SettingHint);
847
+ }
848
+ export const SettingInitial = 'SettingInitial';
849
+ export function isSettingInitial(item) {
850
+ return reflection.isInstance(item, SettingInitial);
851
+ }
852
+ export const Settings = 'Settings';
853
+ export function isSettings(item) {
854
+ return reflection.isInstance(item, Settings);
855
+ }
856
+ export const SettingScope = 'SettingScope';
857
+ export function isSettingScope(item) {
858
+ return reflection.isInstance(item, SettingScope);
859
+ }
797
860
  export const ShorthandComparisonExpression = 'ShorthandComparisonExpression';
798
861
  export function isShorthandComparisonExpression(item) {
799
862
  return reflection.isInstance(item, ShorthandComparisonExpression);
@@ -822,6 +885,10 @@ export const StringChoiceField = 'StringChoiceField';
822
885
  export function isStringChoiceField(item) {
823
886
  return reflection.isInstance(item, StringChoiceField);
824
887
  }
888
+ export const StringChoiceSetting = 'StringChoiceSetting';
889
+ export function isStringChoiceSetting(item) {
890
+ return reflection.isInstance(item, StringChoiceSetting);
891
+ }
825
892
  export const StringChoicesField = 'StringChoicesField';
826
893
  export function isStringChoicesField(item) {
827
894
  return reflection.isInstance(item, StringChoicesField);
@@ -854,10 +921,26 @@ export const StringParamValue = 'StringParamValue';
854
921
  export function isStringParamValue(item) {
855
922
  return reflection.isInstance(item, StringParamValue);
856
923
  }
924
+ export const StringSetting = 'StringSetting';
925
+ export function isStringSetting(item) {
926
+ return reflection.isInstance(item, StringSetting);
927
+ }
928
+ export const SuccessParam = 'SuccessParam';
929
+ export function isSuccessParam(item) {
930
+ return reflection.isInstance(item, SuccessParam);
931
+ }
857
932
  export const SummaryParam = 'SummaryParam';
858
933
  export function isSummaryParam(item) {
859
934
  return reflection.isInstance(item, SummaryParam);
860
935
  }
936
+ export const SystemSettingAccess = 'SystemSettingAccess';
937
+ export function isSystemSettingAccess(item) {
938
+ return reflection.isInstance(item, SystemSettingAccess);
939
+ }
940
+ export const SystemSettingAssignment = 'SystemSettingAssignment';
941
+ export function isSystemSettingAssignment(item) {
942
+ return reflection.isInstance(item, SystemSettingAssignment);
943
+ }
861
944
  export const TableField = 'TableField';
862
945
  export function isTableField(item) {
863
946
  return reflection.isInstance(item, TableField);
@@ -980,7 +1063,7 @@ export function isTargetAccess(item) {
980
1063
  }
981
1064
  export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstReflection {
982
1065
  getAllTypes() {
983
- return ['Access', 'Action', 'ActionParam', 'Actor', 'ArrayExpression', 'Assignment', 'AttributeExp', 'AttributeFunctionParam', 'AttributeParamMod', 'AttributeParameter', 'AttributeRollParam', 'AttributeStyleParam', 'BackgroundParam', 'BasicFields', 'BinaryExpression', 'BooleanExp', 'BooleanParamValue', 'BooleanParameter', 'ChatBlock', 'ChatBlockExpression', 'ChatCard', 'ChoiceCustomProperty', 'ChoiceProperty', 'ChoiceStringValue', 'ClassExpression', 'ColorParam', 'Column', 'Combat', 'CombatMethods', 'CombatProperty', 'ComparisonExpression', 'ComplexFields', 'Config', 'ConfigExpression', 'DamageBonusesField', 'DamageResistancesField', 'DamageRoll', 'DamageRollParam', 'DamageTrackExp', 'DamageTrackParams', 'DamageTrackTypesParam', 'DamageTypeChoiceField', 'DateExp', 'DateTimeExp', 'DateTimeFields', 'DiceField', 'DiceFields', 'DieChoicesParam', 'DieField', 'DieInitialParam', 'DieNoneParam', 'DieParams', 'DieValueParam', 'Document', 'DocumentChoiceExp', 'DocumentChoiceParms', 'DocumentChoicesExp', 'DocumentCreatableParam', 'DocumentDefaultParam', 'DocumentDescriptionParam', 'DocumentFields', 'DocumentParam', 'DocumentSvgParam', 'Each', 'EachAccess', 'ElseIf', 'Entry', 'Expr', 'Expression', 'ExpressionAssignment', 'FleetingAccess', 'FunctionCall', 'FunctionDefinition', 'FunctionParam', 'GlobalParam', 'Group', 'HeightParam', 'HookHandler', 'HtmlExp', 'IconParam', 'IfStatement', 'ImageParam', 'IncrementDecrementAssignment', 'InitiativeProperty', 'InventoryColumnsParam', 'InventoryEmptySlotsParam', 'InventoryField', 'InventoryMoneyParam', 'InventoryParams', 'InventoryQuantityParam', 'InventoryRowsParam', 'InventorySlotSizeParam', 'InventorySlotsParam', 'InventorySortParam', 'InventorySumMaxParam', 'InventorySumMaxValues', 'InventorySumParam', 'InventorySumProperties', 'InventorySummaryParam', 'Item', 'ItemAccess', 'JS', 'Keyword', 'KeywordParam', 'Keywords', 'LabelParam', 'Layout', 'Literal', 'LocationParam', 'LogExpression', 'MacroExecute', 'MacroField', 'MathEmptyExpression', 'MathExpression', 'MathParamExpression', 'MathSingleExpression', 'MeasuredTemplateField', 'MethodBlock', 'MethodBlockExpression', 'MethodContainer', 'MethodParam', 'MoneyDenomination', 'MoneyDenominationParam', 'MoneyDenominationValueParam', 'MoneyDisplayParam', 'MoneyField', 'MoneyFormatParam', 'MoneyParameter', 'MoneyPrecisionParam', 'NegExpression', 'NumberExp', 'NumberFieldParams', 'NumberParamCalculator', 'NumberParamInitial', 'NumberParamMax', 'NumberParamMin', 'NumberParamValue', 'NumberParameter', 'NumberRange', 'Page', 'PaperDollDocumentReference', 'PaperDollElement', 'PaperDollExp', 'PaperDollParameter', 'Parameter', 'ParentAccess', 'ParentAssignment', 'ParentExpressionAssignment', 'ParentIncrementDecrementAssignment', 'ParentPropertyRefChoice', 'ParentPropertyRefChoiceParam', 'ParentPropertyRefExp', 'ParentPropertyRefParams', 'ParentQuickModifyAssignment', 'ParentTypeCheckExpression', 'PinnedField', 'PlayAudio', 'PlayAudioFile', 'PlayAudioParams', 'PlayAudioVolume', 'PrimitiveExpression', 'Prompt', 'PromptInputAccess', 'PromptParams', 'Property', 'QuickModifyAssignment', 'Ref', 'ReferenceFields', 'ResourceExp', 'ResourceParameter', 'ReturnExpression', 'Roll', 'RollParam', 'RollVisualizerField', 'RollVisualizerParameter', 'RollVisualizerValueParam', 'Row', 'Section', 'SegmentsParameter', 'SelfMethod', 'SelfPropertyRefChoice', 'SelfPropertyRefChoiceParam', 'SelfPropertyRefExp', 'SelfPropertyRefParams', 'ShorthandComparisonExpression', 'SingleDocumentExp', 'SizeParam', 'StandardFieldParams', 'StatusParamWhen', 'StatusProperty', 'StatusPropertyParameter', 'StringChoice', 'StringChoiceField', 'StringChoicesField', 'StringChoicesParamChoices', 'StringChoicesParamInitial', 'StringChoicesParamMax', 'StringChoicesParameter', 'StringExp', 'StringExtendedChoice', 'StringParamChoices', 'StringParamValue', 'StringParameter', 'SummaryParam', 'TableField', 'TableFieldsParam', 'TableImageActionParam', 'TableImageParam', 'TableParams', 'TargetAccess', 'TargetAssignment', 'TargetExpressionAssignment', 'TargetIncrementDecrementAssignment', 'TargetParam', 'TargetQuickModifyAssignment', 'TargetTypeCheckExpression', 'TimeExp', 'TimeLimitParam', 'TrackerExp', 'TrackerParameter', 'TrackerStyleParameter', 'TypeParam', 'Update', 'UpdateParent', 'UpdateSelf', 'User', 'UserProperty', 'VariableAccess', 'VariableAssignment', 'VariableExpression', 'VariableExpressionAssignment', 'VariableIncrementDecrementAssignment', 'VariableQuickModifyAssignment', 'VisibilityParam', 'VisibilityValue', 'Wait', 'WhenExpressions', 'WhereParam', 'WidthParam', 'WipFields'];
1066
+ return ['Access', 'Action', 'ActionParam', 'Actor', 'ArrayExpression', 'Assignment', 'AttributeExp', 'AttributeFunctionParam', 'AttributeParamMod', 'AttributeParameter', 'AttributeRollParam', 'AttributeStyleParam', 'BackgroundParam', 'BasicFields', 'BinaryExpression', 'BooleanExp', 'BooleanParamValue', 'BooleanParameter', 'BooleanSetting', 'ChatBlock', 'ChatBlockExpression', 'ChatCard', 'ChoiceCustomProperty', 'ChoiceProperty', 'ChoiceStringValue', 'ClassExpression', 'ColorParam', 'Column', 'Combat', 'CombatMethods', 'CombatProperty', 'ComparisonExpression', 'ComplexFields', 'Config', 'ConfigExpression', 'CritParam', 'DamageBonusesField', 'DamageResistancesField', 'DamageRoll', 'DamageRollParam', 'DamageTrackExp', 'DamageTrackParams', 'DamageTrackTypesParam', 'DamageTypeChoiceField', 'DateExp', 'DateTimeExp', 'DateTimeFields', 'DiceField', 'DiceFields', 'DieChoicesParam', 'DieField', 'DieInitialParam', 'DieNoneParam', 'DieParams', 'DieValueParam', 'Document', 'DocumentChoiceExp', 'DocumentChoiceParms', 'DocumentChoicesExp', 'DocumentCreatableParam', 'DocumentDefaultParam', 'DocumentDescriptionParam', 'DocumentFields', 'DocumentParam', 'DocumentSvgParam', 'Each', 'EachAccess', 'ElseIf', 'Entry', 'Expr', 'Expression', 'ExpressionAssignment', 'FailureParam', 'FleetingAccess', 'FumbleParam', 'FunctionCall', 'FunctionDefinition', 'FunctionParam', 'GlobalParam', 'Group', 'HeightParam', 'HookHandler', 'HtmlExp', 'IconParam', 'IfStatement', 'ImageParam', 'IncrementDecrementAssignment', 'InitiativeProperty', 'InventoryColumnsParam', 'InventoryEmptySlotsParam', 'InventoryField', 'InventoryMoneyParam', 'InventoryParams', 'InventoryQuantityParam', 'InventoryRowsParam', 'InventorySlotSizeParam', 'InventorySlotsParam', 'InventorySortParam', 'InventorySumMaxParam', 'InventorySumMaxValues', 'InventorySumParam', 'InventorySumProperties', 'InventorySummaryParam', 'Item', 'ItemAccess', 'JS', 'Keyword', 'KeywordParam', 'Keywords', 'LabelParam', 'Layout', 'Literal', 'LocationParam', 'LogExpression', 'MacroExecute', 'MacroField', 'MathEmptyExpression', 'MathExpression', 'MathParamExpression', 'MathSingleExpression', 'MeasuredTemplateField', 'MethodBlock', 'MethodBlockExpression', 'MethodContainer', 'MethodParam', 'MoneyDenomination', 'MoneyDenominationParam', 'MoneyDenominationValueParam', 'MoneyDisplayParam', 'MoneyField', 'MoneyFormatParam', 'MoneyParameter', 'MoneyPrecisionParam', 'NegExpression', 'NumberExp', 'NumberFieldParams', 'NumberParamCalculator', 'NumberParamInitial', 'NumberParamMax', 'NumberParamMin', 'NumberParamValue', 'NumberParameter', 'NumberRange', 'NumberSetting', 'Page', 'PaperDollDocumentReference', 'PaperDollElement', 'PaperDollExp', 'PaperDollParameter', 'Parameter', 'ParentAccess', 'ParentAssignment', 'ParentExpressionAssignment', 'ParentIncrementDecrementAssignment', 'ParentPropertyRefChoice', 'ParentPropertyRefChoiceParam', 'ParentPropertyRefExp', 'ParentPropertyRefParams', 'ParentQuickModifyAssignment', 'ParentTypeCheckExpression', 'PinnedField', 'PlayAudio', 'PlayAudioFile', 'PlayAudioParams', 'PlayAudioVolume', 'PrimitiveExpression', 'Prompt', 'PromptInputAccess', 'PromptParams', 'Property', 'QuickModifyAssignment', 'Ref', 'ReferenceFields', 'ResourceExp', 'ResourceParameter', 'ReturnExpression', 'Roll', 'RollParam', 'RollParameter', 'RollPredicateArg', 'RollResultAccess', 'RollVisualizerField', 'RollVisualizerParameter', 'RollVisualizerValueParam', 'Row', 'Section', 'SegmentsParameter', 'SelfMethod', 'SelfPropertyRefChoice', 'SelfPropertyRefChoiceParam', 'SelfPropertyRefExp', 'SelfPropertyRefParams', 'SettingChoices', 'SettingField', 'SettingHint', 'SettingInitial', 'SettingParam', 'SettingScope', 'Settings', 'ShorthandComparisonExpression', 'SingleDocumentExp', 'SizeParam', 'StandardFieldParams', 'StatusParamWhen', 'StatusProperty', 'StatusPropertyParameter', 'StringChoice', 'StringChoiceField', 'StringChoiceSetting', 'StringChoicesField', 'StringChoicesParamChoices', 'StringChoicesParamInitial', 'StringChoicesParamMax', 'StringChoicesParameter', 'StringExp', 'StringExtendedChoice', 'StringParamChoices', 'StringParamValue', 'StringParameter', 'StringSetting', 'SuccessParam', 'SummaryParam', 'SystemSettingAccess', 'SystemSettingAssignment', 'TableField', 'TableFieldsParam', 'TableImageActionParam', 'TableImageParam', 'TableParams', 'TargetAccess', 'TargetAssignment', 'TargetExpressionAssignment', 'TargetIncrementDecrementAssignment', 'TargetParam', 'TargetQuickModifyAssignment', 'TargetTypeCheckExpression', 'TimeExp', 'TimeLimitParam', 'TrackerExp', 'TrackerParameter', 'TrackerStyleParameter', 'TypeParam', 'Update', 'UpdateParent', 'UpdateSelf', 'User', 'UserProperty', 'VariableAccess', 'VariableAssignment', 'VariableExpression', 'VariableExpressionAssignment', 'VariableIncrementDecrementAssignment', 'VariableQuickModifyAssignment', 'VisibilityParam', 'VisibilityValue', 'Wait', 'WhenExpressions', 'WhereParam', 'WidthParam', 'WipFields'];
984
1067
  }
985
1068
  computeIsSubtype(subtype, supertype) {
986
1069
  switch (subtype) {
@@ -1010,6 +1093,8 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
1010
1093
  case PromptInputAccess:
1011
1094
  case Ref:
1012
1095
  case Roll:
1096
+ case RollResultAccess:
1097
+ case SystemSettingAccess:
1013
1098
  case VisibilityValue: {
1014
1099
  return this.isSubtype(PrimitiveExpression, supertype);
1015
1100
  }
@@ -1024,6 +1109,7 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
1024
1109
  case PlayAudio:
1025
1110
  case ReturnExpression:
1026
1111
  case SelfMethod:
1112
+ case SystemSettingAssignment:
1027
1113
  case TargetAssignment:
1028
1114
  case Update:
1029
1115
  case User:
@@ -1078,6 +1164,12 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
1078
1164
  case BooleanParamValue: {
1079
1165
  return this.isSubtype(BooleanParameter, supertype);
1080
1166
  }
1167
+ case BooleanSetting:
1168
+ case NumberSetting:
1169
+ case StringChoiceSetting:
1170
+ case StringSetting: {
1171
+ return this.isSubtype(SettingField, supertype);
1172
+ }
1081
1173
  case ChoiceCustomProperty:
1082
1174
  case WhenExpressions: {
1083
1175
  return this.isSubtype(ChoiceProperty, supertype);
@@ -1103,6 +1195,12 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
1103
1195
  case TargetTypeCheckExpression: {
1104
1196
  return this.isSubtype(WhenExpressions, supertype);
1105
1197
  }
1198
+ case CritParam:
1199
+ case FailureParam:
1200
+ case FumbleParam:
1201
+ case SuccessParam: {
1202
+ return this.isSubtype(RollParameter, supertype);
1203
+ }
1106
1204
  case DamageTrackExp: {
1107
1205
  return this.isSubtype(WipFields, supertype);
1108
1206
  }
@@ -1187,7 +1285,7 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
1187
1285
  return this.isSubtype(InventoryParams, supertype);
1188
1286
  }
1189
1287
  case LabelParam: {
1190
- return this.isSubtype(ChoiceProperty, supertype) || this.isSubtype(KeywordParam, supertype) || this.isSubtype(PromptParams, supertype) || this.isSubtype(StandardFieldParams, supertype);
1288
+ return this.isSubtype(ChoiceProperty, supertype) || this.isSubtype(KeywordParam, supertype) || this.isSubtype(PromptParams, supertype) || this.isSubtype(SettingParam, supertype) || this.isSubtype(StandardFieldParams, supertype);
1191
1289
  }
1192
1290
  case LocationParam:
1193
1291
  case TargetParam:
@@ -1258,6 +1356,11 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
1258
1356
  case SelfPropertyRefChoiceParam: {
1259
1357
  return this.isSubtype(SelfPropertyRefParams, supertype);
1260
1358
  }
1359
+ case SettingChoices:
1360
+ case SettingHint:
1361
+ case SettingInitial: {
1362
+ return this.isSubtype(SettingParam, supertype);
1363
+ }
1261
1364
  case StandardFieldParams: {
1262
1365
  return this.isSubtype(ActionParam, supertype) || this.isSubtype(AttributeParameter, supertype) || this.isSubtype(BooleanParameter, supertype) || this.isSubtype(DamageTrackParams, supertype) || this.isSubtype(DieParams, supertype) || this.isSubtype(DocumentChoiceParms, supertype) || this.isSubtype(InventoryParams, supertype) || this.isSubtype(MoneyParameter, supertype) || this.isSubtype(NumberParameter, supertype) || this.isSubtype(PaperDollParameter, supertype) || this.isSubtype(ParentPropertyRefParams, supertype) || this.isSubtype(ResourceParameter, supertype) || this.isSubtype(RollVisualizerParameter, supertype) || this.isSubtype(SelfPropertyRefParams, supertype) || this.isSubtype(StringChoicesParameter, supertype) || this.isSubtype(StringParameter, supertype) || this.isSubtype(TableParams, supertype) || this.isSubtype(TrackerParameter, supertype);
1263
1366
  }
@@ -1366,7 +1469,8 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
1366
1469
  case 'EachAccess:variable': {
1367
1470
  return Each;
1368
1471
  }
1369
- case 'FleetingAccess:variable': {
1472
+ case 'FleetingAccess:variable':
1473
+ case 'RollResultAccess:variable': {
1370
1474
  return VariableExpression;
1371
1475
  }
1372
1476
  case 'InventoryMoneyParam:field': {
@@ -1381,6 +1485,10 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
1381
1485
  case 'VariableQuickModifyAssignment:variable': {
1382
1486
  return VariableAccess;
1383
1487
  }
1488
+ case 'SystemSettingAccess:setting':
1489
+ case 'SystemSettingAssignment:setting': {
1490
+ return SettingField;
1491
+ }
1384
1492
  case 'TableImageActionParam:action': {
1385
1493
  return Action;
1386
1494
  }
@@ -1501,6 +1609,15 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
1501
1609
  ]
1502
1610
  };
1503
1611
  }
1612
+ case 'BooleanSetting': {
1613
+ return {
1614
+ name: 'BooleanSetting',
1615
+ properties: [
1616
+ { name: 'name' },
1617
+ { name: 'params', defaultValue: [] }
1618
+ ]
1619
+ };
1620
+ }
1504
1621
  case 'ChatBlock': {
1505
1622
  return {
1506
1623
  name: 'ChatBlock',
@@ -1604,6 +1721,15 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
1604
1721
  ]
1605
1722
  };
1606
1723
  }
1724
+ case 'CritParam': {
1725
+ return {
1726
+ name: 'CritParam',
1727
+ properties: [
1728
+ { name: 'op' },
1729
+ { name: 'value' }
1730
+ ]
1731
+ };
1732
+ }
1607
1733
  case 'DamageBonusesField': {
1608
1734
  return {
1609
1735
  name: 'DamageBonusesField',
@@ -1834,6 +1960,24 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
1834
1960
  ]
1835
1961
  };
1836
1962
  }
1963
+ case 'FailureParam': {
1964
+ return {
1965
+ name: 'FailureParam',
1966
+ properties: [
1967
+ { name: 'op' },
1968
+ { name: 'value' }
1969
+ ]
1970
+ };
1971
+ }
1972
+ case 'FumbleParam': {
1973
+ return {
1974
+ name: 'FumbleParam',
1975
+ properties: [
1976
+ { name: 'op' },
1977
+ { name: 'value' }
1978
+ ]
1979
+ };
1980
+ }
1837
1981
  case 'FunctionCall': {
1838
1982
  return {
1839
1983
  name: 'FunctionCall',
@@ -2339,6 +2483,15 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
2339
2483
  ]
2340
2484
  };
2341
2485
  }
2486
+ case 'NumberSetting': {
2487
+ return {
2488
+ name: 'NumberSetting',
2489
+ properties: [
2490
+ { name: 'name' },
2491
+ { name: 'params', defaultValue: [] }
2492
+ ]
2493
+ };
2494
+ }
2342
2495
  case 'Page': {
2343
2496
  return {
2344
2497
  name: 'Page',
@@ -2546,6 +2699,7 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
2546
2699
  return {
2547
2700
  name: 'Roll',
2548
2701
  properties: [
2702
+ { name: 'params', defaultValue: [] },
2549
2703
  { name: 'parts', defaultValue: [] }
2550
2704
  ]
2551
2705
  };
@@ -2558,6 +2712,26 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
2558
2712
  ]
2559
2713
  };
2560
2714
  }
2715
+ case 'RollPredicateArg': {
2716
+ return {
2717
+ name: 'RollPredicateArg',
2718
+ properties: [
2719
+ { name: 'body' },
2720
+ { name: 'param' },
2721
+ { name: 'value' }
2722
+ ]
2723
+ };
2724
+ }
2725
+ case 'RollResultAccess': {
2726
+ return {
2727
+ name: 'RollResultAccess',
2728
+ properties: [
2729
+ { name: 'arg' },
2730
+ { name: 'method' },
2731
+ { name: 'variable' }
2732
+ ]
2733
+ };
2734
+ }
2561
2735
  case 'RollVisualizerField': {
2562
2736
  return {
2563
2737
  name: 'RollVisualizerField',
@@ -2636,6 +2810,47 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
2636
2810
  ]
2637
2811
  };
2638
2812
  }
2813
+ case 'SettingChoices': {
2814
+ return {
2815
+ name: 'SettingChoices',
2816
+ properties: [
2817
+ { name: 'choices' }
2818
+ ]
2819
+ };
2820
+ }
2821
+ case 'SettingHint': {
2822
+ return {
2823
+ name: 'SettingHint',
2824
+ properties: [
2825
+ { name: 'value' }
2826
+ ]
2827
+ };
2828
+ }
2829
+ case 'SettingInitial': {
2830
+ return {
2831
+ name: 'SettingInitial',
2832
+ properties: [
2833
+ { name: 'value', defaultValue: false }
2834
+ ]
2835
+ };
2836
+ }
2837
+ case 'Settings': {
2838
+ return {
2839
+ name: 'Settings',
2840
+ properties: [
2841
+ { name: 'groups', defaultValue: [] }
2842
+ ]
2843
+ };
2844
+ }
2845
+ case 'SettingScope': {
2846
+ return {
2847
+ name: 'SettingScope',
2848
+ properties: [
2849
+ { name: 'scope' },
2850
+ { name: 'settings', defaultValue: [] }
2851
+ ]
2852
+ };
2853
+ }
2639
2854
  case 'ShorthandComparisonExpression': {
2640
2855
  return {
2641
2856
  name: 'ShorthandComparisonExpression',
@@ -2700,6 +2915,15 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
2700
2915
  ]
2701
2916
  };
2702
2917
  }
2918
+ case 'StringChoiceSetting': {
2919
+ return {
2920
+ name: 'StringChoiceSetting',
2921
+ properties: [
2922
+ { name: 'name' },
2923
+ { name: 'params', defaultValue: [] }
2924
+ ]
2925
+ };
2926
+ }
2703
2927
  case 'StringChoicesField': {
2704
2928
  return {
2705
2929
  name: 'StringChoicesField',
@@ -2768,6 +2992,24 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
2768
2992
  ]
2769
2993
  };
2770
2994
  }
2995
+ case 'StringSetting': {
2996
+ return {
2997
+ name: 'StringSetting',
2998
+ properties: [
2999
+ { name: 'name' },
3000
+ { name: 'params', defaultValue: [] }
3001
+ ]
3002
+ };
3003
+ }
3004
+ case 'SuccessParam': {
3005
+ return {
3006
+ name: 'SuccessParam',
3007
+ properties: [
3008
+ { name: 'op' },
3009
+ { name: 'value' }
3010
+ ]
3011
+ };
3012
+ }
2771
3013
  case 'SummaryParam': {
2772
3014
  return {
2773
3015
  name: 'SummaryParam',
@@ -2776,6 +3018,23 @@ export class IntelligentSystemDesignLanguageAstReflection extends AbstractAstRef
2776
3018
  ]
2777
3019
  };
2778
3020
  }
3021
+ case 'SystemSettingAccess': {
3022
+ return {
3023
+ name: 'SystemSettingAccess',
3024
+ properties: [
3025
+ { name: 'setting' }
3026
+ ]
3027
+ };
3028
+ }
3029
+ case 'SystemSettingAssignment': {
3030
+ return {
3031
+ name: 'SystemSettingAssignment',
3032
+ properties: [
3033
+ { name: 'exp' },
3034
+ { name: 'setting' }
3035
+ ]
3036
+ };
3037
+ }
2779
3038
  case 'TableField': {
2780
3039
  return {
2781
3040
  name: 'TableField',