Weapons
Contracts
Addresses
Name
Mainnet
Testnet
Interface
interface IWeaponCoreDiamond {
event Approval(address indexed owner, address indexed operator, uint256 indexed tokenId);
event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
event BonusInfoPhysicalAttackUpdated(address indexed owner, uint256 weaponId, (uint8 bonus1, uint8 bonus2, uint8 bonus3, uint8 bonus4, uint16 bonusScalar1, uint16 bonusScalar2, uint16 bonusScalar3, uint16 bonusScalar4, uint16 baseDamage, uint8 accuracyRequirement, uint16 pAccuracyAtRequirement, uint8 pScalarStat1, uint8 pScalarStat2, uint8 pScalarStat3, uint8 pScalarValue1, uint8 pScalarValue2, uint8 pScalarValue3, uint16 pScalarMax1, uint16 pScalarMax2, uint16 pScalarMax3, uint16 uniqueSettings, uint8 speedModifier) bonusInfoPhysicalAttack);
event DisplayInfoMagicAttackUpdated(address indexed owner, uint256 weaponId, (uint8 weaponType, uint16 displayId, uint8 rarity, uint64 craftedBy, uint8 dye1, uint8 dye2, uint16 basePotency, uint8 focusRequirement, uint16 mAccuracyAtRequirement, uint8 mScalarStat1, uint8 mScalarStat2, uint8 mScalarStat3, uint8 mScalarValue1, uint8 mScalarValue2, uint8 mScalarValue3, uint16 mScalarMax1, uint16 mScalarMax2, uint16 mScalarMax3, uint8 restorationCount) displayInfoMagicAttack);
event StateEnchantmentsUpdated(address indexed owner, uint256 weaponId, (uint64 equippedTo, uint64 equippableAt, uint16 maxDurability, uint16 durability, uint8 maxRepairs, uint8 remainingRepairs, uint8 equipRequirement, uint8 enchantmentType1, uint8 enchantmentType2, uint8 enchantmentType3, uint16 enchantmentScalar1, uint16 enchantmentScalar2, uint16 enchantmentScalar3) stateEnchantments);
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
event WeaponCreated(address indexed owner, uint256 indexed weaponId, (uint256 id, (uint8 weaponType, uint16 displayId, uint8 rarity, uint64 craftedBy, uint8 dye1, uint8 dye2, uint16 basePotency, uint8 focusRequirement, uint16 mAccuracyAtRequirement, uint8 mScalarStat1, uint8 mScalarStat2, uint8 mScalarStat3, uint8 mScalarValue1, uint8 mScalarValue2, uint8 mScalarValue3, uint16 mScalarMax1, uint16 mScalarMax2, uint16 mScalarMax3, uint8 restorationCount) displayInfoMagicAttack, (uint64 equippedTo, uint64 equippableAt, uint16 maxDurability, uint16 durability, uint8 maxRepairs, uint8 remainingRepairs, uint8 equipRequirement, uint8 enchantmentType1, uint8 enchantmentType2, uint8 enchantmentType3, uint16 enchantmentScalar1, uint16 enchantmentScalar2, uint16 enchantmentScalar3) stateEnchantments, (uint8 bonus1, uint8 bonus2, uint8 bonus3, uint8 bonus4, uint16 bonusScalar1, uint16 bonusScalar2, uint16 bonusScalar3, uint16 bonusScalar4, uint16 baseDamage, uint8 accuracyRequirement, uint16 pAccuracyAtRequirement, uint8 pScalarStat1, uint8 pScalarStat2, uint8 pScalarStat3, uint8 pScalarValue1, uint8 pScalarValue2, uint8 pScalarValue3, uint16 pScalarMax1, uint16 pScalarMax2, uint16 pScalarMax3, uint16 uniqueSettings, uint8 speedModifier) bonusInfoPhysicalAttack) weapon);
event WeaponUpdated(address indexed owner, uint256 indexed weaponId, (uint256 id, (uint8 weaponType, uint16 displayId, uint8 rarity, uint64 craftedBy, uint8 dye1, uint8 dye2, uint16 basePotency, uint8 focusRequirement, uint16 mAccuracyAtRequirement, uint8 mScalarStat1, uint8 mScalarStat2, uint8 mScalarStat3, uint8 mScalarValue1, uint8 mScalarValue2, uint8 mScalarValue3, uint16 mScalarMax1, uint16 mScalarMax2, uint16 mScalarMax3, uint8 restorationCount) displayInfoMagicAttack, (uint64 equippedTo, uint64 equippableAt, uint16 maxDurability, uint16 durability, uint8 maxRepairs, uint8 remainingRepairs, uint8 equipRequirement, uint8 enchantmentType1, uint8 enchantmentType2, uint8 enchantmentType3, uint16 enchantmentScalar1, uint16 enchantmentScalar2, uint16 enchantmentScalar3) stateEnchantments, (uint8 bonus1, uint8 bonus2, uint8 bonus3, uint8 bonus4, uint16 bonusScalar1, uint16 bonusScalar2, uint16 bonusScalar3, uint16 bonusScalar4, uint16 baseDamage, uint8 accuracyRequirement, uint16 pAccuracyAtRequirement, uint8 pScalarStat1, uint8 pScalarStat2, uint8 pScalarStat3, uint8 pScalarValue1, uint8 pScalarValue2, uint8 pScalarValue3, uint16 pScalarMax1, uint16 pScalarMax2, uint16 pScalarMax3, uint16 uniqueSettings, uint8 speedModifier) bonusInfoPhysicalAttack) weapon);
// View Functions
function balanceOf(address account) view returns (uint256);
function getApproved(uint256 tokenId) view returns (address);
function getStateEnchantments(uint256 _id) view returns ((uint64 equippedTo, uint64 equippableAt, uint16 maxDurability, uint16 durability, uint8 maxRepairs, uint8 remainingRepairs, uint8 equipRequirement, uint8 enchantmentType1, uint8 enchantmentType2, uint8 enchantmentType3, uint16 enchantmentScalar1, uint16 enchantmentScalar2, uint16 enchantmentScalar3));
function getUserWeaponIds(address _address) view returns (uint256[]);
function getUserWeapons(address _address) view returns ((uint256 id, (uint8 weaponType, uint16 displayId, uint8 rarity, uint64 craftedBy, uint8 dye1, uint8 dye2, uint16 basePotency, uint8 focusRequirement, uint16 mAccuracyAtRequirement, uint8 mScalarStat1, uint8 mScalarStat2, uint8 mScalarStat3, uint8 mScalarValue1, uint8 mScalarValue2, uint8 mScalarValue3, uint16 mScalarMax1, uint16 mScalarMax2, uint16 mScalarMax3, uint8 restorationCount) displayInfoMagicAttack, (uint64 equippedTo, uint64 equippableAt, uint16 maxDurability, uint16 durability, uint8 maxRepairs, uint8 remainingRepairs, uint8 equipRequirement, uint8 enchantmentType1, uint8 enchantmentType2, uint8 enchantmentType3, uint16 enchantmentScalar1, uint16 enchantmentScalar2, uint16 enchantmentScalar3) stateEnchantments, (uint8 bonus1, uint8 bonus2, uint8 bonus3, uint8 bonus4, uint16 bonusScalar1, uint16 bonusScalar2, uint16 bonusScalar3, uint16 bonusScalar4, uint16 baseDamage, uint8 accuracyRequirement, uint16 pAccuracyAtRequirement, uint8 pScalarStat1, uint8 pScalarStat2, uint8 pScalarStat3, uint8 pScalarValue1, uint8 pScalarValue2, uint8 pScalarValue3, uint16 pScalarMax1, uint16 pScalarMax2, uint16 pScalarMax3, uint16 uniqueSettings, uint8 speedModifier) bonusInfoPhysicalAttack)[]);
function getWeapon(uint256 _id) view returns ((uint256 id, (uint8 weaponType, uint16 displayId, uint8 rarity, uint64 craftedBy, uint8 dye1, uint8 dye2, uint16 basePotency, uint8 focusRequirement, uint16 mAccuracyAtRequirement, uint8 mScalarStat1, uint8 mScalarStat2, uint8 mScalarStat3, uint8 mScalarValue1, uint8 mScalarValue2, uint8 mScalarValue3, uint16 mScalarMax1, uint16 mScalarMax2, uint16 mScalarMax3, uint8 restorationCount) displayInfoMagicAttack, (uint64 equippedTo, uint64 equippableAt, uint16 maxDurability, uint16 durability, uint8 maxRepairs, uint8 remainingRepairs, uint8 equipRequirement, uint8 enchantmentType1, uint8 enchantmentType2, uint8 enchantmentType3, uint16 enchantmentScalar1, uint16 enchantmentScalar2, uint16 enchantmentScalar3) stateEnchantments, (uint8 bonus1, uint8 bonus2, uint8 bonus3, uint8 bonus4, uint16 bonusScalar1, uint16 bonusScalar2, uint16 bonusScalar3, uint16 bonusScalar4, uint16 baseDamage, uint8 accuracyRequirement, uint16 pAccuracyAtRequirement, uint8 pScalarStat1, uint8 pScalarStat2, uint8 pScalarStat3, uint8 pScalarValue1, uint8 pScalarValue2, uint8 pScalarValue3, uint16 pScalarMax1, uint16 pScalarMax2, uint16 pScalarMax3, uint16 uniqueSettings, uint8 speedModifier) bonusInfoPhysicalAttack));
function getWeapons(uint256[] _ids) view returns ((uint256 id, (uint8 weaponType, uint16 displayId, uint8 rarity, uint64 craftedBy, uint8 dye1, uint8 dye2, uint16 basePotency, uint8 focusRequirement, uint16 mAccuracyAtRequirement, uint8 mScalarStat1, uint8 mScalarStat2, uint8 mScalarStat3, uint8 mScalarValue1, uint8 mScalarValue2, uint8 mScalarValue3, uint16 mScalarMax1, uint16 mScalarMax2, uint16 mScalarMax3, uint8 restorationCount) displayInfoMagicAttack, (uint64 equippedTo, uint64 equippableAt, uint16 maxDurability, uint16 durability, uint8 maxRepairs, uint8 remainingRepairs, uint8 equipRequirement, uint8 enchantmentType1, uint8 enchantmentType2, uint8 enchantmentType3, uint16 enchantmentScalar1, uint16 enchantmentScalar2, uint16 enchantmentScalar3) stateEnchantments, (uint8 bonus1, uint8 bonus2, uint8 bonus3, uint8 bonus4, uint16 bonusScalar1, uint16 bonusScalar2, uint16 bonusScalar3, uint16 bonusScalar4, uint16 baseDamage, uint8 accuracyRequirement, uint16 pAccuracyAtRequirement, uint8 pScalarStat1, uint8 pScalarStat2, uint8 pScalarStat3, uint8 pScalarValue1, uint8 pScalarValue2, uint8 pScalarValue3, uint16 pScalarMax1, uint16 pScalarMax2, uint16 pScalarMax3, uint16 uniqueSettings, uint8 speedModifier) bonusInfoPhysicalAttack)[]);
function isApprovedForAll(address account, address operator) view returns (bool);
function name() view returns (string);
function ownerOf(uint256 tokenId) view returns (address);
function symbol() view returns (string);
function tokenByIndex(uint256 index) view returns (uint256);
function tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256);
function tokenURI(uint256 tokenId) view returns (string);
function totalSupply() view returns (uint256);
function validateEquipmentVisageTypeMatch(uint256 _equipmentId, uint256 _visageId) view returns (bool);
function validateEquipping((uint256 id, (uint256 summonedTime, uint256 nextSummonTime, uint256 summonerId, uint256 assistantId, uint32 summons, uint32 maxSummons) summoningInfo, (uint256 statGenes, uint256 visualGenes, uint8 rarity, bool shiny, uint16 generation, uint32 firstName, uint32 lastName, uint8 shinyStyle, uint8 class, uint8 subClass) info, (uint256 staminaFullAt, uint256 hpFullAt, uint256 mpFullAt, uint16 level, uint64 xp, address currentQuest, uint8 sp, uint8 status) state, (uint16 strength, uint16 intelligence, uint16 wisdom, uint16 luck, uint16 agility, uint16 vitality, uint16 endurance, uint16 dexterity, uint16 hp, uint16 mp, uint16 stamina) stats, (uint16 strength, uint16 intelligence, uint16 wisdom, uint16 luck, uint16 agility, uint16 vitality, uint16 endurance, uint16 dexterity, uint16 hpSm, uint16 hpRg, uint16 hpLg, uint16 mpSm, uint16 mpRg, uint16 mpLg) primaryStatGrowth, (uint16 strength, uint16 intelligence, uint16 wisdom, uint16 luck, uint16 agility, uint16 vitality, uint16 endurance, uint16 dexterity, uint16 hpSm, uint16 hpRg, uint16 hpLg, uint16 mpSm, uint16 mpRg, uint16 mpLg) secondaryStatGrowth, (uint16 mining, uint16 gardening, uint16 foraging, uint16 fishing, uint16 craft1, uint16 craft2) professions, (uint256 equippedSlots, uint256 petId, uint128 weapon1Id, uint128 weapon1VisageId, uint128 weapon2Id, uint128 weapon2VisageId, uint128 offhand1Id, uint128 offhand1VisageId, uint128 offhand2Id, uint128 offhand2VisageId, uint128 armorId, uint128 armorVisageId, uint128 accessoryId, uint128 accessoryVisageId) equipment) _hero, uint256 _equipmentId, uint8 _slot) view returns (bool);
// State-Changing Functions
function approve(address operator, uint256 tokenId) payable;
function safeTransferFrom(address from, address to, uint256 tokenId) payable;
function safeTransferFrom(address from, address to, uint256 tokenId, bytes data) payable;
function setApprovalForAll(address operator, bool status);
function transferFrom(address from, address to, uint256 tokenId) payable;
}ABI
Types
Weapon
DisplayInfoMagicAttack
Name
Type
Description
StateEnchantments
Name
Type
Description
BonusInfoPhysicalAttack
Name
Type
Description
WeaponType
Name
Value
Description
Hands
Usable By
0
1
2
2
1
2
1
2
1
2
2
1
2
1
Mappings
Weapon Details
Weapon Bonuses
See Also
Shared Equipment MappingsLast updated