feat(fall): Add candy drops. Add canDrop & canBuy to food, handled separately for this
event and future events
2
dist/habitrpg-shared.css
vendored
123
dist/habitrpg-shared.js
vendored
|
|
@ -11533,119 +11533,221 @@ api.questPets = _.transform(api.questEggs, function(m, egg) {
|
|||
|
||||
api.food = {
|
||||
Meat: {
|
||||
canBuy: true,
|
||||
canDrop: false,
|
||||
text: t('foodMeat'),
|
||||
target: 'Base',
|
||||
article: ''
|
||||
},
|
||||
Milk: {
|
||||
canBuy: true,
|
||||
canDrop: false,
|
||||
text: t('foodMilk'),
|
||||
target: 'White',
|
||||
article: ''
|
||||
},
|
||||
Potatoe: {
|
||||
canBuy: true,
|
||||
canDrop: false,
|
||||
text: t('foodPotatoe'),
|
||||
target: 'Desert',
|
||||
article: 'a '
|
||||
},
|
||||
Strawberry: {
|
||||
canBuy: true,
|
||||
canDrop: false,
|
||||
text: t('foodStrawberry'),
|
||||
target: 'Red',
|
||||
article: 'a '
|
||||
},
|
||||
Chocolate: {
|
||||
canBuy: true,
|
||||
canDrop: false,
|
||||
text: t('foodChocolate'),
|
||||
target: 'Shade',
|
||||
article: ''
|
||||
},
|
||||
Fish: {
|
||||
canBuy: true,
|
||||
canDrop: false,
|
||||
text: t('foodFish'),
|
||||
target: 'Skeleton',
|
||||
article: 'a '
|
||||
},
|
||||
RottenMeat: {
|
||||
canBuy: true,
|
||||
canDrop: false,
|
||||
text: t('foodRottenMeat'),
|
||||
target: 'Zombie',
|
||||
article: ''
|
||||
},
|
||||
CottonCandyPink: {
|
||||
canBuy: true,
|
||||
canDrop: false,
|
||||
text: t('foodCottonCandyPink'),
|
||||
target: 'CottonCandyPink',
|
||||
article: ''
|
||||
},
|
||||
CottonCandyBlue: {
|
||||
canBuy: true,
|
||||
canDrop: false,
|
||||
text: t('foodCottonCandyBlue'),
|
||||
target: 'CottonCandyBlue',
|
||||
article: ''
|
||||
},
|
||||
Honey: {
|
||||
canBuy: true,
|
||||
canDrop: false,
|
||||
text: t('foodHoney'),
|
||||
target: 'Golden',
|
||||
article: ''
|
||||
},
|
||||
Saddle: {
|
||||
canBuy: true,
|
||||
canDrop: false,
|
||||
text: t('foodSaddleText'),
|
||||
value: 5,
|
||||
notes: t('foodSaddleNotes')
|
||||
},
|
||||
Cake_Skeleton: {
|
||||
canBuy: false,
|
||||
canDrop: false,
|
||||
text: t('foodCakeSkeleton'),
|
||||
target: 'Skeleton',
|
||||
article: ''
|
||||
},
|
||||
Cake_Base: {
|
||||
canBuy: false,
|
||||
canDrop: false,
|
||||
text: t('foodCakeBase'),
|
||||
target: 'Base',
|
||||
article: ''
|
||||
},
|
||||
Cake_CottonCandyBlue: {
|
||||
canBuy: false,
|
||||
canDrop: false,
|
||||
text: t('foodCakeCottonCandyBlue'),
|
||||
target: 'CottonCandyBlue',
|
||||
article: ''
|
||||
},
|
||||
Cake_CottonCandyPink: {
|
||||
canBuy: false,
|
||||
canDrop: false,
|
||||
text: t('foodCakeCottonCandyPink'),
|
||||
target: 'CottonCandyPink',
|
||||
article: ''
|
||||
},
|
||||
Cake_Shade: {
|
||||
canBuy: false,
|
||||
canDrop: false,
|
||||
text: t('foodCakeShade'),
|
||||
target: 'Shade',
|
||||
article: ''
|
||||
},
|
||||
Cake_White: {
|
||||
canBuy: false,
|
||||
canDrop: false,
|
||||
text: t('foodCakeWhite'),
|
||||
target: 'White',
|
||||
article: ''
|
||||
},
|
||||
Cake_Golden: {
|
||||
canBuy: false,
|
||||
canDrop: false,
|
||||
text: t('foodCakeGolden'),
|
||||
target: 'Golden',
|
||||
article: ''
|
||||
},
|
||||
Cake_Zombie: {
|
||||
canBuy: false,
|
||||
canDrop: false,
|
||||
text: t('foodCakeZombie'),
|
||||
target: 'Zombie',
|
||||
article: ''
|
||||
},
|
||||
Cake_Desert: {
|
||||
canBuy: false,
|
||||
canDrop: false,
|
||||
text: t('foodCakeDesert'),
|
||||
target: 'Desert',
|
||||
article: ''
|
||||
},
|
||||
Cake_Red: {
|
||||
canBuy: false,
|
||||
canDrop: false,
|
||||
text: t('foodCakeRed'),
|
||||
target: 'Red',
|
||||
article: ''
|
||||
},
|
||||
Honey: {
|
||||
text: t('foodHoney'),
|
||||
Candy_Skeleton: {
|
||||
canBuy: true,
|
||||
canDrop: true,
|
||||
text: t('foodCandySkeleton'),
|
||||
target: 'Skeleton',
|
||||
article: ''
|
||||
},
|
||||
Candy_Base: {
|
||||
canBuy: true,
|
||||
canDrop: true,
|
||||
text: t('foodCandyBase'),
|
||||
target: 'Base',
|
||||
article: ''
|
||||
},
|
||||
Candy_CottonCandyBlue: {
|
||||
canBuy: true,
|
||||
canDrop: true,
|
||||
text: t('foodCandyCottonCandyBlue'),
|
||||
target: 'CottonCandyBlue',
|
||||
article: ''
|
||||
},
|
||||
Candy_CottonCandyPink: {
|
||||
canBuy: true,
|
||||
canDrop: true,
|
||||
text: t('foodCandyCottonCandyPink'),
|
||||
target: 'CottonCandyPink',
|
||||
article: ''
|
||||
},
|
||||
Candy_Shade: {
|
||||
canBuy: true,
|
||||
canDrop: true,
|
||||
text: t('foodCandyShade'),
|
||||
target: 'Shade',
|
||||
article: ''
|
||||
},
|
||||
Candy_White: {
|
||||
canBuy: true,
|
||||
canDrop: true,
|
||||
text: t('foodCandyWhite'),
|
||||
target: 'White',
|
||||
article: ''
|
||||
},
|
||||
Candy_Golden: {
|
||||
canBuy: true,
|
||||
canDrop: true,
|
||||
text: t('foodCandyGolden'),
|
||||
target: 'Golden',
|
||||
article: ''
|
||||
},
|
||||
Saddle: {
|
||||
text: t('foodSaddleText'),
|
||||
value: 5,
|
||||
notes: t('foodSaddleNotes')
|
||||
Candy_Zombie: {
|
||||
canBuy: true,
|
||||
canDrop: true,
|
||||
text: t('foodCandyZombie'),
|
||||
target: 'Zombie',
|
||||
article: ''
|
||||
},
|
||||
Candy_Desert: {
|
||||
canBuy: true,
|
||||
canDrop: true,
|
||||
text: t('foodCandyDesert'),
|
||||
target: 'Desert',
|
||||
article: ''
|
||||
},
|
||||
Candy_Red: {
|
||||
canBuy: true,
|
||||
canDrop: true,
|
||||
text: t('foodCandyRed'),
|
||||
target: 'Red',
|
||||
article: ''
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -11653,8 +11755,7 @@ _.each(api.food, function(food, key) {
|
|||
return _.defaults(food, {
|
||||
value: 1,
|
||||
key: key,
|
||||
notes: t('foodNotes'),
|
||||
canBuy: true
|
||||
notes: t('foodNotes')
|
||||
});
|
||||
});
|
||||
|
||||
|
|
@ -14107,9 +14208,9 @@ api.wrap = function(user, main) {
|
|||
if (((_ref1 = user.flags) != null ? _ref1.dropsEnabled : void 0) && user.fns.predictableRandom(user.stats.exp) < chance) {
|
||||
rarity = user.fns.predictableRandom(user.stats.gp);
|
||||
if (rarity > .6) {
|
||||
drop = user.fns.randomVal(_(content.food).omit('Saddle').where({
|
||||
canBuy: true
|
||||
}).value());
|
||||
drop = user.fns.randomVal(_.where(content.food, {
|
||||
canDrop: true
|
||||
}));
|
||||
if ((_base = user.items.food)[_name = drop.key] == null) {
|
||||
_base[_name] = 0;
|
||||
}
|
||||
|
|
|
|||
130
dist/spritesmith0.css
vendored
|
|
@ -1254,25 +1254,25 @@
|
|||
}
|
||||
.hair_mustache_2_TRUred {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -565px -148px;
|
||||
background-position: -1162px -273px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_mustache_2_TRUred {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -590px -163px;
|
||||
background-position: -1187px -288px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_mustache_2_black {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -1162px -364px;
|
||||
background-position: -565px -148px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_mustache_2_black {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -1187px -379px;
|
||||
background-position: -590px -163px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
|
|
@ -2442,299 +2442,323 @@
|
|||
}
|
||||
.hair_base_1_pblue {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -1162px -273px;
|
||||
background-position: -910px -1354px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_1_pblue {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -1187px -288px;
|
||||
background-position: -935px -1369px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_1_pgreen {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -91px -535px;
|
||||
background-position: -1001px -1354px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_1_pgreen {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -116px -550px;
|
||||
background-position: -1026px -1369px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_1_porange {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: 0px -535px;
|
||||
background-position: -1162px -364px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_1_porange {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -25px -550px;
|
||||
background-position: -1187px -379px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_1_ppink {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -546px -444px;
|
||||
background-position: -91px -535px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_1_ppink {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -571px -459px;
|
||||
background-position: -116px -550px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_1_ppurple {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -455px -444px;
|
||||
background-position: 0px -535px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_1_ppurple {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -480px -459px;
|
||||
background-position: -25px -550px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_1_purple {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -364px -444px;
|
||||
background-position: -546px -444px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_1_purple {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -389px -459px;
|
||||
background-position: -571px -459px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_1_pyellow {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -273px -444px;
|
||||
background-position: -455px -444px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_1_pyellow {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -298px -459px;
|
||||
background-position: -480px -459px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_1_rainbow {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -182px -444px;
|
||||
background-position: -364px -444px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_1_rainbow {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -207px -459px;
|
||||
background-position: -389px -459px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_1_red {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -91px -444px;
|
||||
background-position: -273px -444px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_1_red {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -116px -459px;
|
||||
background-position: -298px -459px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_1_white {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: 0px -444px;
|
||||
background-position: -182px -444px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_1_white {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -25px -459px;
|
||||
background-position: -207px -459px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_1_winternight {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -425px -296px;
|
||||
background-position: -91px -444px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_1_winternight {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -450px -311px;
|
||||
background-position: -116px -459px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_1_yellow {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -565px -330px;
|
||||
background-position: 0px -444px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_1_yellow {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -590px -345px;
|
||||
background-position: -25px -459px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_TRUred {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -565px -239px;
|
||||
background-position: -425px -296px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_TRUred {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -590px -254px;
|
||||
background-position: -450px -311px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_black {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: 0px -626px;
|
||||
background-position: -565px -330px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_black {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -25px -641px;
|
||||
background-position: -590px -345px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_blond {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -707px -455px;
|
||||
background-position: -565px -239px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_blond {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -732px -470px;
|
||||
background-position: -590px -254px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_blue {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -707px -364px;
|
||||
background-position: 0px -626px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_blue {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -732px -379px;
|
||||
background-position: -25px -641px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_brown {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -707px -273px;
|
||||
background-position: -707px -455px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_brown {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -732px -288px;
|
||||
background-position: -732px -470px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_candycane {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -707px -182px;
|
||||
background-position: -707px -364px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_candycane {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -732px -197px;
|
||||
background-position: -732px -379px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_frost {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -707px -91px;
|
||||
background-position: -707px -273px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_frost {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -732px -106px;
|
||||
background-position: -732px -288px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_green {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -707px 0px;
|
||||
background-position: -707px -182px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_green {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -732px -15px;
|
||||
background-position: -732px -197px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_holly {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -546px -535px;
|
||||
background-position: -707px -91px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_holly {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -571px -550px;
|
||||
background-position: -732px -106px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_pblue {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -455px -535px;
|
||||
background-position: -707px 0px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_pblue {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -480px -550px;
|
||||
background-position: -732px -15px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_pgreen {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -364px -535px;
|
||||
background-position: -546px -535px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_pgreen {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -389px -550px;
|
||||
background-position: -571px -550px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_porange {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -273px -535px;
|
||||
background-position: -455px -535px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_porange {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -298px -550px;
|
||||
background-position: -480px -550px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_ppink {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -182px -535px;
|
||||
background-position: -364px -535px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_ppink {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -389px -550px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_ppurple {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -273px -535px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_ppurple {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -298px -550px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
.hair_base_2_purple {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -182px -535px;
|
||||
width: 90px;
|
||||
height: 90px;
|
||||
}
|
||||
.customize-option.hair_base_2_purple {
|
||||
background-image: url(spritesmith0.png);
|
||||
background-position: -207px -550px;
|
||||
width: 60px;
|
||||
|
|
|
|||
BIN
dist/spritesmith0.png
vendored
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 99 KiB |
954
dist/spritesmith1.css
vendored
BIN
dist/spritesmith1.png
vendored
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
340
dist/spritesmith2.css
vendored
BIN
dist/spritesmith2.png
vendored
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 85 KiB |
562
dist/spritesmith3.css
vendored
BIN
dist/spritesmith3.png
vendored
|
Before Width: | Height: | Size: 186 KiB After Width: | Height: | Size: 185 KiB |
1756
dist/spritesmith4.css
vendored
BIN
dist/spritesmith4.png
vendored
|
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 171 KiB |
770
dist/spritesmith5.css
vendored
BIN
dist/spritesmith5.png
vendored
|
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 152 KiB |
BIN
img/sprites/spritesmith/stable/food/Pet_Food_Candy_Base.png
Normal file
|
After Width: | Height: | Size: 3 KiB |
|
After Width: | Height: | Size: 3 KiB |
|
After Width: | Height: | Size: 3 KiB |
BIN
img/sprites/spritesmith/stable/food/Pet_Food_Candy_Desert.png
Normal file
|
After Width: | Height: | Size: 3 KiB |
BIN
img/sprites/spritesmith/stable/food/Pet_Food_Candy_Golden.png
Normal file
|
After Width: | Height: | Size: 3 KiB |
BIN
img/sprites/spritesmith/stable/food/Pet_Food_Candy_Red.png
Normal file
|
After Width: | Height: | Size: 3 KiB |
BIN
img/sprites/spritesmith/stable/food/Pet_Food_Candy_Shade.png
Normal file
|
After Width: | Height: | Size: 3 KiB |
BIN
img/sprites/spritesmith/stable/food/Pet_Food_Candy_Skeleton.png
Normal file
|
After Width: | Height: | Size: 3 KiB |
BIN
img/sprites/spritesmith/stable/food/Pet_Food_Candy_White.png
Normal file
|
After Width: | Height: | Size: 3 KiB |
BIN
img/sprites/spritesmith/stable/food/Pet_Food_Candy_Zombie.png
Normal file
|
After Width: | Height: | Size: 3 KiB |
|
|
@ -84,6 +84,8 @@
|
|||
"foodRottenMeat": "Rotten Meat",
|
||||
"foodCottonCandyPink": "Pink Cotton Candy",
|
||||
"foodCottonCandyBlue": "Blue Cotton Candy",
|
||||
"foodHoney": "Honey",
|
||||
|
||||
"foodCakeSkeleton": "Bare Bones Cake",
|
||||
"foodCakeBase": "Basic Cake",
|
||||
"foodCakeCottonCandyBlue": "Candy Blue Cake",
|
||||
|
|
@ -94,7 +96,17 @@
|
|||
"foodCakeZombie": "Rotten Cake",
|
||||
"foodCakeDesert": "Sand Cake",
|
||||
"foodCakeRed": "Strawberry Cake",
|
||||
"foodHoney": "Honey",
|
||||
|
||||
"foodCandySkeleton": "Bare Bones Candy",
|
||||
"foodCandyBase": "Basic Candy",
|
||||
"foodCandyCottonCandyBlue": "Sour Blue Candy",
|
||||
"foodCandyCottonCandyPink": "Sour Pink Candy",
|
||||
"foodCandyShade": "Chocolate Candy",
|
||||
"foodCandyWhite": "Vanilla Candy",
|
||||
"foodCandyGolden": "Honey Candy ",
|
||||
"foodCandyZombie": "Rotten Candy",
|
||||
"foodCandyDesert": "Sand Candy",
|
||||
"foodCandyRed": "Cinnamon Candy",
|
||||
|
||||
"foodSaddleText": "Saddle",
|
||||
"foodSaddleNotes": "Instantly raises one of your pets into a mount.",
|
||||
|
|
|
|||
|
|
@ -680,38 +680,48 @@ api.questPets = _.transform api.questEggs, (m, egg) ->
|
|||
_.defaults m, _.transform api.hatchingPotions, (m2, pot) ->
|
||||
m2[egg.key + "-" + pot.key] = true
|
||||
|
||||
#TODO after the fall event, set Base set to canBuy:true (or remove, since it's default) and set Fall set to canBuy:false
|
||||
api.food =
|
||||
Meat: text: t('foodMeat'), target: 'Base', article: ''
|
||||
Milk: text: t('foodMilk'), target: 'White', article: ''
|
||||
Potatoe: text: t('foodPotatoe'), target: 'Desert', article: 'a '
|
||||
Strawberry: text: t('foodStrawberry'), target: 'Red', article: 'a '
|
||||
Chocolate: text: t('foodChocolate'), target: 'Shade', article: ''
|
||||
Fish: text: t('foodFish'), target: 'Skeleton', article: 'a '
|
||||
RottenMeat: text: t('foodRottenMeat'), target: 'Zombie', article: ''
|
||||
CottonCandyPink: text: t('foodCottonCandyPink'), target: 'CottonCandyPink', article: ''
|
||||
CottonCandyBlue: text: t('foodCottonCandyBlue'), target: 'CottonCandyBlue', article: ''
|
||||
# FIXME what to do with these extra items? Should we add "targets" (plural) for food instead of singular, so we don't have awkward extras?
|
||||
#Cheese: text: 'Cheese', target: 'Golden'
|
||||
#Watermelon: text: 'Watermelon', target: 'Golden'
|
||||
#SeaWeed: text: 'SeaWeed', target: 'Golden'
|
||||
# Base
|
||||
Meat: canBuy:true, canDrop:false, text: t('foodMeat'), target: 'Base', article: ''
|
||||
Milk: canBuy:true, canDrop:false, text: t('foodMilk'), target: 'White', article: ''
|
||||
Potatoe: canBuy:true, canDrop:false, text: t('foodPotatoe'), target: 'Desert', article: 'a '
|
||||
Strawberry: canBuy:true, canDrop:false, text: t('foodStrawberry'), target: 'Red', article: 'a '
|
||||
Chocolate: canBuy:true, canDrop:false, text: t('foodChocolate'), target: 'Shade', article: ''
|
||||
Fish: canBuy:true, canDrop:false, text: t('foodFish'), target: 'Skeleton', article: 'a '
|
||||
RottenMeat: canBuy:true, canDrop:false, text: t('foodRottenMeat'), target: 'Zombie', article: ''
|
||||
CottonCandyPink: canBuy:true, canDrop:false, text: t('foodCottonCandyPink'), target: 'CottonCandyPink', article: ''
|
||||
CottonCandyBlue: canBuy:true, canDrop:false, text: t('foodCottonCandyBlue'), target: 'CottonCandyBlue', article: ''
|
||||
Honey: canBuy:true, canDrop:false, text: t('foodHoney'), target: 'Golden', article: ''
|
||||
|
||||
Cake_Skeleton: canBuy: false, text: t('foodCakeSkeleton'), target: 'Skeleton', article: ''
|
||||
Cake_Base: canBuy: false, text: t('foodCakeBase'), target: 'Base', article: ''
|
||||
Cake_CottonCandyBlue: canBuy: false, text: t('foodCakeCottonCandyBlue'), target: 'CottonCandyBlue', article: ''
|
||||
Cake_CottonCandyPink: canBuy: false, text: t('foodCakeCottonCandyPink'), target: 'CottonCandyPink', article: ''
|
||||
Cake_Shade: canBuy: false, text: t('foodCakeShade'), target: 'Shade', article: ''
|
||||
Cake_White: canBuy: false, text: t('foodCakeWhite'), target: 'White', article: ''
|
||||
Cake_Golden: canBuy: false, text: t('foodCakeGolden'), target: 'Golden', article: ''
|
||||
Cake_Zombie: canBuy: false, text: t('foodCakeZombie'), target: 'Zombie', article: ''
|
||||
Cake_Desert: canBuy: false, text: t('foodCakeDesert'), target: 'Desert', article: ''
|
||||
Cake_Red: canBuy: false, text: t('foodCakeRed'), target: 'Red', article: ''
|
||||
Saddle: canBuy:true, canDrop:false, text: t('foodSaddleText'), value: 5, notes: t('foodSaddleNotes')
|
||||
|
||||
# Tests hack, put honey last so the faux random picks it up in unit tests
|
||||
Honey: text: t('foodHoney'), target: 'Golden', article: ''
|
||||
# Cake
|
||||
Cake_Skeleton: canBuy:false, canDrop:false, text: t('foodCakeSkeleton'), target: 'Skeleton', article: ''
|
||||
Cake_Base: canBuy:false, canDrop:false, text: t('foodCakeBase'), target: 'Base', article: ''
|
||||
Cake_CottonCandyBlue: canBuy:false, canDrop:false, text: t('foodCakeCottonCandyBlue'), target: 'CottonCandyBlue', article: ''
|
||||
Cake_CottonCandyPink: canBuy:false, canDrop:false, text: t('foodCakeCottonCandyPink'), target: 'CottonCandyPink', article: ''
|
||||
Cake_Shade: canBuy:false, canDrop:false, text: t('foodCakeShade'), target: 'Shade', article: ''
|
||||
Cake_White: canBuy:false, canDrop:false, text: t('foodCakeWhite'), target: 'White', article: ''
|
||||
Cake_Golden: canBuy:false, canDrop:false, text: t('foodCakeGolden'), target: 'Golden', article: ''
|
||||
Cake_Zombie: canBuy:false, canDrop:false, text: t('foodCakeZombie'), target: 'Zombie', article: ''
|
||||
Cake_Desert: canBuy:false, canDrop:false, text: t('foodCakeDesert'), target: 'Desert', article: ''
|
||||
Cake_Red: canBuy:false, canDrop:false, text: t('foodCakeRed'), target: 'Red', article: ''
|
||||
|
||||
# Fall
|
||||
Candy_Skeleton: canBuy:true, canDrop:true, text: t('foodCandySkeleton'), target: 'Skeleton', article: ''
|
||||
Candy_Base: canBuy:true, canDrop:true, text: t('foodCandyBase'), target: 'Base', article: ''
|
||||
Candy_CottonCandyBlue: canBuy:true, canDrop:true, text: t('foodCandyCottonCandyBlue'), target: 'CottonCandyBlue', article: ''
|
||||
Candy_CottonCandyPink: canBuy:true, canDrop:true, text: t('foodCandyCottonCandyPink'), target: 'CottonCandyPink', article: ''
|
||||
Candy_Shade: canBuy:true, canDrop:true, text: t('foodCandyShade'), target: 'Shade', article: ''
|
||||
Candy_White: canBuy:true, canDrop:true, text: t('foodCandyWhite'), target: 'White', article: ''
|
||||
Candy_Golden: canBuy:true, canDrop:true, text: t('foodCandyGolden'), target: 'Golden', article: ''
|
||||
Candy_Zombie: canBuy:true, canDrop:true, text: t('foodCandyZombie'), target: 'Zombie', article: ''
|
||||
Candy_Desert: canBuy:true, canDrop:true, text: t('foodCandyDesert'), target: 'Desert', article: ''
|
||||
Candy_Red: canBuy:true, canDrop:true, text: t('foodCandyRed'), target: 'Red', article: ''
|
||||
|
||||
Saddle: text: t('foodSaddleText'), value: 5, notes: t('foodSaddleNotes')
|
||||
_.each api.food, (food,key) ->
|
||||
_.defaults food, {value: 1, key, notes: t('foodNotes'), canBuy:true}
|
||||
_.defaults food, {value: 1, key, notes: t('foodNotes')}
|
||||
|
||||
api.quests =
|
||||
|
||||
|
|
|
|||
|
|
@ -1053,7 +1053,7 @@ api.wrap = (user, main=true) ->
|
|||
|
||||
# Food: 40% chance
|
||||
if rarity > .6
|
||||
drop = user.fns.randomVal _(content.food).omit('Saddle').where({canBuy:true}).value()
|
||||
drop = user.fns.randomVal _.where(content.food, {canDrop:true})
|
||||
user.items.food[drop.key] ?= 0
|
||||
user.items.food[drop.key]+= 1
|
||||
drop.type = 'Food'
|
||||
|
|
|
|||