mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-25 16:47:58 -05:00
Merge branch 'master' into production
This commit is contained in:
commit
6a9d7ca7ec
4 changed files with 13 additions and 20 deletions
|
@ -315,14 +315,14 @@ module.exports = LevelOptions =
|
||||||
requiredGear: {}
|
requiredGear: {}
|
||||||
restrictedGear: {}
|
restrictedGear: {}
|
||||||
'sarven-gaps':
|
'sarven-gaps':
|
||||||
requiredGear: {}
|
requiredGear: {'right-hand': 'crude-builders-hammer'}
|
||||||
restrictedGear: {}
|
restrictedGear: {}
|
||||||
'thunderhooves':
|
'thunderhooves':
|
||||||
requiredGear: {}
|
requiredGear: {'right-hand': 'crude-builders-hammer'}
|
||||||
restrictedGear: {}
|
restrictedGear: {}
|
||||||
'medical-attention':
|
'medical-attention':
|
||||||
#requiredGear: {neck: 'polished-sense-stone'} # We don't have a way to require players to buy it yet.
|
requiredGear: {'right-hand': 'long-sword'}, #neck: 'polished-sense-stone'} # We don't have a way to require players to buy it yet.
|
||||||
restrictedGear: {}
|
restrictedGear: {'right-hand': 'crude-builders-hammer'}
|
||||||
'minesweeper':
|
'minesweeper':
|
||||||
requiredGear: {}
|
requiredGear: {}
|
||||||
restrictedGear: {}
|
restrictedGear: {}
|
||||||
|
|
|
@ -278,7 +278,7 @@ module.exports = class GoalManager extends CocoClass
|
||||||
# saveThangs: by default we would want to save all the Thangs, which means that we would want none of them to be 'done'
|
# saveThangs: by default we would want to save all the Thangs, which means that we would want none of them to be 'done'
|
||||||
numNeeded = _.size(stateThangs) - Math.max((goal.howMany ? 1), _.size stateThangs) + 1
|
numNeeded = _.size(stateThangs) - Math.max((goal.howMany ? 1), _.size stateThangs) + 1
|
||||||
numDone = _.filter(stateThangs).length
|
numDone = _.filter(stateThangs).length
|
||||||
#console.log 'needed', numNeeded, 'done', numDone, 'of total', _.size(stateThangs), 'with how many', goal.howMany, 'and stateThangs', stateThangs, 'for', goalID, thangID, 'on frame', frameNumber
|
#console.log 'needed', numNeeded, 'done', numDone, 'of total', _.size(stateThangs), 'with how many', goal.howMany, 'and stateThangs', stateThangs, 'for', goalID, thangID, 'on frame', frameNumber, 'all Thangs', _.keys(stateThangs), _.values(stateThangs)
|
||||||
return unless numDone >= numNeeded
|
return unless numDone >= numNeeded
|
||||||
return if state.status and not success # already failed it; don't wipe keyframe
|
return if state.status and not success # already failed it; don't wipe keyframe
|
||||||
state.status = if success then 'success' else 'failure'
|
state.status = if success then 'success' else 'failure'
|
||||||
|
|
|
@ -629,6 +629,7 @@ dungeon = [
|
||||||
description: 'Stay alive longer than your opponent amidst hordes of ogres!'
|
description: 'Stay alive longer than your opponent amidst hordes of ogres!'
|
||||||
x: 17.54
|
x: 17.54
|
||||||
y: 78.39
|
y: 78.39
|
||||||
|
adventurer: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -665,8 +666,7 @@ forest = [
|
||||||
continue: 'thornbush-farm'
|
continue: 'thornbush-farm'
|
||||||
x: 34
|
x: 34
|
||||||
y: 25
|
y: 25
|
||||||
adventurer: true
|
}
|
||||||
}
|
|
||||||
{
|
{
|
||||||
name: 'Endangered Burl'
|
name: 'Endangered Burl'
|
||||||
type: 'hero'
|
type: 'hero'
|
||||||
|
@ -929,7 +929,6 @@ forest = [
|
||||||
continue: 'the-dunes'
|
continue: 'the-dunes'
|
||||||
x: 85.5
|
x: 85.5
|
||||||
y: 83.5
|
y: 83.5
|
||||||
adventurer: true
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name: 'Multiplayer Treasure Grove'
|
name: 'Multiplayer Treasure Grove'
|
||||||
|
@ -963,7 +962,6 @@ desert = [
|
||||||
continue: 'the-mighty-sand-yak'
|
continue: 'the-mighty-sand-yak'
|
||||||
x: 8.47
|
x: 8.47
|
||||||
y: 21.93
|
y: 21.93
|
||||||
adventurer: true
|
|
||||||
requiresSubscription: true
|
requiresSubscription: true
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -976,7 +974,6 @@ desert = [
|
||||||
continue: 'oasis'
|
continue: 'oasis'
|
||||||
x: 16.56
|
x: 16.56
|
||||||
y: 27.77
|
y: 27.77
|
||||||
adventurer: true
|
|
||||||
requiresSubscription: false
|
requiresSubscription: false
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -989,7 +986,6 @@ desert = [
|
||||||
continue: 'sarven-road'
|
continue: 'sarven-road'
|
||||||
x: 23.35
|
x: 23.35
|
||||||
y: 31.60
|
y: 31.60
|
||||||
adventurer: true
|
|
||||||
requiresSubscription: false
|
requiresSubscription: false
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
@ -997,21 +993,20 @@ desert = [
|
||||||
type: 'hero'
|
type: 'hero'
|
||||||
id: 'sarven-road'
|
id: 'sarven-road'
|
||||||
original: '548c82360ffdc235e80ef04b'
|
original: '548c82360ffdc235e80ef04b'
|
||||||
description: 'Coming Soon'
|
description: 'Watch out for ogre scouts on the road as you search for water.'
|
||||||
nextLevels:
|
nextLevels:
|
||||||
continue: 'sarven-gaps'
|
continue: 'sarven-gaps'
|
||||||
x: 28.36
|
x: 28.36
|
||||||
y: 24.59
|
y: 24.59
|
||||||
adventurer: true
|
adventurer: true
|
||||||
requiresSubscription: false
|
requiresSubscription: false
|
||||||
disabled: not me.isAdmin()
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name: 'Sarven Gaps'
|
name: 'Sarven Gaps'
|
||||||
type: 'hero'
|
type: 'hero'
|
||||||
id: 'sarven-gaps'
|
id: 'sarven-gaps'
|
||||||
original: '548c8f4a0ffdc235e80ef0a8'
|
original: '548c8f4a0ffdc235e80ef0a8'
|
||||||
description: 'Coming Soon'
|
description: 'Keep the oasis safe by building fences to hold back the enemy.'
|
||||||
nextLevels:
|
nextLevels:
|
||||||
continue: 'thunderhooves'
|
continue: 'thunderhooves'
|
||||||
x: 21.13
|
x: 21.13
|
||||||
|
@ -1024,35 +1019,33 @@ desert = [
|
||||||
type: 'hero'
|
type: 'hero'
|
||||||
id: 'thunderhooves'
|
id: 'thunderhooves'
|
||||||
original: '548c90020ffdc235e80ef0ad'
|
original: '548c90020ffdc235e80ef0ad'
|
||||||
description: 'Coming Soon'
|
description: 'Fence off the stampeding sand yaks to reach the next watering hole.'
|
||||||
nextLevels:
|
nextLevels:
|
||||||
continue: 'medical-attention'
|
continue: 'medical-attention'
|
||||||
x: 35.08
|
x: 35.08
|
||||||
y: 20.48
|
y: 20.48
|
||||||
adventurer: true
|
adventurer: true
|
||||||
requiresSubscription: false
|
requiresSubscription: false
|
||||||
disabled: not me.isAdmin()
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name: 'Medical Attention'
|
name: 'Medical Attention'
|
||||||
type: 'hero'
|
type: 'hero'
|
||||||
id: 'medical-attention'
|
id: 'medical-attention'
|
||||||
original: '548ce3300ffdc235e80ef0b2'
|
original: '548ce3300ffdc235e80ef0b2'
|
||||||
description: 'Coming Soon'
|
description: 'Get help from a helpful wizard while you fend off an ogre attack.'
|
||||||
nextLevels:
|
nextLevels:
|
||||||
continue: 'minesweeper'
|
continue: 'minesweeper'
|
||||||
x: 42.84
|
x: 42.84
|
||||||
y: 21.82
|
y: 21.82
|
||||||
adventurer: true
|
adventurer: true
|
||||||
requiresSubscription: false
|
requiresSubscription: false
|
||||||
disabled: not me.isAdmin()
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name: 'Minesweeper'
|
name: 'Minesweeper'
|
||||||
type: 'hero'
|
type: 'hero'
|
||||||
id: 'minesweeper'
|
id: 'minesweeper'
|
||||||
original: '5490cb7c623b972aa26b25a3'
|
original: '5490cb7c623b972aa26b25a3'
|
||||||
description: 'Coming Soon'
|
description: 'Lead a band of hapless peasants through a treacherous canyon while you heroically trigger the mines.'
|
||||||
nextLevels:
|
nextLevels:
|
||||||
continue: 'sarven-sentry'
|
continue: 'sarven-sentry'
|
||||||
x: 47.64
|
x: 47.64
|
||||||
|
|
|
@ -382,7 +382,7 @@ module.exports = class InventoryModal extends ModalView
|
||||||
for slot, item of requiredGear
|
for slot, item of requiredGear
|
||||||
if (slot in ['right-hand', 'left-hand', 'head', 'torso']) and not (heroClass is 'Warrior' or
|
if (slot in ['right-hand', 'left-hand', 'head', 'torso']) and not (heroClass is 'Warrior' or
|
||||||
(heroClass is 'Ranger' and @options.levelID in ['swift-dagger', 'shrapnel']) or
|
(heroClass is 'Ranger' and @options.levelID in ['swift-dagger', 'shrapnel']) or
|
||||||
(heroClass is 'Wizard' and @options.levelID in ['touch-of-death', 'bonemender']))
|
(heroClass is 'Wizard' and @options.levelID in ['touch-of-death', 'bonemender'])) and item isnt 'crude-builders-hammer'
|
||||||
# After they switch to a ranger or wizard, we stop being so finicky about class-specific gear.
|
# After they switch to a ranger or wizard, we stop being so finicky about class-specific gear.
|
||||||
continue
|
continue
|
||||||
continue if item is 'tarnished-bronze-breastplate' and inWorldMap and @options.levelID is 'the-raised-sword' # Don't tell them they need it until they need it in the level
|
continue if item is 'tarnished-bronze-breastplate' and inWorldMap and @options.levelID is 'the-raised-sword' # Don't tell them they need it until they need it in the level
|
||||||
|
|
Loading…
Reference in a new issue