mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-15 21:57:22 +01:00
chore(news): Bailey
and set up A/B test for drop curve
This commit is contained in:
@@ -42,7 +42,7 @@
|
|||||||
}
|
}
|
||||||
.promo_take_this {
|
.promo_take_this {
|
||||||
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
|
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||||
background-position: -785px -259px;
|
background-position: -927px -389px;
|
||||||
width: 96px;
|
width: 96px;
|
||||||
height: 69px;
|
height: 69px;
|
||||||
}
|
}
|
||||||
@@ -58,3 +58,15 @@
|
|||||||
width: 258px;
|
width: 258px;
|
||||||
height: 258px;
|
height: 258px;
|
||||||
}
|
}
|
||||||
|
.scene_nakonana {
|
||||||
|
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||||
|
background-position: -785px -389px;
|
||||||
|
width: 141px;
|
||||||
|
height: 169px;
|
||||||
|
}
|
||||||
|
.scene_strength {
|
||||||
|
background-image: url('~@/assets/images/sprites/spritesmith-largeSprites-0.png');
|
||||||
|
background-position: -785px -259px;
|
||||||
|
width: 192px;
|
||||||
|
height: 129px;
|
||||||
|
}
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 79 KiB |
@@ -46,7 +46,8 @@ export default function randomDrop (user, options, req = {}, analytics) {
|
|||||||
|
|
||||||
let chance = min([Math.abs(task.value - 21.27), 37.5]) / 150 + 0.02;
|
let chance = min([Math.abs(task.value - 21.27), 37.5]) / 150 + 0.02;
|
||||||
chance *= task.priority // Task priority: +50% for Medium, +100% for Hard
|
chance *= task.priority // Task priority: +50% for Medium, +100% for Hard
|
||||||
* (1 + Math.max(0, 80 - (5 * user.stats.lvl)) / 100) // Experimental: more at low levels
|
// A/B test experiment: start users with +75% drops, diminishing by 5% per level gained
|
||||||
|
* '12345678'.indexOf(user._id.slice(0, 1)) !== -1 ? (1 + Math.max(0, 80 - (5 * user.stats.lvl)) / 100) : 1
|
||||||
* (1 + (task.streak / 100 || 0)) // Streak bonus: +1% per streak
|
* (1 + (task.streak / 100 || 0)) // Streak bonus: +1% per streak
|
||||||
* (1 + statsComputed(user).per / 100) // PERception: +1% per point
|
* (1 + statsComputed(user).per / 100) // PERception: +1% per point
|
||||||
* (1 + (user.contributor.level / 40 || 0)) // Contrib levels: +2.5% per level
|
* (1 + (user.contributor.level / 40 || 0)) // Contrib levels: +2.5% per level
|
||||||
|
|||||||
BIN
website/raw_sprites/spritesmith_large/scene_nakonana.png
Normal file
BIN
website/raw_sprites/spritesmith_large/scene_nakonana.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
BIN
website/raw_sprites/spritesmith_large/scene_strength.png
Normal file
BIN
website/raw_sprites/spritesmith_large/scene_strength.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
@@ -4,7 +4,7 @@ const api = {};
|
|||||||
|
|
||||||
// @TODO export this const, cannot export it from here because only routes are exported from
|
// @TODO export this const, cannot export it from here because only routes are exported from
|
||||||
// controllers
|
// controllers
|
||||||
const LAST_ANNOUNCEMENT_TITLE = 'SUMMER SPLASH HATCHING POTIONS AND SPLASHY SKINS';
|
const LAST_ANNOUNCEMENT_TITLE = 'BLOG POSTS: GUILD AND USE CASE SPOTLIGHTS';
|
||||||
const worldDmg = { // @TODO
|
const worldDmg = { // @TODO
|
||||||
bailey: false,
|
bailey: false,
|
||||||
};
|
};
|
||||||
@@ -31,40 +31,41 @@ api.getNews = {
|
|||||||
<div class="mr-3 ${baileyClass}"></div>
|
<div class="mr-3 ${baileyClass}"></div>
|
||||||
<div class="media-body">
|
<div class="media-body">
|
||||||
<h1 class="align-self-center">${res.t('newStuff')}</h1>
|
<h1 class="align-self-center">${res.t('newStuff')}</h1>
|
||||||
<h2>6/23/2020 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
|
<h2>6/25/2020 - ${LAST_ANNOUNCEMENT_TITLE}</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr/>
|
<hr/>
|
||||||
<div class="promo_sand_sculpture_potions center-block"></div>
|
<div class="scene_nakonana center-block"></div>
|
||||||
<h3>Summer Splash Magic Hatching Potions!</h3>
|
<h3>Guild Spotlight: Nakonana's Favorites</h3>
|
||||||
<p>
|
<p>
|
||||||
There's a new pet breed in town! Check out the brand-new Sand Sculpture Potions and the
|
For this year's Guild Spotlight series, we're highlighting some favorites from Habitica's
|
||||||
return of Aquatic and Watery Potions to heat up your Summer avatar look. Get them from
|
staff, moderators, and some high-level contributors!
|
||||||
<a href='/shops/market'>the Market</a> and use them to hatch any standard pet egg. (Magic
|
|
||||||
Hatching Potions do not work on Quest Pet eggs.) Magic Hatching Potion Pets aren't picky,
|
|
||||||
so they'll happily eat any kind of food that you feed them!
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
These potions will be available until Summer Splash ends on July 31. After they're gone,
|
This month we're sharing <a
|
||||||
it will be at least a year before these Hatching Potions return, so be sure to get them
|
href='https://habitica.wordpress.com/2020/06/25/guild-spotlights-our-favourites-5/'
|
||||||
now!
|
target='_blank'>picks from socialite and translator Nakonana</a>! If you want to curate
|
||||||
|
your Habitica experience and join active, positive Guilds, this is a great way to pick up
|
||||||
|
some new ideas for Guilds to join.
|
||||||
</p>
|
</p>
|
||||||
<div class="small mb-3">
|
<div class="small mb-3">by shanaqui</div>
|
||||||
by Shine Caramia, a_diamond, Persephone, Stefalupagus, Beffymaroo and SabreCat
|
<div class="scene_strength center-block"></div>
|
||||||
</div>
|
<h3>Use Case Spotlight: Adapting to Life Changes</h3>
|
||||||
<div class="promo_splashy_skins center-block"></div>
|
|
||||||
<h3>Splashy Skins!</h3>
|
|
||||||
<p>
|
<p>
|
||||||
The Seasonal Edition Splashy Skins are back! You can complete your summer avatar look
|
This month's <a href='https://habitica.wordpress.com/2020/06/25/use-case-spotlight-adapting-to-life-changes/'
|
||||||
with Clownfish, Deep Ocean, Tropical Water, Mergold, Mergreen, Merblue, Merruby, and
|
target='_blank'>Use Case Spotlight</a> is about Adapting to Life Changes! It features a
|
||||||
Shark Skins.
|
number of great suggestions submitted by Habiticans in the <a
|
||||||
|
href='/groups/guild/1d3a10bf-60aa-4806-a38b-82d1084a59e6'>Use Case Spotlights Guild</a>.
|
||||||
|
We hope it helps any of you who might be facing changes in your routine.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
This Seasonal Edition customization set will only be available to purchase until July
|
Plus, we're collecting user submissions for the next spotlight! How do you use Challenges
|
||||||
31st, after which they'll be gone until next year, so be sure to scoop them up now! You
|
to enhance your Habitica experience? We’ll be featuring player-submitted examples in Use
|
||||||
can find them in User > Edit Avatar!
|
Case Spotlights on the Habitica Blog next month, so post your suggestions in the Use Case
|
||||||
|
Spotlight Guild now. We look forward to learning more about how you use Habitica to
|
||||||
|
improve your life and get things done!
|
||||||
</p>
|
</p>
|
||||||
<div class="small mb-3">by Lemoness and UncommonCriminal</div>
|
<div class="small mb-3">by shanaqui</div>
|
||||||
</div>
|
</div>
|
||||||
`,
|
`,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -201,6 +201,7 @@ function resetHabitCounters (user, tasksByType, now, daysMissed) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function trackCronAnalytics (analytics, user, _progress, options) {
|
function trackCronAnalytics (analytics, user, _progress, options) {
|
||||||
|
user._ABtests['20200625_drops'] = '12345678'.indexOf(user._id.slice(0, 1)) !== -1 ? 'boosted' : 'control';
|
||||||
analytics.track('Cron', {
|
analytics.track('Cron', {
|
||||||
category: 'behavior',
|
category: 'behavior',
|
||||||
gaLabel: 'Cron Count',
|
gaLabel: 'Cron Count',
|
||||||
|
|||||||
Reference in New Issue
Block a user