def doToonVictory(localToonActive, toons, rewardDicts, deathList, rpanel):
    tracks = []
    if localToonActive == 1:
        tracks.append(Func(rpanel.show))
        tracks.append(Func(NametagGlobals.setOnscreenChatForced, 1))

    camTracks = []
    endTracks = []
    danceSound = globalBattleSoundCache.getSound('ENC_Win.mp3')
    for t in toons:
        rdict = __findToonReward(rewardDicts, t)
        expTrack = rpanel.getExpTrack(t, rdict['origExp'], rdict['earnedExp'],
                                      deathList, rdict['items'],
                                      rdict['missedItems'], toons)
        if expTrack:
            tracks.append(expTrack)
            camDuration = expTrack.getDuration()
            camExpTrack = MovieCamera.chooseRewardShot(t, camDuration)
            camTracks.append(MovieCamera.chooseRewardShot(t, camDuration))

    if localToonActive == 1:
        tracks.append(Func(rpanel.hide))
        tracks.append(Func(NametagGlobals.setOnscreenChatForced, 0))

    tracks = tracks + endTracks
    seq = Sequence(tracks)
    seqdur = seq.getDuration()
    print 'dance duration: ', seqdur
    soundTrack = SoundInterval(danceSound, duration=seqdur, loop=1)
    mtrack = Parallel(Sequence(tracks), soundTrack)
    camTrack = Track(camTracks)
    return (mtrack, camTrack)
def doToonVictory(localToonActive, toons, rewardDicts, deathList, rpanel):
    tracks = []
    if localToonActive == 1:
        tracks.append(Func(rpanel.show))
        tracks.append(Func(NametagGlobals.setOnscreenChatForced, 1))
    
    camTracks = []
    endTracks = []
    danceSound = globalBattleSoundCache.getSound('ENC_Win.mp3')
    for t in toons:
        rdict = __findToonReward(rewardDicts, t)
        expTrack = rpanel.getExpTrack(t, rdict['origExp'], rdict['earnedExp'], deathList, rdict['items'], rdict['missedItems'], toons)
        if expTrack:
            tracks.append(expTrack)
            camDuration = expTrack.getDuration()
            camExpTrack = MovieCamera.chooseRewardShot(t, camDuration)
            camTracks.append(MovieCamera.chooseRewardShot(t, camDuration))
        
    
    if localToonActive == 1:
        tracks.append(Func(rpanel.hide))
        tracks.append(Func(NametagGlobals.setOnscreenChatForced, 0))
    
    tracks = tracks + endTracks
    seq = Sequence(tracks)
    seqdur = seq.getDuration()
    print 'dance duration: ', seqdur
    soundTrack = SoundInterval(danceSound, duration = seqdur, loop = 1)
    mtrack = Parallel(Sequence(tracks), soundTrack)
    camTrack = Track(camTracks)
    return (mtrack, camTrack)
def doToonVictory(localToonActive, toons, rewardToonIds, rewardDicts, deathList, rpanel, allowGroupShot = 1, uberList = [], helpfulToonsList = [], noSkip = False):
    track = Sequence()
    if localToonActive == 1:
        track.append(Func(rpanel.show))
        track.append(Func(NametagGlobals.setOnscreenChatForced, 1))
    camTrack = Sequence()
    endTrack = Sequence()
    danceSound = globalBattleSoundCache.getSound('ENC_Win.ogg')
    toonList = []
    countToons = 0
    uberListNew = []
    for t in toons:
        if isinstance(t, types.IntType):
            t = base.cr.doId2do.get(t)
        if t:
            toonList.append(t)
            uberListNew.append(uberList[countToons])
        countToons += 1

    toonId2toon = {}
    for toon in toonList:
        toonId2toon[toon.doId] = toon

    rewardToonList = []
    for id in rewardToonIds:
        rewardToonList.append(toonId2toon.get(id))

    skipper = ToonVictorySkipper(len(toonList), noSkip)
    lastListenIndex = 0
    track.append(skipper.getSetupFunc(lastListenIndex))
    for tIndex in xrange(len(toonList)):
        t = toonList[tIndex]
        rdict = __findToonReward(rewardDicts, t)
        if rdict != None:
            expTrack = rpanel.getExpTrack(t, rdict['origExp'], rdict['earnedExp'], deathList, rdict['origQuests'], rdict['items'], rdict['missedItems'], rdict['origMerits'], rdict['merits'], rdict['parts'], rewardToonList, uberListNew[tIndex], helpfulToonsList, noSkip=noSkip)
            if expTrack:
                skipper.setStartTime(tIndex, track.getDuration())
                track.append(skipper.getTeardownFunc(lastListenIndex))
                lastListenIndex = tIndex
                track.append(skipper.getSetupFunc(lastListenIndex))
                track.append(expTrack)
                camDuration = expTrack.getDuration()
                camExpTrack = MovieCamera.chooseRewardShot(t, camDuration)
                camTrack.append(MovieCamera.chooseRewardShot(t, camDuration, allowGroupShot=allowGroupShot))

    track.append(skipper.getTeardownFunc(lastListenIndex))
    track.append(Func(skipper.destroy))
    if localToonActive == 1:
        track.append(Func(rpanel.hide))
        track.append(Func(NametagGlobals.setOnscreenChatForced, 0))
    track.append(endTrack)
    trackdur = track.getDuration()
    soundTrack = SoundInterval(danceSound, duration=trackdur, loop=1)
    mtrack = Parallel(track, soundTrack)
    skipper.setIvals((mtrack, camTrack))
    return (mtrack, camTrack, skipper)
Beispiel #4
0
def doToonVictory(localToonActive, toons, rewardToonIds, rewardDicts, deathList, rpanel, allowGroupShot = 1, uberList = [], helpfulToonsList = [], noSkip = False):
    track = Sequence()
    if localToonActive == 1:
        track.append(Func(rpanel.show))
        track.append(Func(NametagGlobals.setOnscreenChatForced, 1))
    camTrack = Sequence()
    endTrack = Sequence()
    danceSound = globalBattleSoundCache.getSound('ENC_Win.ogg')
    toonList = []
    countToons = 0
    uberListNew = []
    for t in toons:
        if isinstance(t, types.IntType):
            t = base.cr.doId2do.get(t)
        if t:
            toonList.append(t)
            uberListNew.append(uberList[countToons])
        countToons += 1

    toonId2toon = {}
    for toon in toonList:
        toonId2toon[toon.doId] = toon

    rewardToonList = []
    for id in rewardToonIds:
        rewardToonList.append(toonId2toon.get(id))

    skipper = ToonVictorySkipper(len(toonList), noSkip)
    lastListenIndex = 0
    track.append(skipper.getSetupFunc(lastListenIndex))
    for tIndex in range(len(toonList)):
        t = toonList[tIndex]
        rdict = __findToonReward(rewardDicts, t)
        if rdict != None:
            expTrack = rpanel.getExpTrack(t, rdict['origExp'], rdict['earnedExp'], deathList, rdict['origQuests'], rdict['items'], rdict['missedItems'], rdict['origMerits'], rdict['merits'], rdict['parts'], rewardToonList, uberListNew[tIndex], helpfulToonsList, noSkip=noSkip)
            if expTrack:
                skipper.setStartTime(tIndex, track.getDuration())
                track.append(skipper.getTeardownFunc(lastListenIndex))
                lastListenIndex = tIndex
                track.append(skipper.getSetupFunc(lastListenIndex))
                track.append(expTrack)
                camDuration = expTrack.getDuration()
                camExpTrack = MovieCamera.chooseRewardShot(t, camDuration)
                camTrack.append(MovieCamera.chooseRewardShot(t, camDuration, allowGroupShot=allowGroupShot))

    track.append(skipper.getTeardownFunc(lastListenIndex))
    track.append(Func(skipper.destroy))
    if localToonActive == 1:
        track.append(Func(rpanel.hide))
        track.append(Func(NametagGlobals.setOnscreenChatForced, 0))
    track.append(endTrack)
    trackdur = track.getDuration()
    soundTrack = SoundInterval(danceSound, duration=trackdur, loop=1)
    mtrack = Parallel(track, soundTrack)
    skipper.setIvals((mtrack, camTrack))
    return (mtrack, camTrack, skipper)