mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-31 07:12:49 -04:00
Preserving opponent flags.
This commit is contained in:
parent
66c728210b
commit
9f216e3361
3 changed files with 12 additions and 2 deletions
app
|
@ -91,6 +91,9 @@ module.exports = class LevelLoader extends CocoClass
|
|||
loadDependenciesForSession: (session) ->
|
||||
if session is @session
|
||||
Backbone.Mediator.publish 'level:session-loaded', level: @level, session: @session
|
||||
@consolidateFlagHistory() if @opponentSession?.loaded
|
||||
else
|
||||
@consolidateFlagHistory() if @session.loaded
|
||||
return unless @level.get('type', true) in ['hero', 'hero-ladder', 'hero-coop']
|
||||
heroConfig = session.get('heroConfig')
|
||||
heroConfig ?= me.get('heroConfig') if session is @session
|
||||
|
@ -113,6 +116,13 @@ module.exports = class LevelLoader extends CocoClass
|
|||
@loadDefaultComponentsForThangType itemThangType
|
||||
@loadThangsRequiredByThangType itemThangType
|
||||
|
||||
consolidateFlagHistory: ->
|
||||
state = @session.get('state') ? {}
|
||||
myFlagHistory = _.filter state.flagHistory ? [], team: @session.get('team')
|
||||
opponentFlagHistory = _.filter @opponentSession.get('state')?.flagHistory ? [], team: @opponentSession.get('team')
|
||||
state.flagHistory = myFlagHistory.concat opponentFlagHistory
|
||||
@session.set 'state', state
|
||||
|
||||
# Grabbing the rest of the required data for the level
|
||||
|
||||
populateLevel: ->
|
||||
|
|
|
@ -29,7 +29,7 @@ module.exports = class VictoryModal extends ModalView
|
|||
|
||||
constructor: (options) ->
|
||||
application.router.initializeSocialMediaServices()
|
||||
victory = options.level.get('victory')
|
||||
victory = options.level.get('victory', true)
|
||||
body = utils.i18n(victory, 'body') or 'Sorry, this level has no victory message yet.'
|
||||
@body = marked(body)
|
||||
@level = options.level
|
||||
|
|
|
@ -163,7 +163,7 @@ module.exports = class TomeView extends CocoView
|
|||
sessionState = @options.session.get('state') ? {}
|
||||
if realTime
|
||||
sessionState.submissionCount = (sessionState.submissionCount ? 0) + 1
|
||||
sessionState.flagHistory = []
|
||||
sessionState.flagHistory = _.filter sessionState.flagHistory ? [], (event) => event.team isnt @options.session.get('team')
|
||||
@options.session.set 'state', sessionState
|
||||
Backbone.Mediator.publish 'tome:cast-spells', spells: @spells, preload: preload, realTime: realTime, submissionCount: sessionState.submissionCount ? 0, flagHistory: sessionState.flagHistory ? []
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue