feat(habitBirthday): add habitrpg birthday event. includes cakes for all
pets, absurd party robes, npc swap, badge, etc. @lemoness
4350
dist/customizer.css
vendored
2
dist/habitrpg-shared.css
vendored
80
dist/habitrpg-shared.js
vendored
|
|
@ -27,7 +27,8 @@ process.nextTick = (function () {
|
|||
if (canPost) {
|
||||
var queue = [];
|
||||
window.addEventListener('message', function (ev) {
|
||||
if (ev.source === window && ev.data === 'process-tick') {
|
||||
var source = ev.source;
|
||||
if ((source === window || source === null) && ev.data === 'process-tick') {
|
||||
ev.stopPropagation();
|
||||
if (queue.length > 0) {
|
||||
var fn = queue.shift();
|
||||
|
|
@ -9191,6 +9192,10 @@ var global=typeof self !== "undefined" ? self : typeof window !== "undefined" ?
|
|||
winter: {
|
||||
start: '2013-12-31',
|
||||
end: '2014-02-01'
|
||||
},
|
||||
birthday: {
|
||||
start: '2013-01-30',
|
||||
end: '2014-02-01'
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -9705,6 +9710,12 @@ var global=typeof self !== "undefined" ? self : typeof window !== "undefined" ?
|
|||
notes: 'Limited Edition 2013 Winter Gear! A robe to keep you warm, even in a blizzard. Increases CON by 15.',
|
||||
con: 15,
|
||||
value: 90
|
||||
},
|
||||
birthday: {
|
||||
event: events.birthday,
|
||||
text: "Absurd Party Robes",
|
||||
notes: "As part of the festivities, Absurd Party Robes are available free of charge in the Item Store! Swath yourself in those silly garbs and don your matching hats to celebrate this momentous day.",
|
||||
value: 0
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -10696,6 +10707,66 @@ var global=typeof self !== "undefined" ? self : typeof window !== "undefined" ?
|
|||
target: 'Golden',
|
||||
article: ''
|
||||
},
|
||||
Cake_Skeleton: {
|
||||
canBuy: false,
|
||||
text: 'Bare Bones Cake',
|
||||
target: 'Skeleton',
|
||||
article: ''
|
||||
},
|
||||
Cake_Base: {
|
||||
canBuy: false,
|
||||
text: 'Basic Cake',
|
||||
target: 'Base',
|
||||
article: ''
|
||||
},
|
||||
Cake_CottonCandyBlue: {
|
||||
canBuy: false,
|
||||
text: 'Candy Blue Cake',
|
||||
target: 'CottonCandyBlue',
|
||||
article: ''
|
||||
},
|
||||
Cake_CottonCandyPink: {
|
||||
canBuy: false,
|
||||
text: 'Candy Pink Cake',
|
||||
target: 'CottonCandyPink',
|
||||
article: ''
|
||||
},
|
||||
Cake_Shade: {
|
||||
canBuy: false,
|
||||
text: 'Chocolate Cake',
|
||||
target: 'Shade',
|
||||
article: ''
|
||||
},
|
||||
Cake_White: {
|
||||
canBuy: false,
|
||||
text: 'Cream Cake',
|
||||
target: 'White',
|
||||
article: ''
|
||||
},
|
||||
Cake_Golden: {
|
||||
canBuy: false,
|
||||
text: 'Honey Cake',
|
||||
target: 'Golden',
|
||||
article: ''
|
||||
},
|
||||
Cake_Zombie: {
|
||||
canBuy: false,
|
||||
text: 'Rotten Cake',
|
||||
target: 'Zombie',
|
||||
article: ''
|
||||
},
|
||||
Cake_Desert: {
|
||||
canBuy: false,
|
||||
text: 'Sand Cake',
|
||||
target: 'Desert',
|
||||
article: ''
|
||||
},
|
||||
Cake_Red: {
|
||||
canBuy: false,
|
||||
text: 'Strawberry Cake',
|
||||
target: 'Red',
|
||||
article: ''
|
||||
},
|
||||
Saddle: {
|
||||
text: 'Saddle',
|
||||
value: 5,
|
||||
|
|
@ -10707,7 +10778,8 @@ var global=typeof self !== "undefined" ? self : typeof window !== "undefined" ?
|
|||
return _.defaults(food, {
|
||||
value: 1,
|
||||
key: key,
|
||||
notes: "Feed this to a pet and it may grow into a sturdy steed."
|
||||
notes: "Feed this to a pet and it may grow into a sturdy steed.",
|
||||
canBuy: true
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -12371,7 +12443,6 @@ var process=require("__browserify_process");(function() {
|
|||
bonus = Math.abs(task.value) * task.priority + (task.streak || 0) + (user._statsComputed.per * .5);
|
||||
bonus /= 100;
|
||||
chance = api.diminishingReturns(bonus, 1, 0.5);
|
||||
console.log("Drop Equation: Bonus(" + (bonus.toFixed(3)) + "), Modified Chance(" + (chance.toFixed(3)) + ")\n");
|
||||
quest = content.quests[(_ref = user.party.quest) != null ? _ref.key : void 0];
|
||||
if ((quest != null ? quest.collect : void 0) && user.fns.predictableRandom(user.stats.gp) < bonus) {
|
||||
dropK = user.fns.randomVal(quest.collect, {
|
||||
|
|
@ -12381,9 +12452,6 @@ var process=require("__browserify_process");(function() {
|
|||
if (typeof user.markModified === "function") {
|
||||
user.markModified('party.quest.progress');
|
||||
}
|
||||
console.log({
|
||||
progress: user.party.quest.progress
|
||||
});
|
||||
}
|
||||
if ((api.daysSince(user.items.lastDrop.date, user.preferences) === 0) && (user.items.lastDrop.count >= 5)) {
|
||||
return;
|
||||
|
|
|
|||
BIN
dist/spritesmith-1391115507828.png
vendored
|
Before Width: | Height: | Size: 397 KiB |
BIN
dist/spritesmith-1391134334279.png
vendored
Normal file
|
After Width: | Height: | Size: 410 KiB |
5600
dist/spritesmith.css
vendored
BIN
img/project_files/npcs/birthday/npc_alex.png
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
img/project_files/npcs/birthday/npc_bailey.png
Normal file
|
After Width: | Height: | Size: 4 KiB |
BIN
img/project_files/npcs/birthday/npc_daniel.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
img/project_files/npcs/birthday/npc_ian.png
Normal file
|
After Width: | Height: | Size: 8.8 KiB |
BIN
img/project_files/npcs/birthday/npc_justin.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
img/project_files/npcs/birthday/npc_matt.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
BIN
img/sprites/spritesmith/armor/broad_armor_special_birthday.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
img/sprites/spritesmith/armor/slim_armor_special_birthday.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
img/sprites/spritesmith/items/Pet_Food_Cake_Base.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
img/sprites/spritesmith/items/Pet_Food_Cake_CottonCandyBlue.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
img/sprites/spritesmith/items/Pet_Food_Cake_CottonCandyPink.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
img/sprites/spritesmith/items/Pet_Food_Cake_Desert.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
img/sprites/spritesmith/items/Pet_Food_Cake_Golden.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
img/sprites/spritesmith/items/Pet_Food_Cake_Red.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
img/sprites/spritesmith/items/Pet_Food_Cake_Shade.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
img/sprites/spritesmith/items/Pet_Food_Cake_Skeleton.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
img/sprites/spritesmith/items/Pet_Food_Cake_White.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
BIN
img/sprites/spritesmith/items/Pet_Food_Cake_Zombie.png
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 4 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 6 KiB After Width: | Height: | Size: 7.1 KiB |
BIN
img/sprites/spritesmith/shop/shop_armor_special_birthday.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
|
|
@ -45,8 +45,10 @@
|
|||
"_commentachievement" : "MEMBER ACHIEVEMENT",
|
||||
"veteran" : "Veteran",
|
||||
"veteranText" : "Has weathered Habit The Grey (our pre Angular website), and has gained many battle-scars from its bugs.",
|
||||
"originalUser" : "Original User!",
|
||||
"originalUserText" : "One of the <em>very</em> original early adopters, Talk about alpha tester!",
|
||||
"originalUser" : "Original User!",
|
||||
"originalUserText" : "One of the <em>very</em> original early adopters, Talk about alpha tester!",
|
||||
"habitBirthday" : "2014 HabitRPG Birthday Bash",
|
||||
"habitBirthdayText" : "Participated in the HabitRPG Birthday Bash of 2014.",
|
||||
|
||||
"_commentmodals" : "MEMBERS MODALS",
|
||||
"memberSince" : " - Member since ",
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ gearTypes = ['armor', 'weapon', 'shield', 'head']
|
|||
|
||||
events =
|
||||
winter: {start:'2013-12-31',end:'2014-02-01'}
|
||||
birthday: {start:'2013-01-30',end:'2014-02-01'}
|
||||
|
||||
gear =
|
||||
weapon:
|
||||
|
|
@ -112,6 +113,7 @@ gear =
|
|||
ski: event: events.winter, canOwn: ((u)->u.stats.class is 'rogue' ), text: "Ski-sassin Parka", notes:'Limited Edition 2013 Winter Gear! Full of secret daggers and ski trail maps. Increases PER by 15.', per: 15, value:90
|
||||
candycane: event: events.winter, canOwn: ((u)->u.stats.class is 'wizard' ), text: "Candy Cane Robe", notes:'Limited Edition 2013 Winter Gear! Spun from sugar and silk. Increases INT by 9.', int: 9, value:90
|
||||
snowflake: event: events.winter, canOwn: ((u)->u.stats.class is 'healer' ), text: "Snowflake Robe", notes:'Limited Edition 2013 Winter Gear! A robe to keep you warm, even in a blizzard. Increases CON by 15.', con: 15, value:90
|
||||
birthday: event: events.birthday, text: "Absurd Party Robes", notes:"As part of the festivities, Absurd Party Robes are available free of charge in the Item Store! Swath yourself in those silly garbs and don your matching hats to celebrate this momentous day.", value: 0
|
||||
|
||||
head:
|
||||
base:
|
||||
|
|
@ -541,9 +543,21 @@ api.food =
|
|||
#Cheese: text: 'Cheese', target: 'Golden'
|
||||
#Watermelon: text: 'Watermelon', target: 'Golden'
|
||||
#SeaWeed: text: 'SeaWeed', target: 'Golden'
|
||||
|
||||
Cake_Skeleton: canBuy: false, text: 'Bare Bones Cake', target: 'Skeleton', article: ''
|
||||
Cake_Base: canBuy: false, text: 'Basic Cake', target: 'Base', article: ''
|
||||
Cake_CottonCandyBlue: canBuy: false, text: 'Candy Blue Cake', target: 'CottonCandyBlue', article: ''
|
||||
Cake_CottonCandyPink: canBuy: false, text: 'Candy Pink Cake', target: 'CottonCandyPink', article: ''
|
||||
Cake_Shade: canBuy: false, text: 'Chocolate Cake', target: 'Shade', article: ''
|
||||
Cake_White: canBuy: false, text: 'Cream Cake', target: 'White', article: ''
|
||||
Cake_Golden: canBuy: false, text: 'Honey Cake', target: 'Golden', article: ''
|
||||
Cake_Zombie: canBuy: false, text: 'Rotten Cake', target: 'Zombie', article: ''
|
||||
Cake_Desert: canBuy: false, text: 'Sand Cake', target: 'Desert', article: ''
|
||||
Cake_Red: canBuy: false, text: 'Strawberry Cake', target: 'Red', article: ''
|
||||
|
||||
Saddle: text: 'Saddle', value: 5, notes: 'Instantly raises your pet into a mount.'
|
||||
_.each api.food, (food,key) ->
|
||||
_.defaults food, {value: 1, key, notes: "Feed this to a pet and it may grow into a sturdy steed."}
|
||||
_.defaults food, {value: 1, key, notes: "Feed this to a pet and it may grow into a sturdy steed.", canBuy:true}
|
||||
|
||||
api.quests =
|
||||
|
||||
|
|
|
|||