feat(event): Summer Splash cont'd
Summer backgrounds, the Seafoam transformation item, and announcements for same.
2
common/dist/sprites/habitrpg-shared.css
vendored
1496
common/dist/sprites/spritesmith0.css
vendored
BIN
common/dist/sprites/spritesmith0.png
vendored
|
Before Width: | Height: | Size: 209 KiB After Width: | Height: | Size: 219 KiB |
1620
common/dist/sprites/spritesmith1.css
vendored
BIN
common/dist/sprites/spritesmith1.png
vendored
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
5386
common/dist/sprites/spritesmith2.css
vendored
BIN
common/dist/sprites/spritesmith2.png
vendored
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
800
common/dist/sprites/spritesmith3.css
vendored
BIN
common/dist/sprites/spritesmith3.png
vendored
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
824
common/dist/sprites/spritesmith4.css
vendored
BIN
common/dist/sprites/spritesmith4.png
vendored
|
Before Width: | Height: | Size: 510 KiB After Width: | Height: | Size: 500 KiB |
788
common/dist/sprites/spritesmith5.css
vendored
BIN
common/dist/sprites/spritesmith5.png
vendored
|
Before Width: | Height: | Size: 225 KiB After Width: | Height: | Size: 226 KiB |
800
common/dist/sprites/spritesmith6.css
vendored
BIN
common/dist/sprites/spritesmith6.png
vendored
|
Before Width: | Height: | Size: 195 KiB After Width: | Height: | Size: 195 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
BIN
common/img/sprites/spritesmith/misc/seafoam_star.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
common/img/sprites/spritesmith/shop/shop_seafoam.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
@@ -103,5 +103,13 @@
|
||||
"backgroundShimmeryBubblesText": "Shimmery Bubbles",
|
||||
"backgroundShimmeryBubblesNotes": "Float through a sea of Shimmery Bubbles.",
|
||||
"backgroundIslandWaterfallsText": "Island Waterfalls",
|
||||
"backgroundIslandWaterfallsNotes": "Picnic near Island Waterfalls."
|
||||
"backgroundIslandWaterfallsNotes": "Picnic near Island Waterfalls.",
|
||||
|
||||
"backgrounds072015": "SET 14: Released July 2015",
|
||||
"backgroundDilatoryRuinsText": "Ruins of Dilatory",
|
||||
"backgroundDilatoryRuinsNotes": "Dive to the Ruins of Dilatory.",
|
||||
"backgroundGiantWaveText": "Giant Wave",
|
||||
"backgroundGiantWaveNotes": "Surf a Giant Wave!",
|
||||
"backgroundSunkenShipText": "Sunken Ship",
|
||||
"backgroundSunkenShipNotes": "Explore a Sunken Ship."
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
"alarmingFriendsText": "Got spooked <%= spookDust %> times by party members.",
|
||||
"agriculturalFriends": "Agricultural Friends",
|
||||
"agriculturalFriendsText": "Got transformed into a flower <%= seeds %> times by party members.",
|
||||
"aquaticFriends": "Aquatic Friends",
|
||||
"aquaticFriendsText": "Got splashed <%= seafoam %> times by party members.",
|
||||
"valentineCard": "Valentine's Day Card",
|
||||
"valentineCardNotes": "Send a Valentine's Day card to a party member.",
|
||||
"valentine0": "\"Roses are red<%= lineBreak %>My Dailies are blue<%= lineBreak %>I'm happy that I'm<%= lineBreak %>In a Party with you!\"",
|
||||
|
||||
@@ -60,6 +60,11 @@
|
||||
"spellSpecialShinySeedText": "Shiny Seed",
|
||||
"spellSpecialShinySeedNotes": "Turn a friend into a joyous flower!",
|
||||
"spellSpecialPetalFreePotionText": "Petal-Free Potion",
|
||||
"spellSpecialPetalFreePotionNotes": "Cancel the effects of a Shiny Seed."
|
||||
"spellSpecialPetalFreePotionNotes": "Cancel the effects of a Shiny Seed.",
|
||||
|
||||
"spellSpecialSeafoamText": "Seafoam",
|
||||
"spellSpecialSeafoamNotes": "Turn a friend into a sea creature!",
|
||||
"spellSpecialSandText": "Sand",
|
||||
"spellSpecialSandNotes": "Cancel the effects of Seafoam."
|
||||
|
||||
}
|
||||
|
||||
@@ -787,6 +787,7 @@ api.spells =
|
||||
target.stats.buffs.snowball = true
|
||||
target.stats.buffs.spookDust = false
|
||||
target.stats.buffs.shinySeed = false
|
||||
target.stats.buffs.seafoam = false
|
||||
target.achievements.snowball ?= 0
|
||||
target.achievements.snowball++
|
||||
user.items.special.snowball--
|
||||
@@ -812,6 +813,7 @@ api.spells =
|
||||
target.stats.buffs.snowball = false
|
||||
target.stats.buffs.spookDust = true
|
||||
target.stats.buffs.shinySeed = false
|
||||
target.stats.buffs.seafoam = false
|
||||
target.achievements.spookDust ?= 0
|
||||
target.achievements.spookDust++
|
||||
user.items.special.spookDust--
|
||||
@@ -837,6 +839,7 @@ api.spells =
|
||||
target.stats.buffs.snowball = false
|
||||
target.stats.buffs.spookDust = false
|
||||
target.stats.buffs.shinySeed = true
|
||||
target.stats.buffs.seafoam = false
|
||||
target.achievements.shinySeed ?= 0
|
||||
target.achievements.shinySeed++
|
||||
user.items.special.shinySeed--
|
||||
@@ -852,6 +855,32 @@ api.spells =
|
||||
user.stats.buffs.shinySeed = false
|
||||
user.stats.gp -= 5
|
||||
|
||||
seafoam:
|
||||
text: t('spellSpecialSeafoamText')
|
||||
mana: 0
|
||||
value: 15
|
||||
target: 'user'
|
||||
notes: t('spellSpecialSeafoamNotes')
|
||||
cast: (user, target) ->
|
||||
target.stats.buffs.snowball = false
|
||||
target.stats.buffs.spookDust = false
|
||||
target.stats.buffs.shinySeed = false
|
||||
target.stats.buffs.seafoam = true
|
||||
target.achievements.seafoam ?= 0
|
||||
target.achievements.seafoam++
|
||||
user.items.special.seafoam--
|
||||
|
||||
sand:
|
||||
text: t('spellSpecialSandText')
|
||||
mana: 0
|
||||
value: 5
|
||||
immediateUse: true
|
||||
target: 'self'
|
||||
notes: t('spellSpecialSandNotes')
|
||||
cast: (user, target) ->
|
||||
user.stats.buffs.seafoam = false
|
||||
user.stats.gp -= 5
|
||||
|
||||
nye:
|
||||
text: t('nyeCard')
|
||||
mana: 0
|
||||
@@ -1913,6 +1942,16 @@ api.backgrounds =
|
||||
island_waterfalls:
|
||||
text: t('backgroundIslandWaterfallsText')
|
||||
notes: t('backgroundIslandWaterfallsNotes')
|
||||
backgrounds072015:
|
||||
dilatory_ruins:
|
||||
text: t('backgroundDilatoryRuinsText')
|
||||
notes: t('backgroundDilatoryRuinsNotes')
|
||||
giant_wave:
|
||||
text: t('backgroundGiantWaveText')
|
||||
notes: t('backgroundGiantWaveNotes')
|
||||
sunken_ship:
|
||||
text: t('backgroundSunkenShipText')
|
||||
notes: t('backgroundSunkenShipNotes')
|
||||
|
||||
api.subscriptionBlocks =
|
||||
basic_earned: months:1, price:5
|
||||
|
||||
@@ -4,10 +4,15 @@
|
||||
line-height: 1.5em
|
||||
padding-left: 0.75em
|
||||
|
||||
.shop_gold, .shop_silver, .shop_copper, .shop_spell
|
||||
.shop_gold, .shop_silver, .shop_copper
|
||||
vertical-align: top
|
||||
display: inline-block
|
||||
|
||||
.shop_spell
|
||||
vertical-align: top
|
||||
display: inline-block
|
||||
top: -5px
|
||||
|
||||
.btn-buy
|
||||
width: 4.5em
|
||||
min-height: 3em
|
||||
|
||||
@@ -46,6 +46,7 @@ var UserSchema = new Schema({
|
||||
snowball: Number,
|
||||
spookDust: Number,
|
||||
shinySeed: Number,
|
||||
seafoam: Number,
|
||||
streak: Number,
|
||||
challenges: Array,
|
||||
quests: Schema.Types.Mixed,
|
||||
@@ -207,6 +208,7 @@ var UserSchema = new Schema({
|
||||
snowball: {type: Number, 'default': 0},
|
||||
spookDust: {type: Number, 'default': 0},
|
||||
shinySeed: {type: Number, 'default': 0},
|
||||
seafoam: {type: Number, 'default': 0},
|
||||
valentine: Number,
|
||||
valentineReceived: Array, // array of strings, by sender name
|
||||
nye: Number,
|
||||
@@ -375,7 +377,8 @@ var UserSchema = new Schema({
|
||||
streaks: {type: Boolean, 'default': false},
|
||||
snowball: {type: Boolean, 'default': false},
|
||||
spookDust: {type: Boolean, 'default': false},
|
||||
shinySeed: {type: Boolean, 'default': false}
|
||||
shinySeed: {type: Boolean, 'default': false},
|
||||
seafoam: {type: Boolean, 'default': false}
|
||||
},
|
||||
training: {
|
||||
int: {type: Number, 'default': 0},
|
||||
|
||||
@@ -54,16 +54,11 @@ script(type='text/ng-template', id='partials/options.inventory.seasonalshop.html
|
||||
p
|
||||
| {{::quest.value}}
|
||||
span.Pet_Currency_Gem1x.inline-gems
|
||||
// menu.pets-menu(label=env.t('seasonalItems'))
|
||||
menu.pets-menu(label=env.t('seasonalItems'))
|
||||
div
|
||||
button.customize-option(popover='{{::Content.spells.special.shinySeed.notes()}}', popover-title='{{::Content.spells.special.shinySeed.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='purchase("special", Content.spells.special.shinySeed)', class='inventory_special_shinySeed')
|
||||
button.customize-option(popover='{{::Content.spells.special.seafoam.notes()}}', popover-title='{{::Content.spells.special.seafoam.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='purchase("special", Content.spells.special.seafoam)', class='inventory_special_seafoam')
|
||||
p
|
||||
| {{::Content.spells.special.shinySeed.value}}
|
||||
span(class='shop_gold')
|
||||
// div
|
||||
button.customize-option(popover='{{::Content.spells.special.snowball.notes()}}', popover-title='{{::Content.spells.special.snowball.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='purchase("special", Content.spells.special.snowball)', class='inventory_special_snowball')
|
||||
p
|
||||
| {{::Content.spells.special.snowball.value}}
|
||||
| {{::Content.spells.special.seafoam.value}}
|
||||
span(class='shop_gold')
|
||||
// div
|
||||
button.customize-option(popover='{{::Content.spells.special.nye.notes()}}', popover-title='{{::Content.spells.special.nye.text()}}', popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='castStart(Content.spells.special.nye)', class='inventory_special_nye')
|
||||
@@ -150,6 +145,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html')
|
||||
+specialItem('snowball')
|
||||
+specialItem('spookDust')
|
||||
+specialItem('shinySeed')
|
||||
+specialItem('seafoam')
|
||||
|
||||
div(ng-if='user.items.special.valentineReceived[0]')
|
||||
button.customize-option(popover="Valentine's Day Card from {{User.user.items.special.valentineReceived[0]}}", popover-trigger='mouseenter', popover-placement='right', popover-append-to-body='true', ng-click='openModal("valentine")', class='inventory_special_valentine')
|
||||
|
||||
@@ -61,7 +61,7 @@ script(type='text/ng-template', id='partials/options.social.guilds.public.html')
|
||||
a.btn.btn-sm.btn-success(ng-if="::!group._isMember", ng-click='join(group)')
|
||||
span.glyphicon.glyphicon-ok
|
||||
=env.t('join')
|
||||
h4: a(href='/#/options/groups/guilds/{{::group._id}}'){{::group.name}}
|
||||
h4: a(href='/#/options/groups/guilds/{{::group._id}}') {{::group.name}}
|
||||
p {{::group.description}}
|
||||
|
||||
script(type='text/ng-template', id='partials/options.social.guilds.detail.html')
|
||||
|
||||
@@ -9,13 +9,13 @@ mixin avatar(opts)
|
||||
span(ng-if='profile.items.currentMount', class='Mount_Body_{{profile.items.currentMount}}')
|
||||
|
||||
// Buffs that cause visual changes to avatar: Snowman, Ghost, Flower, etc
|
||||
- var visualBuffs = { snowball: 'snowman', spookDust: 'spookman', shinySeed: 'avatar_floral_{{profile.stats.class}}' }
|
||||
- var visualBuffs = { snowball: 'snowman', spookDust: 'spookman', shinySeed: 'avatar_floral_{{profile.stats.class}}', seafoam: 'seafoam_star' }
|
||||
each klass, item in visualBuffs
|
||||
span(ng-if='profile.stats.buffs.#{item}', class='#{klass}')
|
||||
|
||||
// Show avatar only if not currently affected by visual buff
|
||||
- var buffs = '!profile.stats.buffs'
|
||||
span(ng-if='#{buffs}.snowball && #{buffs}.spookDust && #{buffs}.shinySeed')
|
||||
span(ng-if='#{buffs}.snowball && #{buffs}.spookDust && #{buffs}.shinySeed && #{buffs}.seafoam')
|
||||
include generated_avatar
|
||||
|
||||
// Mount Head
|
||||
|
||||
@@ -1,25 +1,45 @@
|
||||
h5 6/30/2015 - LAST CHANCE FOR NEON SNORKELER, CLONE CHALLENGES, AND CHALLENGER CONTRIBUTOR TITLE
|
||||
h5 7/1/2015 - SEAFOAM TRANSFORMATION ITEM , JULY BACKGROUNDS REVEALED, SUBSCRIBE WITH AMAZON PAYMENTS AND JULY SUBSCRIBER BOX
|
||||
hr
|
||||
tr
|
||||
td
|
||||
.promo_mystery_201506.pull-right
|
||||
h5 Last Chance for Neon Snorkeler Item Set
|
||||
p Reminder: this is the final day to <a href='/#/options/settings/subscription'>subscribe</a> and receive the Neon Snorkeler Item Set! If you want the Snorkeler Suit or the Neon Snorkel, now's the time! Thanks so much for your support <3
|
||||
.inventory_special_seafoam.pull-right
|
||||
h5 Seafoam Transformation Item
|
||||
p Splash some Seafoam on your friends and they will undergo a mysterious transformation until their next cron! You can buy the Seafoam in the <a href='/#/options/inventory/seasonalshop'>Seasonal Shop</a> for Gold. Don't want to be transformed? Just buy some Sand from the <a href='/#/tasks'>Rewards Store</a> to reverse it.
|
||||
p.small.muted by Lemoness
|
||||
tr
|
||||
td
|
||||
h5 Clone Challenges
|
||||
p It's now easier than ever to create a recurring Challenge! Just go to a previously created challenge and click the clone button. This creates a new Challenge with all the same information (name, description, prize, tasks) pre-populated, so the challenge creator can adjust only as needed. We hope this saves you time!
|
||||
p.small.muted by TheHollidayInn and Blade
|
||||
.background_giant_wave.pull-right
|
||||
h5 July Backgrounds Revealed
|
||||
p There are three new avatar backgrounds in the <a href='/#/options/profile/backgrounds'>Background Shop</a>! Now your avatar can surf on a Giant Wave, explore a Sunken Ship, or dive to the Ruins of Dilatory!
|
||||
p.small.muted by (in order): minac1, Mimi Alves, and Twitching
|
||||
tr
|
||||
td
|
||||
h5 Challenger Contributor Title
|
||||
p Speaking of recurring Challenges, we've decided to create a new Contributor title, "Challenger", to honor the Habiticans who have been working to improve the community by consistently creating many valuable Challenges. The Challenger title is awarded at the discretion of the staff and mods. Many thanks to our creative and dedicated Challengers!
|
||||
.inventory_present_07.pull-left
|
||||
h5 Subscribe with Amazon Payments
|
||||
p Want to subscribe to get the July Mystery Item and the ability to buy Gems with Gold? Now you have a new way to pay for a subscription: Amazon Payments! The July Subscriber Item Set will be revealed on the 24th, so keep your eyes peeled.
|
||||
br
|
||||
p Right now, we only support Amazon Payments for subscriptions, but in the future, we will make it possible to use Amazon Payments to buy Gems as well. Thanks for supporting the site <3
|
||||
|
||||
hr
|
||||
a(href='/static/old-news', target='_blank') Read older news
|
||||
|
||||
mixin oldNews
|
||||
h5 6/30/2015 - LAST CHANCE FOR NEON SNORKELER, CLONE CHALLENGES, AND CHALLENGER CONTRIBUTOR TITLE
|
||||
tr
|
||||
td
|
||||
.promo_mystery_201506.pull-right
|
||||
h5 Last Chance for Neon Snorkeler Item Set
|
||||
p Reminder: this is the final day to <a href='/#/options/settings/subscription'>subscribe</a> and receive the Neon Snorkeler Item Set! If you want the Snorkeler Suit or the Neon Snorkel, now's the time! Thanks so much for your support <3
|
||||
p.small.muted by Lemoness
|
||||
tr
|
||||
td
|
||||
h5 Clone Challenges
|
||||
p It's now easier than ever to create a recurring Challenge! Just go to a previously created challenge and click the clone button. This creates a new Challenge with all the same information (name, description, prize, tasks) pre-populated, so the challenge creator can adjust only as needed. We hope this saves you time!
|
||||
p.small.muted by TheHollidayInn and Blade
|
||||
tr
|
||||
td
|
||||
h5 Challenger Contributor Title
|
||||
p Speaking of recurring Challenges, we've decided to create a new Contributor title, "Challenger", to honor the Habiticans who have been working to improve the community by consistently creating many valuable Challenges. The Challenger title is awarded at the discretion of the staff and mods. Many thanks to our creative and dedicated Challengers!
|
||||
h5 6/25/2015 - JUNE SUBSCRIBER ITEM SET, SPLASHY SKIN SET, AND NEW SOUND EFFECTS
|
||||
tr
|
||||
td
|
||||
|
||||
@@ -1,16 +1,3 @@
|
||||
// <div class='achievement achievement-sword'></div>
|
||||
// <div class='achievement achievement-tree'></div>
|
||||
// <div class='achievement achievement-comment'></div>
|
||||
// <div class='achievement achievement-cave'></div>
|
||||
// <div class='achievement achievement-boot'></div>
|
||||
// <div class='achievement achievement-coffin'></div>
|
||||
// <div class='achievement achievement-alien'></div>
|
||||
// <div class='achievement achievement-ninja'></div>
|
||||
// <div class='achievement achievement-cactus'></div>
|
||||
// <div class='achievement achievement-bow'></div>
|
||||
// <div class='achievement achievement-shield'></div>
|
||||
// <div class='achievement achievement-karaoke'></div>
|
||||
|
||||
if mobile
|
||||
.item.item-divider=env.t('achievements')
|
||||
|
||||
@@ -192,6 +179,13 @@ div(ng-if='::profile.achievements.shinySeed')
|
||||
small
|
||||
=env.t('agriculturalFriendsText', {seeds: "{{::profile.achievements.shinySeed}}"})
|
||||
hr
|
||||
|
||||
div(ng-if='::profile.achievements.seafoam')
|
||||
.achievement.achievement-seafoam
|
||||
h5=env.t('aquaticFriends')
|
||||
small
|
||||
=env.t('aquaticFriendsText', {seafoam: "{{::profile.achievements.seafoam}}"})
|
||||
hr
|
||||
|
||||
div(ng-if='::profile.achievements.habitBirthdays')
|
||||
.achievement.achievement-habitBirthday
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
// Events
|
||||
ul.items.rewards(ng-if='main && list.type=="reward" && (user.items.special.snowball>0 || user.stats.buffs.snowball || user.items.special.spookDust>0 || user.stats.buffs.spookDust || user.items.special.shinySeed>0 || user.stats.buffs.shinySeed)')
|
||||
|
||||
+specialSpell('snowball')
|
||||
+specialSpell('spookDust')
|
||||
+specialSpell('shinySeed')
|
||||
+specialSpell('salt','snowball')
|
||||
+specialSpell('opaquePotion','spookDust')
|
||||
+specialSpell('petalFreePotion','shinySeed')
|
||||
- var seasonalSpells = {'snowball':'salt', 'spookDust':'opaquePotion', 'shinySeed':'petalFreePotion', 'seafoam':'sand'}
|
||||
ul.items.rewards
|
||||
each dispel,spell in seasonalSpells
|
||||
span(ng-if='main && list.type=="reward" && (user.items.special.#{spell}>0 || user.stats.buffs.#{spell})')
|
||||
+specialSpell(spell)
|
||||
+specialSpell(dispel,spell)
|
||||
|
||||
// Spells
|
||||
ul.items(ng-if='main && list.type=="reward" && user.stats.class && !user.preferences.disableClasses')
|
||||
|
||||