{"abi":[],"bytecode":{"object":"0x","linkReferences":{}},"deployedBytecode":{"object":"0x","linkReferences":{}},"ast":{"absolutePath":"src/libraries/LibArchetypes.sol","id":173333,"exportedSymbols":{"ArchetypeModifier":[90044],"ArchetypeModifierData":[88235],"CombatArchetypes":[87309],"IWorld":[171183],"System":[47981],"createArcherModifiers":[172896],"createArchetypeModifiers":[173332],"createBruteModifiers":[172073],"createCatapultModifiers":[173095],"createDragoonModifiers":[172693],"createHalberdierModifiers":[171876],"createKnightModifiers":[172493],"createMarksmanModifiers":[173298],"createPikemanModifiers":[171693],"createPillagerModifiers":[172294],"createSwordsmanModifiers":[171510]},"nodeType":"SourceUnit","src":"32:33702:289","nodes":[{"id":171301,"nodeType":"PragmaDirective","src":"32:25:289","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":171303,"nodeType":"ImportDirective","src":"58:58:289","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/System.sol","file":"@latticexyz/world/src/System.sol","nameLocation":"-1:-1:-1","scope":173333,"sourceUnit":47982,"symbolAliases":[{"foreign":{"id":171302,"name":"System","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47981,"src":"67:6:289","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":171305,"nodeType":"ImportDirective","src":"117:53:289","nodes":[],"absolutePath":"src/codegen/world/IWorld.sol","file":"../codegen/world/IWorld.sol","nameLocation":"-1:-1:-1","scope":173333,"sourceUnit":171184,"symbolAliases":[{"foreign":{"id":171304,"name":"IWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171183,"src":"126:6:289","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":171308,"nodeType":"ImportDirective","src":"172:80:289","nodes":[],"absolutePath":"src/codegen/index.sol","file":"../codegen/index.sol","nameLocation":"-1:-1:-1","scope":173333,"sourceUnit":87483,"symbolAliases":[{"foreign":{"id":171306,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"181:17:289","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":171307,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"200:21:289","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":171310,"nodeType":"ImportDirective","src":"254:57:289","nodes":[],"absolutePath":"src/codegen/common.sol","file":"../codegen/common.sol","nameLocation":"-1:-1:-1","scope":173333,"sourceUnit":87322,"symbolAliases":[{"foreign":{"id":171309,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"263:16:289","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":171510,"nodeType":"FunctionDefinition","src":"357:3354:289","nodes":[],"body":{"id":171509,"nodeType":"Block","src":"393:3318:289","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":171316,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"451:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"468:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"451:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171318,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"483:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"500:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"483:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":171321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"548:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":171322,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"577:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"594:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"577:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171324,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"630:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"647:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"630:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171320,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"513:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["543:3:289","558:17:289","611:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"513:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171313,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"424:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"442:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"424:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"424:241:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171328,"nodeType":"ExpressionStatement","src":"424:241:289"},{"expression":{"arguments":[{"expression":{"id":171332,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"727:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171333,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"744:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"727:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171334,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"759:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"776:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"759:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":171337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"827:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":171338,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"856:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"873:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"856:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171340,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"909:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"926:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"909:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171336,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"792:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["822:3:289","837:17:289","890:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"792:151:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171329,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"700:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"718:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"700:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"700:247:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171344,"nodeType":"ExpressionStatement","src":"700:247:289"},{"expression":{"arguments":[{"expression":{"id":171348,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1004:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1021:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"1004:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171350,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1036:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1053:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"1036:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":171354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1099:3:289","subExpression":{"hexValue":"3530","id":171353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1100:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"}},{"expression":{"id":171355,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1129:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1146:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"1129:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171357,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1182:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1199:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"1182:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171352,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"1064:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1094:3:289","1110:17:289","1163:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"1064:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171345,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"977:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"995:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"977:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"977:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171361,"nodeType":"ExpressionStatement","src":"977:238:289"},{"expression":{"arguments":[{"expression":{"id":171365,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1275:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1292:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"1275:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171367,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1307:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1324:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"1307:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1373:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171371,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1401:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1418:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"1401:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171373,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1454:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1471:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"1454:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171369,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"1338:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1368:3:289","1382:17:289","1435:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"1338:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171362,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"1248:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1266:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"1248:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1248:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171377,"nodeType":"ExpressionStatement","src":"1248:242:289"},{"expression":{"arguments":[{"expression":{"id":171381,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1548:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1565:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"1548:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171383,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1580:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1597:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"1580:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":171387,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1644:2:289","subExpression":{"hexValue":"30","id":171386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1645:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}},{"expression":{"id":171388,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1673:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1690:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"1673:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171390,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1726:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1743:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"1726:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171385,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"1609:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1639:3:289","1654:17:289","1707:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"1609:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171378,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"1521:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1539:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"1521:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1521:239:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171394,"nodeType":"ExpressionStatement","src":"1521:239:289"},{"expression":{"arguments":[{"expression":{"id":171398,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1819:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1836:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"1819:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171400,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1851:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1868:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"1851:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":171404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1916:3:289","subExpression":{"hexValue":"3235","id":171403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1917:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":171405,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1946:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1963:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"1946:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171407,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1999:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171408,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2016:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"1999:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171402,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"1881:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1911:3:289","1927:17:289","1980:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"1881:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171395,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"1792:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1810:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"1792:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1792:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171411,"nodeType":"ExpressionStatement","src":"1792:242:289"},{"expression":{"arguments":[{"expression":{"id":171415,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"2092:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2109:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"2092:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171417,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"2124:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2141:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"2124:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3235","id":171420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2188:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},{"expression":{"id":171421,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"2217:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2234:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"2217:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171423,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"2270:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2287:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"2270:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171419,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"2153:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2183:3:289","2198:17:289","2251:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"2153:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171412,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"2065:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2083:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"2065:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2065:239:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171427,"nodeType":"ExpressionStatement","src":"2065:239:289"},{"expression":{"arguments":[{"expression":{"id":171431,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"2364:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2381:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"2364:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171433,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"2396:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2413:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"2396:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2462:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171437,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"2490:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2507:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"2490:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171439,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"2543:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2560:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"2543:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171435,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"2427:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2457:3:289","2471:17:289","2524:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"2427:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171428,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"2337:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2355:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"2337:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2337:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171443,"nodeType":"ExpressionStatement","src":"2337:242:289"},{"expression":{"arguments":[{"expression":{"id":171447,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"2639:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171448,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2656:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"2639:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171449,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"2671:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2688:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"2671:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2737:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171453,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"2765:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2782:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"2765:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171455,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"2818:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2835:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"2818:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171451,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"2702:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["2732:3:289","2746:17:289","2799:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"2702:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171444,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"2612:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2630:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"2612:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2612:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171459,"nodeType":"ExpressionStatement","src":"2612:242:289"},{"expression":{"arguments":[{"expression":{"id":171463,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"2916:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2933:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"2916:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171465,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"2948:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171466,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2965:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"2948:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3016:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171469,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"3044:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3061:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"3044:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171471,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"3097:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171472,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3114:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"3097:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171467,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"2981:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3011:3:289","3025:17:289","3078:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"2981:150:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171460,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"2889:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2907:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"2889:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2889:246:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171475,"nodeType":"ExpressionStatement","src":"2889:246:289"},{"expression":{"arguments":[{"expression":{"id":171479,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"3202:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3219:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"3202:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171481,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"3234:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3251:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"3234:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":171485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"3307:3:289","subExpression":{"hexValue":"3235","id":171484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3308:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":171486,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"3337:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3354:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"3337:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171488,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"3390:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3407:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"3390:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171483,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"3272:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3302:3:289","3318:17:289","3371:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"3272:157:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171476,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"3175:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3193:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"3175:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3175:258:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171492,"nodeType":"ExpressionStatement","src":"3175:258:289"},{"expression":{"arguments":[{"expression":{"id":171496,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"3493:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3510:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"3493:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171498,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"3525:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3542:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"3525:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3591:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171502,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"3619:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3636:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"3619:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171504,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"3672:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171505,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3689:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"3672:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171500,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"3556:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171506,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3586:3:289","3600:17:289","3653:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"3556:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171493,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"3466:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3484:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"3466:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3466:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171508,"nodeType":"ExpressionStatement","src":"3466:242:289"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"createSwordsmanModifiers","nameLocation":"366:24:289","parameters":{"id":171311,"nodeType":"ParameterList","parameters":[],"src":"390:2:289"},"returnParameters":{"id":171312,"nodeType":"ParameterList","parameters":[],"src":"393:0:289"},"scope":173333,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":171693,"nodeType":"FunctionDefinition","src":"3753:3001:289","nodes":[],"body":{"id":171692,"nodeType":"Block","src":"3787:2967:289","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":171516,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"3845:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3862:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"3845:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171518,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"3875:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3892:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"3875:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":171522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"3942:3:289","subExpression":{"hexValue":"3235","id":171521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3943:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":171523,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"3972:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3989:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"3972:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171525,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4023:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4040:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"4023:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171520,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"3907:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["3937:3:289","3953:17:289","4004:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"3907:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171513,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"3818:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3836:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"3818:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3818:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171529,"nodeType":"ExpressionStatement","src":"3818:242:289"},{"expression":{"arguments":[{"expression":{"id":171533,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4114:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171534,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4131:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"4114:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171535,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4144:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4161:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"4144:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":171539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"4207:3:289","subExpression":{"hexValue":"3235","id":171538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4208:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":171540,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4237:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4254:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"4237:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171542,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4288:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4305:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"4288:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171537,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"4172:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["4202:3:289","4218:17:289","4269:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"4172:145:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171530,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"4087:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4105:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"4087:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4087:234:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171546,"nodeType":"ExpressionStatement","src":"4087:234:289"},{"expression":{"arguments":[{"expression":{"id":171550,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4378:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171551,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4395:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"4378:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171552,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4408:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4425:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"4408:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4474:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171556,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4502:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4519:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"4502:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171558,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4553:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4570:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"4553:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171554,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"4439:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["4469:3:289","4483:17:289","4534:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"4439:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171547,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"4351:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4369:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"4351:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4351:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171562,"nodeType":"ExpressionStatement","src":"4351:238:289"},{"expression":{"arguments":[{"expression":{"id":171566,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4644:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4661:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"4644:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171568,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4674:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4691:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"4674:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":171571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4738:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":171572,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4768:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4785:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"4768:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171574,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4819:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171575,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4836:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"4819:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171570,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"4703:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["4733:3:289","4749:17:289","4800:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"4703:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171563,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"4617:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4635:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"4617:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4617:236:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171578,"nodeType":"ExpressionStatement","src":"4617:236:289"},{"expression":{"arguments":[{"expression":{"id":171582,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4909:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4926:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"4909:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171584,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"4939:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4956:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"4939:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":171587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5004:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":171588,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5034:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5051:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"5034:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171590,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5085:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5102:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"5085:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171586,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"4969:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["4999:3:289","5015:17:289","5066:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"4969:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171579,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"4882:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4900:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"4882:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4882:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171594,"nodeType":"ExpressionStatement","src":"4882:238:289"},{"expression":{"arguments":[{"expression":{"id":171598,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5175:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5192:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"5175:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171600,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5205:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5222:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"5205:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5269:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171604,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5297:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5314:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"5297:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171606,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5348:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5365:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"5348:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171602,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"5234:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5264:3:289","5278:17:289","5329:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"5234:144:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171595,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"5148:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5166:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"5148:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5148:234:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171610,"nodeType":"ExpressionStatement","src":"5148:234:289"},{"expression":{"arguments":[{"expression":{"id":171614,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5439:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5456:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"5439:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171616,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5469:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5486:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"5469:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5535:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171620,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5563:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5580:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"5563:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171622,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5614:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5631:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"5614:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171618,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"5500:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5530:3:289","5544:17:289","5595:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"5500:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171611,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"5412:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5430:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"5412:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5412:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171626,"nodeType":"ExpressionStatement","src":"5412:238:289"},{"expression":{"arguments":[{"expression":{"id":171630,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5707:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5724:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"5707:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171632,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5737:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5754:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"5737:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5803:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171636,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5831:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5848:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"5831:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171638,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5882:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5899:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"5882:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171634,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"5768:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5798:3:289","5812:17:289","5863:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"5768:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171627,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"5680:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5698:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"5680:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5680:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171642,"nodeType":"ExpressionStatement","src":"5680:238:289"},{"expression":{"arguments":[{"expression":{"id":171646,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"5977:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5994:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"5977:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171648,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"6007:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6024:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"6007:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6075:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171652,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"6103:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6120:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"6103:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171654,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"6154:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6171:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"6154:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171650,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"6040:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["6070:3:289","6084:17:289","6135:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"6040:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171643,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"5950:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5968:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"5950:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5950:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171658,"nodeType":"ExpressionStatement","src":"5950:242:289"},{"expression":{"arguments":[{"expression":{"id":171662,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"6256:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6273:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"6256:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171664,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"6286:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6303:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"6286:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":171668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"6359:3:289","subExpression":{"hexValue":"3235","id":171667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6360:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":171669,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"6389:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6406:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"6389:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171671,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"6440:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6457:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"6440:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171666,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"6324:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["6354:3:289","6370:17:289","6421:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"6324:155:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171659,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"6229:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6247:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"6229:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6229:254:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171675,"nodeType":"ExpressionStatement","src":"6229:254:289"},{"expression":{"arguments":[{"expression":{"id":171679,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"6540:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6557:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"6540:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171681,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"6570:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6587:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"6570:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6636:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171685,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"6664:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6681:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"6664:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171687,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"6715:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6732:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"6715:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171683,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"6601:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["6631:3:289","6645:17:289","6696:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"6601:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171676,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"6513:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6531:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"6513:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6513:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171691,"nodeType":"ExpressionStatement","src":"6513:238:289"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"createPikemanModifiers","nameLocation":"3762:22:289","parameters":{"id":171511,"nodeType":"ParameterList","parameters":[],"src":"3784:2:289"},"returnParameters":{"id":171512,"nodeType":"ParameterList","parameters":[],"src":"3787:0:289"},"scope":173333,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":171876,"nodeType":"FunctionDefinition","src":"6799:3105:289","nodes":[],"body":{"id":171875,"nodeType":"Block","src":"6836:3068:289","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":171699,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"6897:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6914:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"6897:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171701,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"6930:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6947:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"6930:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":171705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"6997:3:289","subExpression":{"hexValue":"3235","id":171704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6998:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":171706,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7027:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171707,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7044:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"7027:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171708,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7081:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7098:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"7081:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171703,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"6962:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["6992:3:289","7008:17:289","7062:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"6962:152:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171696,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"6870:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6888:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"6870:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6870:248:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171712,"nodeType":"ExpressionStatement","src":"6870:248:289"},{"expression":{"arguments":[{"expression":{"id":171716,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7176:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7193:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"7176:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171718,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7209:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7226:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"7209:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":171722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"7272:3:289","subExpression":{"hexValue":"3235","id":171721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7273:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":171723,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7302:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7319:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"7302:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171725,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7356:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7373:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"7356:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171720,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"7237:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["7267:3:289","7283:17:289","7337:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"7237:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171713,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"7149:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7167:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"7149:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7149:240:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171729,"nodeType":"ExpressionStatement","src":"7149:240:289"},{"expression":{"arguments":[{"expression":{"id":171733,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7450:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7467:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"7450:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171735,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7483:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7500:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"7483:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7549:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171739,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7577:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7594:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"7577:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171741,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7631:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7648:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"7631:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171737,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"7514:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["7544:3:289","7558:17:289","7612:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"7514:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171730,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"7423:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7441:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"7423:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7423:244:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171745,"nodeType":"ExpressionStatement","src":"7423:244:289"},{"expression":{"arguments":[{"expression":{"id":171749,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7725:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7742:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"7725:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171751,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7758:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7775:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"7758:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":171754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7822:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":171755,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7852:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7869:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"7852:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171757,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7906:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7923:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"7906:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171753,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"7787:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["7817:3:289","7833:17:289","7887:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"7787:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171746,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"7698:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7716:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"7698:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7698:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171761,"nodeType":"ExpressionStatement","src":"7698:242:289"},{"expression":{"arguments":[{"expression":{"id":171765,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"7999:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8016:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"7999:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171767,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8032:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171768,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8049:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"8032:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":171770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8097:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":171771,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8127:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8144:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"8127:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171773,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8181:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171774,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8198:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"8181:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171769,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"8062:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8092:3:289","8108:17:289","8162:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"8062:150:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171762,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"7972:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7990:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"7972:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7972:244:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171777,"nodeType":"ExpressionStatement","src":"7972:244:289"},{"expression":{"arguments":[{"expression":{"id":171781,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8274:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8291:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"8274:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171783,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8307:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8324:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"8307:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8371:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171787,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8399:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8416:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"8399:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171789,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8453:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8470:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"8453:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171785,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"8336:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8366:3:289","8380:17:289","8434:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"8336:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171778,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"8247:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8265:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"8247:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8247:240:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171793,"nodeType":"ExpressionStatement","src":"8247:240:289"},{"expression":{"arguments":[{"expression":{"id":171797,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8547:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8564:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"8547:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171799,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8580:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8597:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"8580:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8646:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171803,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8674:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171804,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8691:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"8674:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171805,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8728:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8745:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"8728:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171801,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"8611:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8641:3:289","8655:17:289","8709:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"8611:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171794,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"8520:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8538:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"8520:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8520:244:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171809,"nodeType":"ExpressionStatement","src":"8520:244:289"},{"expression":{"arguments":[{"expression":{"id":171813,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8824:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8841:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"8824:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171815,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8857:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8874:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"8857:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8923:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171819,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8951:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8968:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"8951:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171821,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9005:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9022:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"9005:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171817,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"8888:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8918:3:289","8932:17:289","8986:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"8888:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171810,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"8797:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8815:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"8797:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8797:244:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171825,"nodeType":"ExpressionStatement","src":"8797:244:289"},{"expression":{"arguments":[{"expression":{"id":171829,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9103:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9120:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"9103:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171831,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9136:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9153:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"9136:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9204:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171835,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9232:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9249:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"9232:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171837,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9286:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171838,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9303:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"9286:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171833,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"9169:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9199:3:289","9213:17:289","9267:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"9169:151:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171826,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"9076:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9094:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"9076:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9076:248:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171841,"nodeType":"ExpressionStatement","src":"9076:248:289"},{"expression":{"arguments":[{"expression":{"id":171845,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9391:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9408:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"9391:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171847,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9424:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171848,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9441:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"9424:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":171851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"9497:3:289","subExpression":{"hexValue":"3235","id":171850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9498:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":171852,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9527:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9544:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"9527:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171854,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9581:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9598:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"9581:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171849,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"9462:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9492:3:289","9508:17:289","9562:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"9462:158:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171842,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"9364:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9382:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"9364:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9364:260:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171858,"nodeType":"ExpressionStatement","src":"9364:260:289"},{"expression":{"arguments":[{"expression":{"id":171862,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9684:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9701:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"9684:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171864,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9717:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9734:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"9717:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9783:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171868,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9811:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9828:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"9811:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171870,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9865:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9882:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"9865:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171866,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"9748:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9778:3:289","9792:17:289","9846:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"9748:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171859,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"9657:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9675:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"9657:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9657:244:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171874,"nodeType":"ExpressionStatement","src":"9657:244:289"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"createHalberdierModifiers","nameLocation":"6808:25:289","parameters":{"id":171694,"nodeType":"ParameterList","parameters":[],"src":"6833:2:289"},"returnParameters":{"id":171695,"nodeType":"ParameterList","parameters":[],"src":"6836:0:289"},"scope":173333,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":172073,"nodeType":"FunctionDefinition","src":"9939:3207:289","nodes":[],"body":{"id":172072,"nodeType":"Block","src":"9971:3175:289","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":171882,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10027:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10044:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"10027:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171884,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10055:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10072:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"10055:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":171887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10122:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":171888,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10152:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10169:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"10152:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171890,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10201:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10218:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"10201:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171886,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"10087:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["10117:3:289","10133:17:289","10182:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"10087:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171879,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"10000:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10018:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"10000:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10000:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171894,"nodeType":"ExpressionStatement","src":"10000:238:289"},{"expression":{"arguments":[{"expression":{"id":171898,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10292:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10309:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"10292:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171900,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10320:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10337:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"10320:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10385:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171904,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10413:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10430:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"10413:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171906,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10462:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171907,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10479:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"10462:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171902,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"10350:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171908,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["10380:3:289","10394:17:289","10443:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"10350:143:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171895,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"10265:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10283:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"10265:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10265:232:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171910,"nodeType":"ExpressionStatement","src":"10265:232:289"},{"expression":{"arguments":[{"expression":{"id":171914,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10554:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10571:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"10554:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171916,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10582:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10599:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"10582:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10650:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171920,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10678:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10695:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"10678:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171922,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10727:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10744:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"10727:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171918,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"10615:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["10645:3:289","10659:17:289","10708:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"10615:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171911,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"10527:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10545:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"10527:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10527:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171926,"nodeType":"ExpressionStatement","src":"10527:238:289"},{"expression":{"arguments":[{"expression":{"id":171930,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10820:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10837:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"10820:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171932,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10848:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10865:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"10848:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10914:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171936,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10942:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10959:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"10942:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171938,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"10991:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11008:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"10991:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171934,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"10879:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["10909:3:289","10923:17:289","10972:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"10879:144:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171927,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"10793:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10811:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"10793:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10793:234:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171942,"nodeType":"ExpressionStatement","src":"10793:234:289"},{"expression":{"arguments":[{"expression":{"id":171946,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11080:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11097:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"11080:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171948,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11108:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171949,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11125:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"11108:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":171951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11172:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":171952,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11201:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11218:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"11201:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171954,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11250:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11267:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"11250:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171950,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"11137:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171956,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["11167:3:289","11182:17:289","11231:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"11137:143:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171943,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"11053:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11071:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"11053:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11053:231:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171958,"nodeType":"ExpressionStatement","src":"11053:231:289"},{"expression":{"arguments":[{"expression":{"id":171962,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11338:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11355:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"11338:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171964,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11366:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11383:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"11366:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":171967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11431:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":171968,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11459:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11476:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"11459:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171970,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11508:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171971,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11525:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"11508:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171966,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"11396:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["11426:3:289","11440:17:289","11489:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"11396:143:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171959,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"11311:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11329:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"11311:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11311:232:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171974,"nodeType":"ExpressionStatement","src":"11311:232:289"},{"expression":{"arguments":[{"expression":{"id":171978,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11596:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11613:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"11596:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171980,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11624:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11641:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"11624:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":171983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11688:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":171984,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11718:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11735:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"11718:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171986,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11767:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171987,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11784:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"11767:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171982,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"11653:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":171988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["11683:3:289","11699:17:289","11748:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"11653:144:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171975,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"11569:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11587:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"11569:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":171989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11569:232:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":171990,"nodeType":"ExpressionStatement","src":"11569:232:289"},{"expression":{"arguments":[{"expression":{"id":171994,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11856:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171995,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11873:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"11856:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":171996,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11884:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":171997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11901:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"11884:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":171999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11950:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":172000,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"11979:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11996:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"11979:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172002,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12028:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12045:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"12028:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":171998,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"11915:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["11945:3:289","11960:17:289","12009:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"11915:145:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":171991,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"11829:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":171993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11847:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"11829:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172005,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11829:235:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172006,"nodeType":"ExpressionStatement","src":"11829:235:289"},{"expression":{"arguments":[{"expression":{"id":172010,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12119:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12136:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"12119:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172012,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12147:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12164:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"12147:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172016,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"12213:3:289","subExpression":{"hexValue":"3235","id":172015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12214:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172017,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12243:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12260:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"12243:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172019,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12292:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12309:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"12292:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172014,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"12178:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["12208:3:289","12224:17:289","12273:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"12178:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172007,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"12092:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12110:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"12092:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12092:236:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172023,"nodeType":"ExpressionStatement","src":"12092:236:289"},{"expression":{"arguments":[{"expression":{"id":172027,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12385:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172028,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12402:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"12385:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172029,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12413:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12430:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"12413:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":172032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12481:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":172033,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12510:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12527:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"12510:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172035,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12559:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12576:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"12559:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172031,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"12446:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["12476:3:289","12491:17:289","12540:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"12446:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172024,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"12358:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12376:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"12358:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12358:239:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172039,"nodeType":"ExpressionStatement","src":"12358:239:289"},{"expression":{"arguments":[{"expression":{"id":172043,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12659:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12676:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"12659:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172045,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12687:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12704:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"12687:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":172048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12760:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":172049,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12788:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12805:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"12788:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172051,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12837:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12854:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"12837:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172047,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"12725:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["12755:3:289","12769:17:289","12818:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"12725:151:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172040,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"12632:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12650:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"12632:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12632:248:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172055,"nodeType":"ExpressionStatement","src":"12632:248:289"},{"expression":{"arguments":[{"expression":{"id":172059,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12935:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12952:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"12935:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172061,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"12963:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12980:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"12963:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":172064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13029:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":172065,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"13058:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172066,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13075:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"13058:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172067,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"13107:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13124:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"13107:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172063,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"12994:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["13024:3:289","13039:17:289","13088:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"12994:145:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172056,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"12908:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12926:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"12908:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12908:235:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172071,"nodeType":"ExpressionStatement","src":"12908:235:289"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"createBruteModifiers","nameLocation":"9948:20:289","parameters":{"id":171877,"nodeType":"ParameterList","parameters":[],"src":"9968:2:289"},"returnParameters":{"id":171878,"nodeType":"ParameterList","parameters":[],"src":"9971:0:289"},"scope":173333,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":172294,"nodeType":"FunctionDefinition","src":"13190:3598:289","nodes":[],"body":{"id":172293,"nodeType":"Block","src":"13225:3563:289","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":172079,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"13284:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172080,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13301:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"13284:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172081,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"13315:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13332:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"13315:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"13382:3:289","subExpression":{"hexValue":"3235","id":172084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13383:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172086,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"13412:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13429:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"13412:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172088,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"13464:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172089,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13481:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"13464:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172083,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"13347:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["13377:3:289","13393:17:289","13445:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"13347:150:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172076,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"13257:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13275:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"13257:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13257:244:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172092,"nodeType":"ExpressionStatement","src":"13257:244:289"},{"expression":{"arguments":[{"expression":{"id":172096,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"13558:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13575:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"13558:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172098,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"13589:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13606:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"13589:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"13654:3:289","subExpression":{"hexValue":"3235","id":172101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13655:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172103,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"13684:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13701:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"13684:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172105,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"13736:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13753:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"13736:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172100,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"13619:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["13649:3:289","13665:17:289","13717:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"13619:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172093,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"13531:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13549:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"13531:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13531:240:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172109,"nodeType":"ExpressionStatement","src":"13531:240:289"},{"expression":{"arguments":[{"expression":{"id":172113,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"13831:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172114,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13848:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"13831:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172115,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"13862:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13879:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"13862:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"13930:3:289","subExpression":{"hexValue":"3235","id":172118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13931:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172120,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"13960:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172121,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13977:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"13960:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172122,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14012:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172123,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14029:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"14012:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172117,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"13895:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["13925:3:289","13941:17:289","13993:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"13895:151:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172110,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"13804:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13822:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"13804:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13804:246:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172126,"nodeType":"ExpressionStatement","src":"13804:246:289"},{"expression":{"arguments":[{"expression":{"id":172130,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14106:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14123:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"14106:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172132,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14137:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172133,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14154:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"14137:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"14200:3:289","subExpression":{"hexValue":"3530","id":172135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14201:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"}},{"expression":{"id":172137,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14230:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14247:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"14230:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172139,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14282:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14299:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"14282:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172134,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"14165:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["14195:3:289","14211:17:289","14263:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"14165:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172127,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"14079:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14097:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"14079:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14079:236:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172143,"nodeType":"ExpressionStatement","src":"14079:236:289"},{"expression":{"arguments":[{"expression":{"id":172147,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14374:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14391:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"14374:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172149,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14405:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14422:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"14405:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"14471:3:289","subExpression":{"hexValue":"3530","id":172152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14472:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"}},{"expression":{"id":172154,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14501:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14518:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"14501:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172156,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14553:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14570:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"14553:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172151,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"14436:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["14466:3:289","14482:17:289","14534:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"14436:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172144,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"14347:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14365:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"14347:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14347:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172160,"nodeType":"ExpressionStatement","src":"14347:242:289"},{"expression":{"arguments":[{"expression":{"id":172164,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14646:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14663:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"14646:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172166,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14677:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172167,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14694:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"14677:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"14741:3:289","subExpression":{"hexValue":"3530","id":172169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14742:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"}},{"expression":{"id":172171,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14771:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14788:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"14771:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172173,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14823:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14840:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"14823:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172168,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"14706:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["14736:3:289","14752:17:289","14804:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"14706:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172161,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"14619:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14637:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"14619:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14619:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172177,"nodeType":"ExpressionStatement","src":"14619:238:289"},{"expression":{"arguments":[{"expression":{"id":172181,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14914:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14931:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"14914:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172183,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"14945:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172184,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14962:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"14945:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"15010:3:289","subExpression":{"hexValue":"3530","id":172186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15011:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"}},{"expression":{"id":172188,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"15040:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15057:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"15040:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172190,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"15092:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15109:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"15092:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172185,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"14975:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["15005:3:289","15021:17:289","15073:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"14975:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172178,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"14887:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14905:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"14887:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14887:240:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172194,"nodeType":"ExpressionStatement","src":"14887:240:289"},{"expression":{"arguments":[{"expression":{"id":172198,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"15183:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15200:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"15183:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172200,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"15214:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15231:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"15214:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"15278:3:289","subExpression":{"hexValue":"3235","id":172203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15279:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172205,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"15308:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15325:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"15308:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172207,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"15360:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15377:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"15360:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172202,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"15243:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["15273:3:289","15289:17:289","15341:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"15243:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172195,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"15156:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15174:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"15156:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15156:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172211,"nodeType":"ExpressionStatement","src":"15156:238:289"},{"expression":{"arguments":[{"expression":{"id":172215,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"15452:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15469:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"15452:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172217,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"15483:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15500:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"15483:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":172220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15549:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":172221,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"15579:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15596:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"15579:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172223,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"15631:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15648:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"15631:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172219,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"15514:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["15544:3:289","15560:17:289","15612:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"15514:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172212,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"15425:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15443:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"15425:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15425:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172227,"nodeType":"ExpressionStatement","src":"15425:242:289"},{"expression":{"arguments":[{"expression":{"id":172231,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"15725:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15742:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"15725:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172233,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"15756:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15773:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"15756:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"15822:3:289","subExpression":{"hexValue":"3235","id":172236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15823:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172238,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"15852:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172239,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15869:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"15852:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172240,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"15904:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15921:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"15904:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172235,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"15787:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["15817:3:289","15833:17:289","15885:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"15787:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172228,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"15698:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15716:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"15698:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15698:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172244,"nodeType":"ExpressionStatement","src":"15698:242:289"},{"expression":{"arguments":[{"expression":{"id":172248,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"16000:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16017:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"16000:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172250,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"16031:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172251,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16048:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"16031:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313530","id":172253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16099:3:289","typeDescriptions":{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"},"value":"150"},{"expression":{"id":172254,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"16129:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16146:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"16129:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172256,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"16181:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16198:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"16181:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172252,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"16064:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["16094:3:289","16110:17:289","16162:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"16064:151:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172245,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"15973:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15991:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"15973:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15973:246:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172260,"nodeType":"ExpressionStatement","src":"15973:246:289"},{"expression":{"arguments":[{"expression":{"id":172264,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"16284:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172265,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16301:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"16284:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172266,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"16315:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16332:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"16315:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":172269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16388:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":172270,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"16417:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16434:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"16417:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172272,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"16469:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16486:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"16469:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172268,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"16353:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["16383:3:289","16398:17:289","16450:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"16353:155:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172261,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"16257:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16275:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"16257:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16257:255:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172276,"nodeType":"ExpressionStatement","src":"16257:255:289"},{"expression":{"arguments":[{"expression":{"id":172280,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"16570:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16587:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"16570:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172282,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"16601:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16618:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"16601:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313530","id":172285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16667:3:289","typeDescriptions":{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"},"value":"150"},{"expression":{"id":172286,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"16697:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172287,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16714:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"16697:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172288,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"16749:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16766:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"16749:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172284,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"16632:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["16662:3:289","16678:17:289","16730:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"16632:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172277,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"16543:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16561:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"16543:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16543:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172292,"nodeType":"ExpressionStatement","src":"16543:242:289"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"createPillagerModifiers","nameLocation":"13199:23:289","parameters":{"id":172074,"nodeType":"ParameterList","parameters":[],"src":"13222:2:289"},"returnParameters":{"id":172075,"nodeType":"ParameterList","parameters":[],"src":"13225:0:289"},"scope":173333,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":172493,"nodeType":"FunctionDefinition","src":"16828:3245:289","nodes":[],"body":{"id":172492,"nodeType":"Block","src":"16861:3212:289","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":172300,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"16918:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16935:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"16918:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172302,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"16947:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16964:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"16947:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":172305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17014:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":172306,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17042:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172307,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17059:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"17042:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172308,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17092:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17109:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"17092:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172304,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"16979:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["17009:3:289","17023:17:289","17073:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"16979:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172297,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"16891:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16909:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"16891:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16891:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172312,"nodeType":"ExpressionStatement","src":"16891:238:289"},{"expression":{"arguments":[{"expression":{"id":172316,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17184:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17201:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"17184:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172318,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17213:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17230:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"17213:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"17278:3:289","subExpression":{"hexValue":"3530","id":172321,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17279:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"}},{"expression":{"id":172323,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17308:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17325:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"17308:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172325,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17358:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17375:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"17358:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172320,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"17243:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["17273:3:289","17289:17:289","17339:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"17243:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172313,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"17157:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17175:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"17157:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17157:236:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172329,"nodeType":"ExpressionStatement","src":"17157:236:289"},{"expression":{"arguments":[{"expression":{"id":172333,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17451:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17468:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"17451:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172335,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17480:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17497:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"17480:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"17548:3:289","subExpression":{"hexValue":"3530","id":172338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17549:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"}},{"expression":{"id":172340,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17578:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17595:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"17578:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172342,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17628:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17645:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"17628:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172337,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"17513:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["17543:3:289","17559:17:289","17609:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"17513:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172330,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"17424:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17442:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"17424:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17424:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172346,"nodeType":"ExpressionStatement","src":"17424:242:289"},{"expression":{"arguments":[{"expression":{"id":172350,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17720:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17737:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"17720:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172352,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17749:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17766:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"17749:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":172355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17812:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":172356,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17840:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17857:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"17840:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172358,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17890:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17907:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"17890:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172354,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"17777:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["17807:3:289","17821:17:289","17871:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"17777:142:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172347,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"17693:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17711:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"17693:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17693:230:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172362,"nodeType":"ExpressionStatement","src":"17693:230:289"},{"expression":{"arguments":[{"expression":{"id":172366,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"17980:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17997:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"17980:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172368,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18009:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18026:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"18009:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":172371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18075:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":172372,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18105:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18122:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"18105:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172374,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18155:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172375,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18172:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"18155:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172370,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"18040:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["18070:3:289","18086:17:289","18136:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"18040:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172363,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"17953:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17971:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"17953:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17953:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172378,"nodeType":"ExpressionStatement","src":"17953:238:289"},{"expression":{"arguments":[{"expression":{"id":172382,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18246:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18263:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"18246:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172384,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18275:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18292:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"18275:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":172387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18340:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":172388,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18368:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172389,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18385:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"18368:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172390,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18418:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18435:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"18418:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172386,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"18305:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["18335:3:289","18349:17:289","18399:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"18305:144:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172379,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"18219:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18237:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"18219:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18219:234:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172394,"nodeType":"ExpressionStatement","src":"18219:234:289"},{"expression":{"arguments":[{"expression":{"id":172398,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18507:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18524:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"18507:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172400,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18536:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172401,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18553:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"18536:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":172403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18600:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":172404,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18630:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18647:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"18630:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172406,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18680:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18697:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"18680:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172402,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"18565:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["18595:3:289","18611:17:289","18661:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"18565:145:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172395,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"18480:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18498:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"18480:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18480:234:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172410,"nodeType":"ExpressionStatement","src":"18480:234:289"},{"expression":{"arguments":[{"expression":{"id":172414,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18770:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18787:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"18770:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172416,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18799:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18816:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"18799:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":172419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18865:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":172420,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18893:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18910:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"18893:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172422,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"18943:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18960:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"18943:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172418,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"18830:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["18860:3:289","18874:17:289","18924:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"18830:145:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172411,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"18743:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18761:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"18743:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18743:236:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172426,"nodeType":"ExpressionStatement","src":"18743:236:289"},{"expression":{"arguments":[{"expression":{"id":172430,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19035:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19052:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"19035:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172432,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19064:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19081:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"19064:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":172435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19130:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":172436,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19160:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19177:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"19160:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172438,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19210:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19227:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"19210:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172434,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"19095:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["19125:3:289","19141:17:289","19191:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"19095:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172427,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"19008:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19026:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"19008:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19008:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172442,"nodeType":"ExpressionStatement","src":"19008:238:289"},{"expression":{"arguments":[{"expression":{"id":172446,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19304:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19321:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"19304:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172448,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19333:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172449,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19350:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"19333:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":172451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19401:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":172452,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19429:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19446:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"19429:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172454,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19479:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19496:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"19479:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172450,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"19366:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["19396:3:289","19410:17:289","19460:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"19366:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172443,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"19277:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19295:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"19277:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19277:240:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172458,"nodeType":"ExpressionStatement","src":"19277:240:289"},{"expression":{"arguments":[{"expression":{"id":172462,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19580:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19597:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"19580:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172464,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19609:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19626:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"19609:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172468,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"19682:3:289","subExpression":{"hexValue":"3235","id":172467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19683:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172469,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19712:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19729:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"19712:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172471,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19762:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172472,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19779:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"19762:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172466,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"19647:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["19677:3:289","19693:17:289","19743:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"19647:154:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172459,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"19553:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19571:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"19553:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19553:252:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172475,"nodeType":"ExpressionStatement","src":"19553:252:289"},{"expression":{"arguments":[{"expression":{"id":172479,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19861:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19878:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"19861:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172481,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19890:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19907:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"19890:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":172484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19956:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":172485,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"19984:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20001:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"19984:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172487,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"20034:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20051:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"20034:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172483,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"19921:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["19951:3:289","19965:17:289","20015:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"19921:145:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172476,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"19834:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19852:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"19834:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19834:236:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172491,"nodeType":"ExpressionStatement","src":"19834:236:289"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"createKnightModifiers","nameLocation":"16837:21:289","parameters":{"id":172295,"nodeType":"ParameterList","parameters":[],"src":"16858:2:289"},"returnParameters":{"id":172296,"nodeType":"ParameterList","parameters":[],"src":"16861:0:289"},"scope":173333,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":172693,"nodeType":"FunctionDefinition","src":"20115:3280:289","nodes":[],"body":{"id":172692,"nodeType":"Block","src":"20149:3246:289","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":172499,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"20207:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172500,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20224:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"20207:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172501,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"20237:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20254:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"20237:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":172504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20304:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":172505,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"20333:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20350:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"20333:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172507,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"20384:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20401:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"20384:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172503,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"20269:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["20299:3:289","20314:17:289","20365:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"20269:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172496,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"20180:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20198:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"20180:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20180:241:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172511,"nodeType":"ExpressionStatement","src":"20180:241:289"},{"expression":{"arguments":[{"expression":{"id":172515,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"20477:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20494:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"20477:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172517,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"20507:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172518,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20524:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"20507:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172521,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"20572:3:289","subExpression":{"hexValue":"3530","id":172520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20573:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"}},{"expression":{"id":172522,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"20602:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172523,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20619:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"20602:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172524,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"20653:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20670:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"20653:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172519,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"20537:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["20567:3:289","20583:17:289","20634:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"20537:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172512,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"20450:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20468:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"20450:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20450:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172528,"nodeType":"ExpressionStatement","src":"20450:238:289"},{"expression":{"arguments":[{"expression":{"id":172532,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"20747:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20764:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"20747:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172534,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"20777:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172535,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20794:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"20777:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172538,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"20845:3:289","subExpression":{"hexValue":"3530","id":172537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20846:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"}},{"expression":{"id":172539,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"20875:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20892:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"20875:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172541,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"20926:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20943:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"20926:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172536,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"20810:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["20840:3:289","20856:17:289","20907:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"20810:150:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172529,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"20720:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20738:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"20720:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20720:244:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172545,"nodeType":"ExpressionStatement","src":"20720:244:289"},{"expression":{"arguments":[{"expression":{"id":172549,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21018:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21035:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"21018:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172551,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21048:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21065:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"21048:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"21111:3:289","subExpression":{"hexValue":"3235","id":172554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21112:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172556,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21141:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21158:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"21141:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172558,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21192:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21209:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"21192:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172553,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"21076:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["21106:3:289","21122:17:289","21173:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"21076:145:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172546,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"20991:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21009:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"20991:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20991:234:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172562,"nodeType":"ExpressionStatement","src":"20991:234:289"},{"expression":{"arguments":[{"expression":{"id":172566,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21282:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21299:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"21282:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172568,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21312:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21329:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"21312:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":172571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21378:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":172572,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21408:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21425:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"21408:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172574,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21459:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172575,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21476:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"21459:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172570,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"21343:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["21373:3:289","21389:17:289","21440:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"21343:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172563,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"21255:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21273:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"21255:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21255:240:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172578,"nodeType":"ExpressionStatement","src":"21255:240:289"},{"expression":{"arguments":[{"expression":{"id":172582,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21550:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21567:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"21550:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172584,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21580:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21597:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"21580:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":172587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21644:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":172588,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21672:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21689:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"21672:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172590,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21723:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21740:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"21723:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172586,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"21609:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["21639:3:289","21653:17:289","21704:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"21609:144:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172579,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"21523:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21541:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"21523:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21523:234:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172594,"nodeType":"ExpressionStatement","src":"21523:234:289"},{"expression":{"arguments":[{"expression":{"id":172598,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21812:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21829:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"21812:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172600,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21842:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21859:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"21842:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":172603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21906:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":172604,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21936:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21953:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"21936:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172606,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"21987:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22004:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"21987:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172602,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"21871:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["21901:3:289","21917:17:289","21968:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"21871:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172595,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"21785:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21803:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"21785:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21785:236:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172610,"nodeType":"ExpressionStatement","src":"21785:236:289"},{"expression":{"arguments":[{"expression":{"id":172614,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"22078:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22095:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"22078:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172616,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"22108:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22125:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"22108:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":172619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22174:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":172620,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"22202:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22219:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"22202:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172622,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"22253:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22270:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"22253:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172618,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"22139:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["22169:3:289","22183:17:289","22234:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"22139:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172611,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"22051:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22069:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"22051:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22051:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172626,"nodeType":"ExpressionStatement","src":"22051:238:289"},{"expression":{"arguments":[{"expression":{"id":172630,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"22346:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22363:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"22346:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172632,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"22376:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22393:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"22376:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":172635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22442:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":172636,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"22472:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22489:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"22472:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172638,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"22523:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22540:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"22523:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172634,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"22407:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["22437:3:289","22453:17:289","22504:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"22407:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172627,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"22319:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22337:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"22319:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22319:240:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172642,"nodeType":"ExpressionStatement","src":"22319:240:289"},{"expression":{"arguments":[{"expression":{"id":172646,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"22618:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22635:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"22618:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172648,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"22648:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22665:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"22648:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":172651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22716:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":172652,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"22744:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22761:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"22744:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172654,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"22795:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22812:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"22795:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172650,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"22681:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["22711:3:289","22725:17:289","22776:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"22681:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172643,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"22591:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22609:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"22591:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22591:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172658,"nodeType":"ExpressionStatement","src":"22591:242:289"},{"expression":{"arguments":[{"expression":{"id":172662,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"22897:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172663,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22914:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"22897:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172664,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"22927:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22944:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"22927:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"23000:3:289","subExpression":{"hexValue":"3235","id":172667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23001:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172669,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"23030:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23047:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"23030:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172671,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"23081:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23098:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"23081:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172666,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"22965:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["22995:3:289","23011:17:289","23062:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"22965:155:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172659,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"22870:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22888:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"22870:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22870:254:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172675,"nodeType":"ExpressionStatement","src":"22870:254:289"},{"expression":{"arguments":[{"expression":{"id":172679,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"23181:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23198:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"23181:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172681,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"23211:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23228:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"23211:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":172684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23277:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":172685,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"23305:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172686,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23322:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"23305:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172687,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"23356:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23373:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"23356:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172683,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"23242:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["23272:3:289","23286:17:289","23337:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"23242:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172676,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"23154:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23172:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"23154:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23154:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172691,"nodeType":"ExpressionStatement","src":"23154:238:289"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"createDragoonModifiers","nameLocation":"20124:22:289","parameters":{"id":172494,"nodeType":"ParameterList","parameters":[],"src":"20146:2:289"},"returnParameters":{"id":172495,"nodeType":"ParameterList","parameters":[],"src":"20149:0:289"},"scope":173333,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":172896,"nodeType":"FunctionDefinition","src":"23435:3252:289","nodes":[],"body":{"id":172895,"nodeType":"Block","src":"23468:3219:289","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":172699,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"23525:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23542:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"23525:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172701,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"23554:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23571:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"23554:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313235","id":172704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23621:3:289","typeDescriptions":{"typeIdentifier":"t_rational_125_by_1","typeString":"int_const 125"},"value":"125"},{"expression":{"id":172705,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"23651:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172706,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23668:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"23651:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172707,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"23701:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172708,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23718:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"23701:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_125_by_1","typeString":"int_const 125"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172703,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"23586:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["23616:3:289","23632:17:289","23682:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"23586:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172696,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"23498:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23516:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"23498:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23498:240:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172711,"nodeType":"ExpressionStatement","src":"23498:240:289"},{"expression":{"arguments":[{"expression":{"id":172715,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"23793:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23810:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"23793:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172717,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"23822:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23839:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"23822:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":172720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23887:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":172721,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"23917:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23934:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"23917:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172723,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"23967:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23984:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"23967:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172719,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"23852:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["23882:3:289","23898:17:289","23948:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"23852:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172712,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"23766:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23784:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"23766:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23766:236:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172727,"nodeType":"ExpressionStatement","src":"23766:236:289"},{"expression":{"arguments":[{"expression":{"id":172731,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24060:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172732,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24077:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"24060:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172733,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24089:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24106:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"24089:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":172736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24157:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":172737,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24187:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24204:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"24187:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172739,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24237:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24254:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"24237:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172735,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"24122:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["24152:3:289","24168:17:289","24218:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"24122:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172728,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"24033:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24051:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"24033:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24033:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172743,"nodeType":"ExpressionStatement","src":"24033:242:289"},{"expression":{"arguments":[{"expression":{"id":172747,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24328:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24345:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"24328:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172749,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24357:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24374:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"24357:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3235","id":172752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24420:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},{"expression":{"id":172753,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24449:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172754,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24466:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"24449:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172755,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24499:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24516:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"24499:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172751,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"24385:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["24415:3:289","24430:17:289","24480:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"24385:143:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172744,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"24301:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24319:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"24301:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24301:231:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172759,"nodeType":"ExpressionStatement","src":"24301:231:289"},{"expression":{"arguments":[{"expression":{"id":172763,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24588:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24605:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"24588:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172765,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24617:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172766,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24634:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"24617:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"24683:3:289","subExpression":{"hexValue":"3235","id":172768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24684:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172770,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24713:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24730:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"24713:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172772,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24763:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24780:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"24763:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172767,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"24648:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["24678:3:289","24694:17:289","24744:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"24648:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172760,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"24561:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24579:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"24561:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24561:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172776,"nodeType":"ExpressionStatement","src":"24561:238:289"},{"expression":{"arguments":[{"expression":{"id":172780,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24853:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24870:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"24853:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172782,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24882:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24899:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"24882:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"24946:3:289","subExpression":{"hexValue":"3235","id":172785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24947:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172787,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"24976:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24993:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"24976:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172789,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25026:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25043:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"25026:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172784,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"24911:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["24941:3:289","24957:17:289","25007:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"24911:145:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172777,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"24826:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24844:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"24826:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24826:234:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172793,"nodeType":"ExpressionStatement","src":"24826:234:289"},{"expression":{"arguments":[{"expression":{"id":172797,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25115:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25132:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"25115:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172799,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25144:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25161:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"25144:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172803,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"25209:3:289","subExpression":{"hexValue":"3235","id":172802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25210:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172804,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25239:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25256:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"25239:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172806,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25289:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25306:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"25289:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172801,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"25174:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["25204:3:289","25220:17:289","25270:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"25174:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172794,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"25088:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25106:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"25088:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25088:236:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172810,"nodeType":"ExpressionStatement","src":"25088:236:289"},{"expression":{"arguments":[{"expression":{"id":172814,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25380:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172815,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25397:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"25380:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172816,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25409:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25426:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"25409:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"25475:3:289","subExpression":{"hexValue":"3235","id":172819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25476:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172821,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25505:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25522:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"25505:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172823,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25555:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25572:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"25555:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172818,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"25440:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["25470:3:289","25486:17:289","25536:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"25440:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172811,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"25353:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25371:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"25353:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25353:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172827,"nodeType":"ExpressionStatement","src":"25353:238:289"},{"expression":{"arguments":[{"expression":{"id":172831,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25647:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25664:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"25647:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172833,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25676:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172834,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25693:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"25676:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":172836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25742:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":172837,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25770:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172838,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25787:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"25770:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172839,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25820:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25837:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"25820:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172835,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"25707:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["25737:3:289","25751:17:289","25801:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"25707:145:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172828,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"25620:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25638:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"25620:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25620:236:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172843,"nodeType":"ExpressionStatement","src":"25620:236:289"},{"expression":{"arguments":[{"expression":{"id":172847,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25914:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172848,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25931:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"25914:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172849,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"25943:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172850,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25960:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"25943:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"26011:3:289","subExpression":{"hexValue":"3235","id":172852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26012:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172854,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"26041:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26058:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"26041:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172856,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"26091:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26108:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"26091:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172851,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"25976:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["26006:3:289","26022:17:289","26072:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"25976:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172844,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"25887:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25905:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"25887:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25887:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172860,"nodeType":"ExpressionStatement","src":"25887:242:289"},{"expression":{"arguments":[{"expression":{"id":172864,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"26192:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26209:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"26192:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172866,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"26221:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26238:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"26221:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"26294:3:289","subExpression":{"hexValue":"3530","id":172869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26295:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"}},{"expression":{"id":172871,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"26324:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26341:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"26324:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172873,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"26374:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26391:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"26374:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172868,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"26259:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["26289:3:289","26305:17:289","26355:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"26259:154:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172861,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"26165:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26183:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"26165:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26165:252:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172877,"nodeType":"ExpressionStatement","src":"26165:252:289"},{"expression":{"arguments":[{"expression":{"id":172881,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"26473:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26490:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"26473:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172883,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"26502:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26519:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"26502:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"26568:3:289","subExpression":{"hexValue":"3235","id":172886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26569:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172888,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"26598:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26615:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"26598:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172890,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"26648:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26665:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"26648:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172885,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"26533:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["26563:3:289","26579:17:289","26629:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"26533:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172878,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"26446:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26464:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"26446:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26446:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172894,"nodeType":"ExpressionStatement","src":"26446:238:289"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"createArcherModifiers","nameLocation":"23444:21:289","parameters":{"id":172694,"nodeType":"ParameterList","parameters":[],"src":"23465:2:289"},"returnParameters":{"id":172695,"nodeType":"ParameterList","parameters":[],"src":"23468:0:289"},"scope":173333,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":173095,"nodeType":"FunctionDefinition","src":"26731:3317:289","nodes":[],"body":{"id":173094,"nodeType":"Block","src":"26766:3282:289","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":172902,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"26825:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26842:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"26825:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172904,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"26856:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26873:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"26856:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":172907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26923:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":172908,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"26952:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26969:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"26952:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172910,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27004:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27021:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"27004:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172906,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"26888:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["26918:3:289","26933:17:289","26985:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"26888:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172899,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"26798:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26816:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"26798:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26798:243:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172914,"nodeType":"ExpressionStatement","src":"26798:243:289"},{"expression":{"arguments":[{"expression":{"id":172918,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27098:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27115:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"27098:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172920,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27129:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27146:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"27129:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":172923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27194:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":172924,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27223:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172925,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27240:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"27223:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172926,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27275:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27292:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"27275:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172922,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"27159:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27189:3:289","27204:17:289","27256:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"27159:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172915,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"27071:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27089:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"27071:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27071:239:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172930,"nodeType":"ExpressionStatement","src":"27071:239:289"},{"expression":{"arguments":[{"expression":{"id":172934,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27370:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27387:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"27370:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172936,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27401:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27418:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"27401:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":172939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27469:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":172940,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27498:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172941,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27515:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"27498:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172942,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27550:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27567:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"27550:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172938,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"27434:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27464:3:289","27479:17:289","27531:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"27434:150:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172931,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"27343:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27361:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"27343:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27343:245:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172946,"nodeType":"ExpressionStatement","src":"27343:245:289"},{"expression":{"arguments":[{"expression":{"id":172950,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27643:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27660:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"27643:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172952,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27674:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27691:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"27674:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":172955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27737:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":172956,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27767:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27784:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"27767:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172958,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27819:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27836:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"27819:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172954,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"27702:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["27732:3:289","27748:17:289","27800:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"27702:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172947,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"27616:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27634:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"27616:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27616:236:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172962,"nodeType":"ExpressionStatement","src":"27616:236:289"},{"expression":{"arguments":[{"expression":{"id":172966,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27910:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27927:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"27910:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172968,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"27941:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27958:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"27941:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172972,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"28007:3:289","subExpression":{"hexValue":"3530","id":172971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28008:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"}},{"expression":{"id":172973,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28037:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28054:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"28037:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172975,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28089:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28106:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"28089:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172970,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"27972:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["28002:3:289","28018:17:289","28070:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"27972:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172963,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"27883:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27901:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"27883:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27883:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172979,"nodeType":"ExpressionStatement","src":"27883:242:289"},{"expression":{"arguments":[{"expression":{"id":172983,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28181:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172984,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28198:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"28181:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172985,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28212:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28229:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"28212:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":172989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"28276:3:289","subExpression":{"hexValue":"3235","id":172988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28277:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":172990,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28306:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172991,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28323:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"28306:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":172992,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28358:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":172993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28375:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"28358:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":172987,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"28241:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":172994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["28271:3:289","28287:17:289","28339:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"28241:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172980,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"28154:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28172:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"28154:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":172995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28154:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":172996,"nodeType":"ExpressionStatement","src":"28154:238:289"},{"expression":{"arguments":[{"expression":{"id":173000,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28449:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173001,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28466:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"28449:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173002,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28480:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28497:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"28480:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":173006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"28545:3:289","subExpression":{"hexValue":"3235","id":173005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28546:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":173007,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28575:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173008,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28592:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"28575:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173009,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28627:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28644:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"28627:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173004,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"28510:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["28540:3:289","28556:17:289","28608:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"28510:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":172997,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"28422:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":172999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28440:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"28422:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28422:240:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173013,"nodeType":"ExpressionStatement","src":"28422:240:289"},{"expression":{"arguments":[{"expression":{"id":173017,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28718:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28735:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"28718:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173019,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28749:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28766:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"28749:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":173022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28813:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":173023,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28842:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28859:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"28842:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173025,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28894:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28911:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"28894:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173021,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"28778:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["28808:3:289","28823:17:289","28875:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"28778:146:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173014,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"28691:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28709:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"28691:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28691:237:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173029,"nodeType":"ExpressionStatement","src":"28691:237:289"},{"expression":{"arguments":[{"expression":{"id":173033,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"28986:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29003:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"28986:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173035,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"29017:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29034:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"29017:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":173038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29083:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":173039,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"29112:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29129:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"29112:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173041,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"29164:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29181:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"29164:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173037,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"29048:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["29078:3:289","29093:17:289","29145:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"29048:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173030,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"28959:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28977:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"28959:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28959:241:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173045,"nodeType":"ExpressionStatement","src":"28959:241:289"},{"expression":{"arguments":[{"expression":{"id":173049,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"29260:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29277:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"29260:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173051,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"29291:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29308:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"29291:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":173054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29359:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":173055,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"29389:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173056,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29406:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"29389:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173057,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"29441:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29458:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"29441:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173053,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"29324:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["29354:3:289","29370:17:289","29422:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"29324:151:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173046,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"29233:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29251:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"29233:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29233:246:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173061,"nodeType":"ExpressionStatement","src":"29233:246:289"},{"expression":{"arguments":[{"expression":{"id":173065,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"29544:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173066,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29561:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"29544:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173067,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"29575:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29592:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"29575:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":173070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29648:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":173071,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"29677:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29694:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"29677:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173073,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"29729:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29746:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"29729:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173069,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"29613:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["29643:3:289","29658:17:289","29710:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"29613:155:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173062,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"29517:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29535:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"29517:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29517:255:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173077,"nodeType":"ExpressionStatement","src":"29517:255:289"},{"expression":{"arguments":[{"expression":{"id":173081,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"29830:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29847:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"29830:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173083,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"29861:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29878:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"29861:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":173086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29927:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":173087,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"29957:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29974:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"29957:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173089,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"30009:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173090,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30026:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"30009:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173085,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"29892:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["29922:3:289","29938:17:289","29990:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"29892:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173078,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"29803:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29821:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"29803:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29803:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173093,"nodeType":"ExpressionStatement","src":"29803:242:289"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"createCatapultModifiers","nameLocation":"26740:23:289","parameters":{"id":172897,"nodeType":"ParameterList","parameters":[],"src":"26763:2:289"},"returnParameters":{"id":172898,"nodeType":"ParameterList","parameters":[],"src":"26766:0:289"},"scope":173333,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":173298,"nodeType":"FunctionDefinition","src":"30088:3320:289","nodes":[],"body":{"id":173297,"nodeType":"Block","src":"30123:3285:289","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":173101,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"30182:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30199:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"30182:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173103,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"30213:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30230:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"30213:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":173106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30280:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":173107,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"30310:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30327:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"30310:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173109,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"30362:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30379:9:289","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"30362:26:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173105,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"30245:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["30275:3:289","30291:17:289","30343:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"30245:150:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173098,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"30155:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30173:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"30155:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30155:244:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173113,"nodeType":"ExpressionStatement","src":"30155:244:289"},{"expression":{"arguments":[{"expression":{"id":173117,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"30456:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30473:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"30456:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173119,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"30487:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30504:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"30487:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":173122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30552:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":173123,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"30582:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173124,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30599:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"30582:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173125,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"30634:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30651:7:289","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"30634:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173121,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"30517:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["30547:3:289","30563:17:289","30615:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"30517:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173114,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"30429:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30447:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"30429:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30429:240:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173129,"nodeType":"ExpressionStatement","src":"30429:240:289"},{"expression":{"arguments":[{"expression":{"id":173133,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"30729:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30746:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"30729:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173135,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"30760:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30777:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"30760:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"313030","id":173138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30828:3:289","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"expression":{"id":173139,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"30858:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30875:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"30858:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173141,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"30910:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30927:10:289","memberName":"Halberdier","nodeType":"MemberAccess","referencedDeclaration":87298,"src":"30910:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173137,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"30793:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["30823:3:289","30839:17:289","30891:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"30793:151:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173130,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"30702:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30720:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"30702:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30702:246:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173145,"nodeType":"ExpressionStatement","src":"30702:246:289"},{"expression":{"arguments":[{"expression":{"id":173149,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31003:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31020:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"31003:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173151,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31034:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31051:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"31034:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"3530","id":173154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31097:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},{"expression":{"id":173155,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31126:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173156,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31143:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"31126:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173157,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31178:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31195:5:289","memberName":"Brute","nodeType":"MemberAccess","referencedDeclaration":87308,"src":"31178:22:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173153,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"31062:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["31092:3:289","31107:17:289","31159:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"31062:145:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173146,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"30976:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30994:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"30976:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30976:235:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173161,"nodeType":"ExpressionStatement","src":"30976:235:289"},{"expression":{"arguments":[{"expression":{"id":173165,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31269:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31286:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"31269:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173167,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31300:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31317:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"31300:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":173171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"31366:3:289","subExpression":{"hexValue":"3235","id":173170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31367:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":173172,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31396:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31413:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"31396:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173174,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31448:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31465:8:289","memberName":"Pillager","nodeType":"MemberAccess","referencedDeclaration":87299,"src":"31448:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173169,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"31331:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["31361:3:289","31377:17:289","31429:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"31331:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173162,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"31242:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31260:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"31242:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31242:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173178,"nodeType":"ExpressionStatement","src":"31242:242:289"},{"expression":{"arguments":[{"expression":{"id":173182,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31540:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31557:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"31540:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173184,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31571:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31588:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"31571:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":173188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"31635:3:289","subExpression":{"hexValue":"3235","id":173187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31636:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":173189,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31665:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31682:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"31665:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173191,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31717:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31734:6:289","memberName":"Knight","nodeType":"MemberAccess","referencedDeclaration":87300,"src":"31717:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173186,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"31600:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["31630:3:289","31646:17:289","31698:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"31600:147:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173179,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"31513:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31531:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"31513:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31513:238:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173195,"nodeType":"ExpressionStatement","src":"31513:238:289"},{"expression":{"arguments":[{"expression":{"id":173199,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31808:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31825:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"31808:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173201,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31839:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31856:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"31839:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":173205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"31904:3:289","subExpression":{"hexValue":"3235","id":173204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31905:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":173206,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31934:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31951:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"31934:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173208,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"31986:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32003:7:289","memberName":"Dragoon","nodeType":"MemberAccess","referencedDeclaration":87301,"src":"31986:24:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173203,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"31869:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["31899:3:289","31915:17:289","31967:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"31869:148:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173196,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"31781:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31799:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"31781:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31781:240:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173212,"nodeType":"ExpressionStatement","src":"31781:240:289"},{"expression":{"arguments":[{"expression":{"id":173216,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"32077:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173217,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32094:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"32077:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173218,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"32108:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32125:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"32108:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"hexValue":"30","id":173221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32172:1:289","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":173222,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"32200:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32217:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"32200:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173224,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"32252:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173225,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32269:6:289","memberName":"Archer","nodeType":"MemberAccess","referencedDeclaration":87302,"src":"32252:23:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173220,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"32137:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["32167:3:289","32181:17:289","32233:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"32137:145:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173213,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"32050:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32068:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"32050:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32050:236:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173228,"nodeType":"ExpressionStatement","src":"32050:236:289"},{"expression":{"arguments":[{"expression":{"id":173232,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"32344:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32361:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"32344:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173234,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"32375:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32392:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"32375:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":173238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"32441:3:289","subExpression":{"hexValue":"3235","id":173237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32442:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":173239,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"32471:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173240,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32488:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"32471:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173241,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"32523:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32540:8:289","memberName":"Catapult","nodeType":"MemberAccess","referencedDeclaration":87303,"src":"32523:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173236,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"32406:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["32436:3:289","32452:17:289","32504:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"32406:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173229,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"32317:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32335:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"32317:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32317:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173245,"nodeType":"ExpressionStatement","src":"32317:242:289"},{"expression":{"arguments":[{"expression":{"id":173249,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"32619:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32636:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"32619:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173251,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"32650:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32667:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"32650:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":173255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"32718:3:289","subExpression":{"hexValue":"3235","id":173254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32719:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":173256,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"32748:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32765:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"32748:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173258,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"32800:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173259,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32817:10:289","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87305,"src":"32800:27:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173253,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"32683:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173260,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["32713:3:289","32729:17:289","32781:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"32683:151:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173246,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"32592:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32610:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"32592:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32592:246:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173262,"nodeType":"ExpressionStatement","src":"32592:246:289"},{"expression":{"arguments":[{"expression":{"id":173266,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"32903:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32920:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"32903:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173268,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"32934:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32951:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"32934:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":173272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"33007:3:289","subExpression":{"hexValue":"3530","id":173271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33008:2:289","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"}},{"expression":{"id":173273,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"33037:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173274,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33054:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"33037:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173275,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"33089:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173276,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33106:15:289","memberName":"SpawnSettlement","nodeType":"MemberAccess","referencedDeclaration":87306,"src":"33089:32:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_50_by_1","typeString":"int_const -50"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173270,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"32972:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["33002:3:289","33018:17:289","33070:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"32972:156:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173263,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"32876:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32894:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"32876:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32876:256:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173279,"nodeType":"ExpressionStatement","src":"32876:256:289"},{"expression":{"arguments":[{"expression":{"id":173283,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"33190:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33207:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"33190:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173285,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"33221:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173286,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33238:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"33221:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"arguments":[{"id":173289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"33287:3:289","subExpression":{"hexValue":"3235","id":173288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33288:2:289","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"}},{"expression":{"id":173290,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"33317:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33334:8:289","memberName":"Marksman","nodeType":"MemberAccess","referencedDeclaration":87304,"src":"33317:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":173292,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"33369:16:289","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":173293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33386:8:289","memberName":"GoldMine","nodeType":"MemberAccess","referencedDeclaration":87307,"src":"33369:25:289","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_minus_25_by_1","typeString":"int_const -25"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":173287,"name":"ArchetypeModifierData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88235,"src":"33252:21:289","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ArchetypeModifierData_$88235_storage_ptr_$","typeString":"type(struct ArchetypeModifierData storage pointer)"}},"id":173294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["33282:3:289","33298:17:289","33350:17:289"],"names":["mod","attackerArchetype","defenderArchetype"],"nodeType":"FunctionCall","src":"33252:149:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_struct$_ArchetypeModifierData_$88235_memory_ptr","typeString":"struct ArchetypeModifierData memory"}],"expression":{"id":173280,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"33163:17:289","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":173282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33181:3:289","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":89637,"src":"33163:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_struct$_ArchetypeModifierData_$88235_memory_ptr_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,struct ArchetypeModifierData memory)"}},"id":173295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33163:242:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173296,"nodeType":"ExpressionStatement","src":"33163:242:289"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"createMarksmanModifiers","nameLocation":"30097:23:289","parameters":{"id":173096,"nodeType":"ParameterList","parameters":[],"src":"30120:2:289"},"returnParameters":{"id":173097,"nodeType":"ParameterList","parameters":[],"src":"30123:0:289"},"scope":173333,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":173332,"nodeType":"FunctionDefinition","src":"33410:323:289","nodes":[],"body":{"id":173331,"nodeType":"Block","src":"33446:287:289","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":173301,"name":"createSwordsmanModifiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171510,"src":"33450:24:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":173302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33450:26:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173303,"nodeType":"ExpressionStatement","src":"33450:26:289"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":173304,"name":"createPikemanModifiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171693,"src":"33480:22:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":173305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33480:24:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173306,"nodeType":"ExpressionStatement","src":"33480:24:289"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":173307,"name":"createHalberdierModifiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":171876,"src":"33508:25:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":173308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33508:27:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173309,"nodeType":"ExpressionStatement","src":"33508:27:289"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":173310,"name":"createPillagerModifiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":172294,"src":"33539:23:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":173311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33539:25:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173312,"nodeType":"ExpressionStatement","src":"33539:25:289"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":173313,"name":"createKnightModifiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":172493,"src":"33568:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":173314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33568:23:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173315,"nodeType":"ExpressionStatement","src":"33568:23:289"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":173316,"name":"createDragoonModifiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":172693,"src":"33595:22:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":173317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33595:24:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173318,"nodeType":"ExpressionStatement","src":"33595:24:289"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":173319,"name":"createArcherModifiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":172896,"src":"33623:21:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":173320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33623:23:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173321,"nodeType":"ExpressionStatement","src":"33623:23:289"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":173322,"name":"createCatapultModifiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173095,"src":"33650:23:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":173323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33650:25:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173324,"nodeType":"ExpressionStatement","src":"33650:25:289"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":173325,"name":"createMarksmanModifiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173298,"src":"33679:23:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":173326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33679:25:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173327,"nodeType":"ExpressionStatement","src":"33679:25:289"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":173328,"name":"createBruteModifiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":172073,"src":"33708:20:289","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":173329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33708:22:289","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173330,"nodeType":"ExpressionStatement","src":"33708:22:289"}]},"implemented":true,"kind":"freeFunction","modifiers":[],"name":"createArchetypeModifiers","nameLocation":"33419:24:289","parameters":{"id":173299,"nodeType":"ParameterList","parameters":[],"src":"33443:2:289"},"returnParameters":{"id":173300,"nodeType":"ParameterList","parameters":[],"src":"33446:0:289"},"scope":173333,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"license":"MIT"},"id":289}