mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-26 22:13:32 -04:00
Getting ready to add new levels.
This commit is contained in:
parent
549fb8aa37
commit
904d605e42
4 changed files with 116 additions and 4 deletions
app
lib
views
|
@ -231,12 +231,37 @@ module.exports = LevelOptions =
|
|||
'shield-rush':
|
||||
requiredGear: {torso: 'tarnished-bronze-breastplate', waist: 'leather-belt', 'programming-book': 'programmaticon-ii', eyes: 'crude-glasses', 'right-hand': 'long-sword', 'left-hand': 'bronze-shield', wrists: 'sundial-wristwatch'}
|
||||
restrictedGear: {'left-hand': 'wooden-shield'}
|
||||
|
||||
# Warrior branch
|
||||
'peasant-protection':
|
||||
requiredGear: {torso: 'tarnished-bronze-breastplate', waist: 'leather-belt', 'programming-book': 'programmaticon-ii', eyes: 'wooden-glasses', 'right-hand': 'long-sword', 'left-hand': 'bronze-shield', wrists: 'sundial-wristwatch'}
|
||||
restrictedGear: {eyes: 'crude-glasses'}
|
||||
'munchkin-swarm':
|
||||
requiredGear: {torso: 'tarnished-bronze-breastplate', waist: 'leather-belt', 'programming-book': 'programmaticon-ii', eyes: 'wooden-glasses', 'right-hand': 'long-sword', 'left-hand': 'bronze-shield', wrists: 'sundial-wristwatch'}
|
||||
restrictedGear: {}
|
||||
|
||||
# Ranger branch
|
||||
'munchkin-harvest':
|
||||
requiredGear: {torso: 'tarnished-bronze-breastplate', waist: 'leather-belt', 'programming-book': 'programmaticon-ii', eyes: 'wooden-glasses', 'right-hand': 'long-sword', 'left-hand': 'bronze-shield', wrists: 'sundial-wristwatch'}
|
||||
restrictedGear: {}
|
||||
'swift-dagger':
|
||||
requiredGear: {waist: 'leather-belt', 'programming-book': 'programmaticon-ii', eyes: 'wooden-glasses', 'right-hand': 'crude-crossbow', 'left-hand': 'crude-dagger', wrists: 'sundial-wristwatch'}
|
||||
restrictedGear: {eyes: 'crude-glasses'}
|
||||
'shrapnel':
|
||||
requiredGear: {waist: 'leather-belt', 'programming-book': 'programmaticon-ii', eyes: 'wooden-glasses', 'right-hand': 'crude-crossbow', 'left-hand': 'weak-charge', wrists: 'sundial-wristwatch'}
|
||||
restrictedGear: {eyes: 'crude-glasses', 'left-hand': 'swift-dagger'}
|
||||
|
||||
# Wizard branch
|
||||
'arcane-ally':
|
||||
requiredGear: {torso: 'tarnished-bronze-breastplate', waist: 'leather-belt', 'programming-book': 'programmaticon-ii', eyes: 'wooden-glasses', 'right-hand': 'long-sword', 'left-hand': 'bronze-shield', wrists: 'sundial-wristwatch'}
|
||||
restrictedGear: {eyes: 'crude-glasses'}
|
||||
'touch-of-death':
|
||||
requiredGear: {waist: 'leather-belt', 'programming-book': 'programmaticon-ii', eyes: 'wooden-glasses', 'right-hand': 'enchanted-stick', 'left-hand': 'unholy-tome-i', wrists: 'sundial-wristwatch'}
|
||||
restrictedGear: {}
|
||||
'bonemender':
|
||||
requiredGear: {waist: 'leather-belt', 'programming-book': 'programmaticon-ii', eyes: 'wooden-glasses', 'right-hand': 'enchanted-stick', 'left-hand': 'book-of-life-i', wrists: 'sundial-wristwatch'}
|
||||
restrictedGear: {'left-hand': 'unholy-tome-i'}
|
||||
|
||||
'coinucopia':
|
||||
requiredGear: {'programming-book': 'programmaticon-i', feet: 'leather-boots', 'programming-book': 'programmaticon-ii', flag: 'basic-flags'}
|
||||
restrictedGear: {}
|
||||
|
@ -255,3 +280,6 @@ module.exports = LevelOptions =
|
|||
'multiplayer-treasure-grove':
|
||||
requiredGear: {'programming-book': 'programmaticon-i', feet: 'leather-boots', 'programming-book': 'programmaticon-ii', flag: 'basic-flags', eyes: 'wooden-glasses', torso: 'tarnished-bronze-breastplate'}
|
||||
restrictedGear: {}
|
||||
'siege-of-stonehold':
|
||||
requiredGear: {}
|
||||
restrictedGear: {}
|
||||
|
|
|
@ -289,5 +289,4 @@ module.exports.ItemThangTypeNode = ItemThangTypeNode = class ItemThangTypeNode e
|
|||
|
||||
processThangType: (thangType) ->
|
||||
return unless itemComponent = _.find thangType.get('components'), {original: LevelComponent.ItemID}
|
||||
return unless itemComponent.config?.slots?.length
|
||||
@constructor.thangTypes.push name: thangType.get('name'), original: thangType.get('original'), slots: itemComponent.config.slots
|
||||
@constructor.thangTypes.push name: thangType.get('name'), original: thangType.get('original'), slots: itemComponent.config?.slots ? ['right-hand']
|
||||
|
|
|
@ -84,7 +84,7 @@ module.exports = class InventoryModal extends ModalView
|
|||
|
||||
# sort into one of the four groups
|
||||
locked = not (item.get('original') in me.items())
|
||||
locked = false if me.get('slug') is 'nick'
|
||||
#locked = false if me.get('slug') is 'nick'
|
||||
|
||||
if not item.getFrontFacingStats().props.length and not _.size(item.getFrontFacingStats().stats) and not locked # Temp: while there are placeholder items
|
||||
null # Don't put into a collection
|
||||
|
|
|
@ -110,6 +110,7 @@ module.exports = class WorldMapView extends RootView
|
|||
window.levelUnlocksNotWorking = true if level.locked and level.id is @nextLevel # Temporary
|
||||
level.locked = false if window.levelUnlocksNotWorking # Temporary; also possible in HeroVictoryModal
|
||||
level.locked = false if @levelStatusMap[level.id] in ['started', 'complete']
|
||||
level.locked = false if me.get('slug') is 'nick'
|
||||
level.disabled = false if @levelStatusMap[level.id] in ['started', 'complete']
|
||||
level.color = 'rgb(255, 80, 60)'
|
||||
if level.practice
|
||||
|
@ -689,7 +690,9 @@ forest = [
|
|||
continue: 'peasant-protection'
|
||||
x: 58.54
|
||||
y: 66.73
|
||||
}
|
||||
}
|
||||
|
||||
# Warrior branch
|
||||
{
|
||||
name: 'Peasant Protection'
|
||||
type: 'hero'
|
||||
|
@ -710,6 +713,77 @@ forest = [
|
|||
x: 71.19
|
||||
y: 63.61
|
||||
}
|
||||
|
||||
# Ranger branch
|
||||
{
|
||||
name: 'Munchkin Harvest'
|
||||
type: 'hero'
|
||||
id: 'munchkin-harvest'
|
||||
description: 'Join forces with a new hero: Amara Arrowhead.'
|
||||
nextLevels:
|
||||
continue: 'swift-dagger'
|
||||
disabled: not me.isAdmin()
|
||||
x: 64.37
|
||||
y: 69.18
|
||||
}
|
||||
{
|
||||
name: 'Swift Dagger'
|
||||
type: 'hero'
|
||||
id: 'swift-dagger'
|
||||
description: 'Deal damage from a distance with a new hero.'
|
||||
nextLevels:
|
||||
continue: 'shrapnel'
|
||||
disabled: not me.isAdmin()
|
||||
x: 66
|
||||
y: 75.61
|
||||
}
|
||||
{
|
||||
name: 'Shrapnel'
|
||||
type: 'hero'
|
||||
id: 'shrapnel'
|
||||
description: 'Explore the explosive arts.'
|
||||
nextLevels:
|
||||
continue: 'coinucopia'
|
||||
disabled: not me.isAdmin()
|
||||
x: 67
|
||||
y: 81
|
||||
}
|
||||
|
||||
# Wizard branch
|
||||
{
|
||||
name: 'Arcane Ally'
|
||||
type: 'hero'
|
||||
id: 'arcane-ally'
|
||||
description: 'Stand your ground against large ogres with a new hero: Ms. Hushbaum.'
|
||||
nextLevels:
|
||||
continue: 'touch-of-death'
|
||||
disabled: not me.isAdmin()
|
||||
x: 64.37
|
||||
y: 55.18
|
||||
}
|
||||
{
|
||||
name: 'Touch of Death'
|
||||
type: 'hero'
|
||||
id: 'touch-of-death'
|
||||
description: 'Learn your first spell to siphon life from your foes.'
|
||||
nextLevels:
|
||||
continue: 'bonemender'
|
||||
disabled: not me.isAdmin()
|
||||
x: 65
|
||||
y: 48
|
||||
}
|
||||
{
|
||||
name: 'Bonemender'
|
||||
type: 'hero'
|
||||
id: 'bonemender'
|
||||
description: 'Cast regeneration on allied soldiers to withstand a siege.'
|
||||
nextLevels:
|
||||
continue: 'coinucopia'
|
||||
disabled: not me.isAdmin()
|
||||
x: 66
|
||||
y: 40
|
||||
}
|
||||
|
||||
{
|
||||
name: 'Coinucopia'
|
||||
type: 'hero'
|
||||
|
@ -760,6 +834,17 @@ forest = [
|
|||
x: 77.54
|
||||
y: 25.94
|
||||
}
|
||||
{
|
||||
name: 'Siege of Stonehold'
|
||||
type: 'hero'
|
||||
id: 'siege-of-stonehold'
|
||||
description: 'Unlock the desert world, if you are strong enough to win this epic battle!'
|
||||
#nextLevels:
|
||||
# continue: ''
|
||||
disabled: not me.isAdmin()
|
||||
x: 77.54
|
||||
y: 25.94
|
||||
}
|
||||
{
|
||||
name: 'Multiplayer Treasure Grove'
|
||||
type: 'hero-ladder'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue