Files

145 lines
2.9 KiB
JavaScript
Raw Permalink Normal View History

/**
* 物品测试夹具
*/
/**
* 创建模拟武器
* @param {Object} overrides - 覆盖属性
* @returns {Object} 武器对象
*/
export function createMockWeapon(overrides = {}) {
return {
id: 'wooden_sword',
name: '木剑',
type: 'weapon',
subtype: 'one_handed',
baseDamage: 10,
baseDefense: 0,
baseShield: 0,
baseValue: 100,
quality: 100,
attackSpeed: 1.0,
uniqueId: `wooden_sword_${Date.now()}_test`,
count: 1,
equipped: false,
obtainedAt: Date.now(),
...overrides
}
}
/**
* 创建模拟防具
* @param {Object} overrides - 覆盖属性
* @returns {Object} 防具对象
*/
export function createMockArmor(overrides = {}) {
return {
id: 'leather_armor',
name: '皮甲',
type: 'armor',
subtype: 'light',
baseDamage: 0,
baseDefense: 15,
baseShield: 0,
baseValue: 150,
quality: 100,
uniqueId: `leather_armor_${Date.now()}_test`,
count: 1,
equipped: false,
obtainedAt: Date.now(),
...overrides
}
}
/**
* 创建模拟盾牌
* @param {Object} overrides - 覆盖属性
* @returns {Object} 盾牌对象
*/
export function createMockShield(overrides = {}) {
return {
id: 'wooden_shield',
name: '木盾',
type: 'shield',
baseDamage: 0,
baseDefense: 0,
baseShield: 20,
baseValue: 80,
quality: 100,
uniqueId: `wooden_shield_${Date.now()}_test`,
count: 1,
equipped: false,
obtainedAt: Date.now(),
...overrides
}
}
/**
* 创建模拟消耗品
* @param {Object} overrides - 覆盖属性
* @returns {Object} 消耗品对象
*/
export function createMockConsumable(overrides = {}) {
return {
id: 'health_potion',
name: '生命药水',
type: 'consumable',
baseValue: 50,
quality: 100,
effect: {
health: 30,
stamina: 0,
sanity: 0
},
stackable: true,
maxStack: 99,
uniqueId: `health_potion_${Date.now()}_test`,
count: 1,
obtainedAt: Date.now(),
...overrides
}
}
/**
* 创建模拟书籍
* @param {Object} overrides - 覆盖属性
* @returns {Object} 书籍对象
*/
export function createMockBook(overrides = {}) {
return {
id: 'skill_book_basics',
name: '技能基础',
type: 'book',
baseValue: 200,
quality: 100,
readingTime: 60,
expReward: {
sword: 50
},
completionBonus: {
intuition: 1
},
uniqueId: `skill_book_${Date.now()}_test`,
count: 1,
obtainedAt: Date.now(),
...overrides
}
}
/**
* 创建高品质物品
* @param {string} type - 物品类型
* @param {number} quality - 品质值
* @returns {Object} 高品质物品
*/
export function createHighQualityItem(type, quality = 180) {
const itemCreators = {
weapon: createMockWeapon,
armor: createMockArmor,
shield: createMockShield
}
const creator = itemCreators[type] || createMockWeapon
return creator({ quality })
}