60 lines
1.2 KiB
JavaScript
60 lines
1.2 KiB
JavaScript
const assert = require('assert');
|
|
const utils = require('j7/utils');
|
|
const bcutils = require('j7/bcutils');
|
|
const basewrap = require('./basewrap');
|
|
const factory = require('./factory');
|
|
|
|
const HERO_TYPE = 3;
|
|
const GUN_TYPE = 7;
|
|
const MATERIAL_TYPE = 10;
|
|
const BLIND_BOX_TYPE = 12;
|
|
|
|
const MATERIAL_CHIP_SUBTYPE = 3;
|
|
|
|
class Item extends basewrap.BaseWrap {
|
|
|
|
getNftType() {
|
|
switch (this['type']) {
|
|
case HERO_TYPE:
|
|
{
|
|
return bcutils.HERO_TYPE;
|
|
}
|
|
break;
|
|
case GUN_TYPE:
|
|
{
|
|
return bcutils.EQUIP_TYPE;
|
|
}
|
|
break;
|
|
case MATERIAL_TYPE:
|
|
{
|
|
if (this['sub_type'] == MATERIAL_CHIP_SUBTYPE) {
|
|
return bcutils.CHIP_TYPE;
|
|
} else {
|
|
return bcutils.NONE_TYPE;
|
|
}
|
|
}
|
|
break;
|
|
case BLIND_BOX_TYPE:
|
|
{
|
|
return bcutils.BLIND_BOX_TYPE;
|
|
}
|
|
break;
|
|
default:
|
|
{
|
|
return bcutils.NONE_TYPE;
|
|
}
|
|
break;
|
|
}
|
|
return bcutils.NONE_TYPE;
|
|
}
|
|
|
|
randLuckBox(tokenType) {
|
|
const itemId = factory.callMetaStatic('LuckyBox', 'randLuckBox', this['id'], tokenType);
|
|
assert(itemId > 0);
|
|
return itemId;
|
|
}
|
|
|
|
}
|
|
|
|
module.exports = Item;
|