mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-28 01:55:38 -05:00
Hid Crawlways of Kithgard. A/B testing Haunted Kithmaze vs. The First Kithmaze. Renamed New Sight to Dread Door and awarded its glasses later.
This commit is contained in:
parent
a2554570b0
commit
6efcbc5ead
7 changed files with 74 additions and 43 deletions
|
@ -99,7 +99,7 @@ module.exports = class World
|
|||
continueLaterFn = =>
|
||||
@loadFrames(loadedCallback, errorCallback, loadProgressCallback, preloadedCallback, skipDeferredLoading, loadUntilFrame) unless @destroyed
|
||||
if @realTime and not @countdownFinished
|
||||
if @levelID in ['the-first-kithmaze', 'the-second-kithmaze', 'the-final-kithmaze', 'the-gauntlet', 'winding-trail', 'thornbush-farm']
|
||||
if @levelID in ['the-first-kithmaze', 'haunted-kithmaze', 'the-second-kithmaze', 'the-final-kithmaze', 'the-gauntlet', 'winding-trail', 'thornbush-farm']
|
||||
@realTimeSpeedFactor = 5
|
||||
else if @levelID in ['forgotten-gemsmith', 'descending-further', 'tactical-strike', 'kithgard-gates']
|
||||
@realTimeSpeedFactor = 3
|
||||
|
|
|
@ -88,7 +88,7 @@ module.exports = class User extends CocoModel
|
|||
when 2 then 'choice-explicit'
|
||||
when 3 then 'choice-implicit'
|
||||
@branchingGroup = 'choice-explicit' if me.isAdmin()
|
||||
application.tracker.identify branchingGroup: @branchingGroup
|
||||
application.tracker.identify branchingGroup: @branchingGroup unless me.isAdmin()
|
||||
@branchingGroup
|
||||
|
||||
getHighlightArrowSoundGroup: ->
|
||||
|
@ -98,5 +98,15 @@ module.exports = class User extends CocoModel
|
|||
when 0, 1, 2, 3 then 'sound-off'
|
||||
when 4, 5, 6, 7 then 'sound-on'
|
||||
@highlightArrowGroup = 'sound-off' if me.isAdmin()
|
||||
application.tracker.identify highlightArrowGroup: @highlightArrowGroup
|
||||
application.tracker.identify highlightArrowGroup: @highlightArrowGroup unless me.isAdmin()
|
||||
@highlightArrowGroup
|
||||
|
||||
getKithmazeGroup: ->
|
||||
return @kithmazeGroup if @kithmazeGroup
|
||||
group = me.get('testGroupNumber') % 16
|
||||
@kithmazeGroup = switch group
|
||||
when 0, 1, 2, 3, 4, 5, 6, 7 then 'the-first-kithmaze'
|
||||
when 8, 9, 10, 11, 12, 13, 14, 15 then 'haunted-kithmaze'
|
||||
@kithmazeGroup = 'haunted-kithmaze' if me.isAdmin()
|
||||
application.tracker.identify kithmazeGroup: @kithmazeGroup unless me.isAdmin()
|
||||
@kithmazeGroup
|
||||
|
|
|
@ -340,23 +340,25 @@ module.exports = class InventoryView extends CocoView
|
|||
'simple-sword': '53e218d853457600003e3ebe'
|
||||
'leather-tunic': '53e22eac53457600003e3efc'
|
||||
'leather-boots': '53e2384453457600003e3f07'
|
||||
'leather-belt': '5437002a7beba4a82024a97d'
|
||||
'programmaticon-i': '53e4108204c00d4607a89f78'
|
||||
'crude-glasses': '53e238df53457600003e3f0b'
|
||||
'builders-hammer': '53f4e6e3d822c23505b74f42'
|
||||
gearByLevel =
|
||||
'dungeons-of-kithgard': {feet: 'simple-boots'}
|
||||
'gems-in-the-deep': {feet: 'simple-boots'}
|
||||
'forgetful-gemsmith': {feet: 'simple-boots'}
|
||||
'shadow-guard': {feet: 'simple-boots'}
|
||||
'kounter-kithwise': {feet: 'simple-boots'}
|
||||
'crawlways-of-kithgard': {feet: 'simple-boots'}
|
||||
'true-names': {feet: 'simple-boots', 'right-hand': 'simple-sword'}
|
||||
'forgetful-gemsmith': {feet: 'simple-boots'}
|
||||
'true-names': {feet: 'simple-boots', 'right-hand': 'simple-sword', waist: 'leather-belt'}
|
||||
'favorable-odds': {feet: 'simple-boots', 'right-hand': 'simple-sword'}
|
||||
'the-raised-sword': {feet: 'simple-boots', 'right-hand': 'simple-sword', torso: 'leather-tunic'}
|
||||
'the-first-kithmaze': {feet: 'simple-boots', 'programming-book': 'programmaticon-i'}
|
||||
'haunted-kithmaze': {feet: 'simple-boots', 'programming-book': 'programmaticon-i'}
|
||||
'descending-further': {feet: 'simple-boots', 'programming-book': 'programmaticon-i'}
|
||||
'the-second-kithmaze': {feet: 'simple-boots', 'programming-book': 'programmaticon-i'}
|
||||
'new-sight': {'right-hand': 'simple-sword', 'programming-book': 'programmaticon-i'}
|
||||
'dread-door': {'right-hand': 'simple-sword', 'programming-book': 'programmaticon-i'}
|
||||
'known-enemy': {'right-hand': 'simple-sword', 'programming-book': 'programmaticon-i'}
|
||||
'master-of-names': {feet: 'simple-boots', 'right-hand': 'simple-sword', 'programming-book': 'programmaticon-i', eyes: 'crude-glasses'}
|
||||
'lowly-kithmen': {feet: 'simple-boots', 'right-hand': 'simple-sword', 'programming-book': 'programmaticon-i', eyes: 'crude-glasses'}
|
||||
|
|
|
@ -630,22 +630,8 @@ dungeon = [
|
|||
x: 29
|
||||
y: 12
|
||||
nextLevels:
|
||||
more_practice: 'forgetful-gemsmith'
|
||||
continue: 'shadow-guard'
|
||||
skip_ahead: 'true-names'
|
||||
}
|
||||
{
|
||||
name: 'Forgetful Gemsmith'
|
||||
type: 'hero'
|
||||
difficulty: 1
|
||||
id: 'forgetful-gemsmith'
|
||||
original: '544a98f62d002f0000fe331a'
|
||||
description: 'Grab even more gems as you practice moving.'
|
||||
x: 38
|
||||
y: 12
|
||||
nextLevels:
|
||||
continue: 'shadow-guard'
|
||||
practice: true
|
||||
skip_ahead: 'forgetful-gemsmith'
|
||||
}
|
||||
{
|
||||
name: 'Shadow Guard'
|
||||
|
@ -654,11 +640,11 @@ dungeon = [
|
|||
id: 'shadow-guard'
|
||||
original: '54174347844506ae0195a0b8'
|
||||
description: 'Evade the Kithgard minion.'
|
||||
x: 50
|
||||
y: 11
|
||||
x: 41
|
||||
y: 13
|
||||
nextLevels:
|
||||
more_practice: 'kounter-kithwise'
|
||||
continue: 'true-names'
|
||||
continue: 'forgetful-gemsmith'
|
||||
}
|
||||
{
|
||||
name: 'Kounter Kithwise'
|
||||
|
@ -667,25 +653,37 @@ dungeon = [
|
|||
id: 'kounter-kithwise'
|
||||
original: '54527a6257e83800009730c7'
|
||||
description: 'Practice your evasion skills with more guards.'
|
||||
x: 58
|
||||
y: 10
|
||||
x: 50
|
||||
y: 14
|
||||
nextLevels:
|
||||
more_practice: 'crawlways-of-kithgard'
|
||||
#more_practice: 'crawlways-of-kithgard'
|
||||
continue: 'true-names'
|
||||
practice: true
|
||||
}
|
||||
#{
|
||||
# name: 'Crawlways of Kithgard'
|
||||
# type: 'hero'
|
||||
# difficulty: 1
|
||||
# id: 'crawlways-of-kithgard'
|
||||
# original: '545287ef57e83800009730d5'
|
||||
# description: 'Dart in and grab the gem–at the right moment.'
|
||||
# x: 57
|
||||
# y: 12
|
||||
# nextLevels:
|
||||
# continue: 'true-names'
|
||||
# practice: true
|
||||
#}
|
||||
{
|
||||
name: 'Crawlways of Kithgard'
|
||||
name: 'Forgetful Gemsmith'
|
||||
type: 'hero'
|
||||
difficulty: 1
|
||||
id: 'crawlways-of-kithgard'
|
||||
original: '545287ef57e83800009730d5'
|
||||
description: 'Dart in and grab the gem–at the right moment.'
|
||||
x: 67
|
||||
y: 10
|
||||
id: 'forgetful-gemsmith'
|
||||
original: '544a98f62d002f0000fe331a'
|
||||
description: 'Grab even more gems as you practice moving.'
|
||||
x: 63
|
||||
y: 13
|
||||
nextLevels:
|
||||
continue: 'true-names'
|
||||
practice: true
|
||||
continue: 'shadow-guard'
|
||||
}
|
||||
{
|
||||
name: 'True Names'
|
||||
|
@ -695,7 +693,7 @@ dungeon = [
|
|||
original: '541875da4c16460000ab990f'
|
||||
description: 'Learn an enemy\'s true name to defeat it.'
|
||||
x: 74
|
||||
y: 12
|
||||
y: 14
|
||||
nextLevels:
|
||||
more_practice: 'favorable-odds'
|
||||
continue: 'the-raised-sword'
|
||||
|
@ -737,7 +735,21 @@ dungeon = [
|
|||
nextLevels:
|
||||
more_practice: 'descending-further'
|
||||
continue: 'the-second-kithmaze'
|
||||
skip_ahead: 'new-sight'
|
||||
skip_ahead: 'dread-door'
|
||||
}
|
||||
{
|
||||
name: 'Haunted Kithmaze'
|
||||
type: 'hero'
|
||||
difficulty: 1
|
||||
id: 'haunted-kithmaze'
|
||||
original: '545a5914d820eb0000f6dc0a'
|
||||
description: 'The builders of Kithgard constructed many mazes to confuse travelers.'
|
||||
x: 78
|
||||
y: 29
|
||||
nextLevels:
|
||||
more_practice: 'descending-further'
|
||||
continue: 'the-second-kithmaze'
|
||||
skip_ahead: 'dread-door'
|
||||
}
|
||||
{
|
||||
name: 'Descending Further'
|
||||
|
@ -762,15 +774,15 @@ dungeon = [
|
|||
x: 59
|
||||
y: 25
|
||||
nextLevels:
|
||||
continue: 'new-sight'
|
||||
continue: 'dread-door'
|
||||
}
|
||||
{
|
||||
name: 'New Sight'
|
||||
name: 'Dread Door'
|
||||
type: 'hero'
|
||||
difficulty: 1
|
||||
id: 'new-sight'
|
||||
id: 'dread-door'
|
||||
original: '5418d40f4c16460000ab9ac2'
|
||||
description: 'A true name can only be seen with the correct lenses.'
|
||||
description: 'Behind a dread door lies a chest full of riches.'
|
||||
x: 60
|
||||
y: 34
|
||||
nextLevels:
|
||||
|
@ -1006,3 +1018,9 @@ WorldMapView.campaigns = campaigns = [
|
|||
{id: 'dungeon', name: 'Dungeon Campaign', levels: dungeon }
|
||||
{id: 'forest', name: 'Forest Campaign', levels: forest }
|
||||
]
|
||||
|
||||
# A/B testing first kithmaze level: The First Kithmaze vs. Haunted Kithmaze
|
||||
if me.getKithmazeGroup() is 'the-first-kithmaze'
|
||||
_.remove dungeon, id: 'haunted-kithmaze'
|
||||
else
|
||||
_.remove dungeon, id: 'the-first-kithmaze'
|
||||
|
|
|
@ -30,7 +30,7 @@ module.exports = class LevelHUDView extends CocoView
|
|||
afterRender: ->
|
||||
super()
|
||||
@$el.addClass 'no-selection'
|
||||
if @options.level.get('slug') in ['dungeons-of-kithgard', 'gems-in-the-deep', 'forgetful-gemsmith', 'shadow-guard', 'kounter-kithwise', 'crawlways-of-kithgard', 'true-names', 'favorable-odds', 'the-raised-sword', 'the-first-kithmaze', 'descending-further', 'the-second-kithmaze', 'new-sight', 'known-enemy', 'master-of-names', 'lowly-kithmen', 'closing-the-distance', 'tactical-strike', 'the-final-kithmaze', 'the-gauntlet']
|
||||
if @options.level.get('slug') in ['dungeons-of-kithgard', 'gems-in-the-deep', 'forgetful-gemsmith', 'shadow-guard', 'kounter-kithwise', 'crawlways-of-kithgard', 'true-names', 'favorable-odds', 'the-raised-sword', 'the-first-kithmaze', 'haunted-kithmaze', 'descending-further', 'the-second-kithmaze', 'dread-door', 'known-enemy', 'master-of-names', 'lowly-kithmen', 'closing-the-distance', 'tactical-strike', 'the-final-kithmaze', 'the-gauntlet']
|
||||
@hidesHUD = true
|
||||
@$el.addClass 'hide-hud-properties'
|
||||
|
||||
|
|
|
@ -108,7 +108,7 @@ module.exports = class CastButtonView extends CocoView
|
|||
else if castable
|
||||
s = $.i18n.t('play_level.tome_cast_button_run')
|
||||
s = $.i18n.t('play_level.tome_cast_button_casting') if s is 'Run' and me.get('preferredLanguage').split('-')[0] isnt 'en' # Temporary, if tome_cast_button_running isn't translated.
|
||||
unless @options.levelID in ['dungeons-of-kithgard', 'gems-in-the-deep', 'shadow-guard', 'true-names', 'the-raised-sword', 'the-first-kithmaze'] # Hide for first few.
|
||||
unless @options.levelID in ['dungeons-of-kithgard', 'gems-in-the-deep', 'shadow-guard', 'forgetful-gemsmith', 'kounter-kithwise', 'true-names', 'the-raised-sword', 'favorable-odds', 'the-first-kithmaze', 'haunted-kithmaze'] # Hide for first few.
|
||||
s += ' ' + @castShortcut
|
||||
else
|
||||
s = $.i18n.t('play_level.tome_cast_button_ran')
|
||||
|
|
|
@ -871,4 +871,5 @@ requiredCodePerLevel =
|
|||
'dungeons-of-kithgard': ['moveRight']
|
||||
'true-names': ['Brak']
|
||||
'the-first-kithmaze': ['loop']
|
||||
'haunted-kithmaze': ['loop']
|
||||
'lowly-kithmen': ['findNearestEnemy']
|
||||
|
|
Loading…
Reference in a new issue