28aa7d2e4f
Alogos are still BROKEN. I'm deploying them here for testing.
453 lines
15 KiB
JavaScript
453 lines
15 KiB
JavaScript
({
|
|
define: (typeof define === "function" ? define : function (F) {
|
|
return F(require, exports, module);
|
|
})
|
|
}).define(function (require, exports, module) {
|
|
var items, obj, updateStore;
|
|
|
|
obj = module.exports = {};
|
|
items = obj.items = {
|
|
weapon: [
|
|
{
|
|
index: 0,
|
|
text: "Training Sword",
|
|
classes: "weapon_0",
|
|
notes: 'Training weapon.',
|
|
strength: 0,
|
|
value: 0
|
|
},
|
|
{
|
|
index: 1,
|
|
text: "Sword",
|
|
classes: 'weapon_1',
|
|
notes: 'Increases experience gain by 3%.',
|
|
strength: 3,
|
|
value: 20
|
|
},
|
|
{
|
|
index: 2,
|
|
text: "Axe",
|
|
classes: 'weapon_2',
|
|
notes: 'Increases experience gain by 6%.',
|
|
strength: 6,
|
|
value: 30
|
|
},
|
|
{
|
|
index: 3,
|
|
text: "Morningstar",
|
|
classes: 'weapon_3',
|
|
notes: 'Increases experience gain by 9%.',
|
|
strength: 9,
|
|
value: 45
|
|
},
|
|
{
|
|
index: 4,
|
|
text: "Blue Sword",
|
|
classes: 'weapon_4',
|
|
notes: 'Increases experience gain by 12%.',
|
|
strength: 12,
|
|
value: 65
|
|
},
|
|
{
|
|
index: 5,
|
|
text: "Red Sword",
|
|
classes: 'weapon_5',
|
|
notes: 'Increases experience gain by 15%.',
|
|
strength: 15,
|
|
value: 90
|
|
},
|
|
{
|
|
index: 6,
|
|
text: "Golden Sword",
|
|
classes: 'weapon_6',
|
|
notes: 'Increases experience gain by 18%.',
|
|
strength: 18,
|
|
value: 120
|
|
},
|
|
{
|
|
index: 7,
|
|
text: "Dark Souls Blade",
|
|
classes: 'weapon_7',
|
|
notes: 'Increases experience gain by 21%.',
|
|
strength: 21,
|
|
value: 150
|
|
}
|
|
],
|
|
armor: [
|
|
{
|
|
index: 0,
|
|
text: "Cloth Armor",
|
|
classes: 'armor_0',
|
|
notes: 'Training armor.',
|
|
defense: 0,
|
|
value: 0
|
|
},
|
|
{
|
|
index: 1,
|
|
text: "Leather Armor",
|
|
classes: 'armor_1',
|
|
notes: 'Decreases HP loss by 4%.',
|
|
defense: 4,
|
|
value: 30
|
|
},
|
|
{
|
|
index: 2,
|
|
text: "Chain Mail",
|
|
classes: 'armor_2',
|
|
notes: 'Decreases HP loss by 6%.',
|
|
defense: 6,
|
|
value: 45
|
|
},
|
|
{
|
|
index: 3,
|
|
text: "Plate Mail",
|
|
classes: 'armor_3',
|
|
notes: 'Decreases HP loss by 7%.',
|
|
defense: 7,
|
|
value: 65
|
|
},
|
|
{
|
|
index: 4,
|
|
text: "Red Armor",
|
|
classes: 'armor_4',
|
|
notes: 'Decreases HP loss by 8%.',
|
|
defense: 8,
|
|
value: 90
|
|
},
|
|
{
|
|
index: 5,
|
|
text: "Golden Armor",
|
|
classes: 'armor_5',
|
|
notes: 'Decreases HP loss by 10%.',
|
|
defense: 10,
|
|
value: 120
|
|
},
|
|
{
|
|
index: 6,
|
|
text: "Shade Armor",
|
|
classes: 'armor_6',
|
|
notes: 'Decreases HP loss by 12%.',
|
|
defense: 12,
|
|
value: 150
|
|
}
|
|
],
|
|
head: [
|
|
{
|
|
index: 0,
|
|
text: "No Helm",
|
|
classes: 'head_0',
|
|
notes: 'Training helm.',
|
|
defense: 0,
|
|
value: 0
|
|
},
|
|
{
|
|
index: 1,
|
|
text: "Leather Helm",
|
|
classes: 'head_1',
|
|
notes: 'Decreases HP loss by 2%.',
|
|
defense: 2,
|
|
value: 15
|
|
},
|
|
{
|
|
index: 2,
|
|
text: "Chain Coif",
|
|
classes: 'head_2',
|
|
notes: 'Decreases HP loss by 3%.',
|
|
defense: 3,
|
|
value: 25
|
|
},
|
|
{
|
|
index: 3,
|
|
text: "Plate Helm",
|
|
classes: 'head_3',
|
|
notes: 'Decreases HP loss by 4%.',
|
|
defense: 4,
|
|
value: 45
|
|
},
|
|
{
|
|
index: 4,
|
|
text: "Red Helm",
|
|
classes: 'head_4',
|
|
notes: 'Decreases HP loss by 5%.',
|
|
defense: 5,
|
|
value: 60
|
|
},
|
|
{
|
|
index: 5,
|
|
text: "Golden Helm",
|
|
classes: 'head_5',
|
|
notes: 'Decreases HP loss by 6%.',
|
|
defense: 6,
|
|
value: 80
|
|
},
|
|
{
|
|
index: 6,
|
|
text: "Shade Helm",
|
|
classes: 'head_6',
|
|
notes: 'Decreases HP loss by 7%.',
|
|
defense: 7,
|
|
value: 100
|
|
}
|
|
],
|
|
shield: [
|
|
{
|
|
index: 0,
|
|
text: "No Shield",
|
|
classes: 'shield_0',
|
|
notes: 'No Shield.',
|
|
defense: 0,
|
|
value: 0
|
|
},
|
|
{
|
|
index: 1,
|
|
text: "Wooden Shield",
|
|
classes: 'shield_1',
|
|
notes: 'Decreases HP loss by 3%',
|
|
defense: 3,
|
|
value: 20
|
|
},
|
|
{
|
|
index: 2,
|
|
text: "Buckler",
|
|
classes: 'shield_2',
|
|
notes: 'Decreases HP loss by 4%.',
|
|
defense: 4,
|
|
value: 35
|
|
},
|
|
{
|
|
index: 3,
|
|
text: "Enforced Shield",
|
|
classes: 'shield_3',
|
|
notes: 'Decreases HP loss by 5%.',
|
|
defense: 5,
|
|
value: 55
|
|
},
|
|
{
|
|
index: 4,
|
|
text: "Red Shield",
|
|
classes: 'shield_4',
|
|
notes: 'Decreases HP loss by 7%.',
|
|
defense: 7,
|
|
value: 70
|
|
},
|
|
{
|
|
index: 5,
|
|
text: "Golden Shield",
|
|
classes: 'shield_5',
|
|
notes: 'Decreases HP loss by 8%.',
|
|
defense: 8,
|
|
value: 90
|
|
},
|
|
{
|
|
index: 6,
|
|
text: "Tormented Skull",
|
|
classes: 'shield_6',
|
|
notes: 'Decreases HP loss by 9%.',
|
|
defense: 9,
|
|
value: 120
|
|
}
|
|
],
|
|
potion: {
|
|
type: 'potion',
|
|
text: "Potion",
|
|
notes: "Recover 15 HP",
|
|
value: 25,
|
|
classes: 'potion'
|
|
},
|
|
reroll: {
|
|
type: 'reroll',
|
|
text: "Re-Roll",
|
|
classes: 'reroll',
|
|
notes: "Resets your task values back to 0 (yellow). Useful when everything's red and it's hard to stay alive.",
|
|
value: 0
|
|
},
|
|
pets: [
|
|
{
|
|
text: 'Wolf',
|
|
name: 'Wolf',
|
|
value: 3
|
|
},
|
|
{
|
|
text: 'Tiger Cub',
|
|
name: 'TigerCub',
|
|
value: 3
|
|
},
|
|
{
|
|
text: 'Panda Cub',
|
|
name: 'PandaCub',
|
|
value: 3
|
|
},
|
|
{
|
|
text: 'Lion Cub',
|
|
name: 'LionCub',
|
|
value: 3
|
|
},
|
|
{
|
|
text: 'Fox',
|
|
name: 'Fox',
|
|
value: 3
|
|
},
|
|
{
|
|
text: 'Flying Pig',
|
|
name: 'FlyingPig',
|
|
value: 3
|
|
},
|
|
{
|
|
text: 'Dragon',
|
|
name: 'Dragon',
|
|
value: 3
|
|
},
|
|
{
|
|
text: 'Cactus',
|
|
name: 'Cactus',
|
|
value: 3
|
|
},
|
|
{
|
|
text: 'Bear Cub',
|
|
name: 'BearCub',
|
|
value: 3
|
|
}
|
|
],
|
|
hatchingPotions: [
|
|
{
|
|
text: 'Base',
|
|
name: 'Base',
|
|
notes: "Hatches your pet in it's base form.",
|
|
value: 1
|
|
},
|
|
{
|
|
text: 'White',
|
|
name: 'White',
|
|
notes: 'Turns your animal into a White pet.',
|
|
value: 2
|
|
},
|
|
{
|
|
text: 'Desert',
|
|
name: 'Desert',
|
|
notes: 'Turns your animal into a Desert pet.',
|
|
value: 2
|
|
},
|
|
{
|
|
text: 'Red',
|
|
name: 'Red',
|
|
notes: 'Turns your animal into a Red pet.',
|
|
value: 3
|
|
},
|
|
{
|
|
text: 'Shade',
|
|
name: 'Shade',
|
|
notes: 'Turns your animal into a Shade pet.',
|
|
value: 3
|
|
},
|
|
{
|
|
text: 'Skeleton',
|
|
name: 'Skeleton',
|
|
notes: 'Turns your animal into a Skeleton.',
|
|
value: 3
|
|
},
|
|
{
|
|
text: 'Zombie',
|
|
name: 'Zombie',
|
|
notes: 'Turns your animal into a Zombie.',
|
|
value: 4
|
|
},
|
|
{
|
|
text: 'Cotton Candy Pink',
|
|
name: 'CottonCandyPink',
|
|
notes: 'Turns your animal into a Cotton Candy Pink pet.',
|
|
value: 4
|
|
},
|
|
{
|
|
text: 'Cotton Candy Blue',
|
|
name: 'CottonCandyBlue',
|
|
notes: 'Turns your animal into a Cotton Candy Blue pet.',
|
|
value: 4
|
|
},
|
|
{
|
|
text: 'Golden',
|
|
name: 'Golden',
|
|
notes: 'Turns your animal into a Golden pet.',
|
|
value: 5
|
|
}
|
|
]
|
|
};
|
|
['weapon', 'armor', 'head', 'shield'].forEach(function (key) {
|
|
return items[key].forEach(function (item) {
|
|
return item.type = key;
|
|
});
|
|
});
|
|
items.pets.forEach(function (pet) {
|
|
return pet.notes = 'Find a hatching potion to pour on this egg, and one day it will hatch into a loyal pet.';
|
|
});
|
|
items.hatchingPotions.forEach(function (hatchingPotion) {
|
|
return hatchingPotion.notes = "Pour this on an egg, and it will hatch as a " + hatchingPotion.text + " pet.";
|
|
});
|
|
/*
|
|
app exports
|
|
*/
|
|
|
|
obj.app = function (appExports, user) {
|
|
return appExports.buyItem = function (e, el, next) {
|
|
var deductGP, gp, hp, index, type, value, _ref;
|
|
|
|
gp = user.stats.gp;
|
|
_ref = [$(el).attr('data-type'), $(el).attr('data-value'), $(el).attr('data-index')], type = _ref[0], value = _ref[1], index = _ref[2];
|
|
if (gp < value) {
|
|
return;
|
|
}
|
|
deductGP = function () {
|
|
return user.stats.gp = gp - value;
|
|
};
|
|
if (type === 'weapon') {
|
|
user.set('items.weapon', index, deductGP);
|
|
return updateStore(model);
|
|
} else if (type === 'armor') {
|
|
user.set('items.armor', index, deductGP);
|
|
return updateStore(model);
|
|
} else if (type === 'head') {
|
|
user.set('items.head', index, deductGP);
|
|
return updateStore(model);
|
|
} else if (type === 'shield') {
|
|
user.set('items.shield', index, deductGP);
|
|
return updateStore(model);
|
|
} else if (type === 'potion') {
|
|
hp = user.get('stats.hp');
|
|
hp += 15;
|
|
if (hp > 50) {
|
|
hp = 50;
|
|
}
|
|
return user.set('stats.hp', hp, deductGP);
|
|
}
|
|
};
|
|
};
|
|
/*
|
|
update store
|
|
*/
|
|
|
|
return obj.updateStore = updateStore = function (user) {
|
|
var equipped;
|
|
|
|
if (items.next == null) {
|
|
items.next = {};
|
|
}
|
|
equipped = user.items;
|
|
return ['weapon', 'armor', 'shield', 'head'].forEach(function (type) {
|
|
var i, showNext;
|
|
|
|
i = parseInt(typeof equipped === "function" ? equipped([type] || 0) : void 0) + 1;
|
|
showNext = true;
|
|
if (i === items[type].length - 1) {
|
|
if ((type === 'armor' || type === 'shield' || type === 'head')) {
|
|
showNext = user.backer.tier >= 45;
|
|
} else {
|
|
showNext = user.backer.tier >= 70;
|
|
}
|
|
} else if (i === items[type].length) {
|
|
showNext = false;
|
|
}
|
|
return items.next[type] = showNext ? items[type][i] : {
|
|
hide: true
|
|
};
|
|
});
|
|
};
|
|
}); |