Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let equipment = {
- head: {},
- cape: {},
- neck: {},
- ammunition: {},
- weapon: {},
- body: {},
- shield: {},
- legs: {},
- hand: {},
- feet: {},
- ring: {}
- };
- function createShortName(name) {
- return name.toLowerCase().replace(/s/g, '');
- }
- function addItem(slot, name, cost, img, income=0, atk_bonus=0, str_bonus=0, def_bonus=0, rngd_bonus=0, mage_bonus=0) {
- let newItem = {
- slot: slot,
- name: name,
- cost: cost,
- img: img,
- income: income,
- atk_bonus: atk_bonus,
- str_bonus: str_bonus,
- def_bonus: def_bonus,
- rngd_bonus: rngd_bonus,
- mage_bonus: mage_bonus
- }
- equipment[slot][createShortName(name)] = newItem;
- }
- let currentSlot = 'head';
- addItem(currentSlot, 'head_item_1', 100, 'img');
- addItem(currentSlot, 'head_item_2', 200, 'img');
- currentSlot = 'cape';
- addItem(currentSlot, 'cape_item_1', 100, 'img');
- addItem(currentSlot, 'cape_item_2', 200, 'img');
- currentSlot = 'neck';
- addItem(currentSlot, 'neck_item_1', 100, 'img');
- addItem(currentSlot, 'neck_item_2', 200, 'img');
- // etc. etc. etc.
- function bindFirst(func, firstArgument) {
- return function(...arguments) {
- return func(firstArgument, ...arguments);
- }
- }
- const addToHead = bindFirst(addItem, 'head');
- addToHead('head_item_1', 100, 'img');
- ...
- let newItems = new Map([
- [
- 'head',
- [{
- name: 'head_item_1',
- cost: 100,
- img: 'img'
- },
- {
- name: 'head_item_1',
- cost: 100,
- img: 'img'
- }]
- ], [
- 'cape',
- [{
- name: 'cape_item_1',
- cost: 100,
- img: 'img'
- },
- {
- name: 'cape_item_1',
- cost: 200,
- img: 'img'
- }]
- ]
- ]);
- items.forEach((items, slot) => {
- const addToSlot = bindFirst(addItem, slot);
- items.forEach(item => {
- addToSlot(item.name, item.cost, item.img);
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement