def doLures(lures): """ doLures(lures) Lures occur in the following order: 1) level 1 lures one at a time, from right to left 2) level 2 lures one at a time, from right to left etc. """ if (len(lures) == 0): return (None, None) npcArrivals, npcDepartures, npcs = MovieNPCSOS.doNPCTeleports(lures) mtrack = Parallel() for l in lures: ival = __doLureLevel(l, npcs) if (ival): mtrack.append(ival) lureTrack = Sequence(npcArrivals, mtrack, npcDepartures) camDuration = mtrack.getDuration() enterDuration = npcArrivals.getDuration() exitDuration = npcDepartures.getDuration() camTrack = MovieCamera.chooseLureShot(lures, camDuration, enterDuration, exitDuration) return (lureTrack, camTrack)
def doZaps(zaps): if len(zaps) == 0: return (None, None) suitZapsDict = {} doneUber = 0 skip = 0 for zap in zaps: skip = 0 if skip: pass elif type(zap['target']) == type([]): if 1: target = zap['target'][0] suitId = target['suit'].doId if suitId in suitZapsDict: suitZapsDict[suitId].append(zap) else: suitZapsDict[suitId] = [zap] else: suitId = zap['target']['suit'].doId if suitId in suitZapsDict: suitZapsDict[suitId].append(zap) else: suitZapsDict[suitId] = [zap] suitZaps = suitZapsDict.values() def compFunc(a, b): if len(a) > len(b): return 1 elif len(a) < len(b): return -1 return 0 suitZaps.sort(compFunc) delay = 0.0 mtrack = Parallel() for st in suitZaps: if len(st) > 0: ival = __doSuitZaps(st) if ival: mtrack.append(Sequence(Wait(delay), ival)) delay = delay + TOON_ZAP_SUIT_DELAY npcArrivals, npcDepartures, npcs = MovieNPCSOS.doNPCTeleports(zaps) enterDuration = npcArrivals.getDuration() exitDuration = npcDepartures.getDuration() camDuration = mtrack.getDuration() camTrack = MovieCamera.chooseLureShot(zaps, camDuration, enterDuration, exitDuration) return (mtrack, camTrack)
def doLures(lures): if len(lures) == 0: return (None, None) ivals = [] for l in lures: ival = __doLureLevel(l) if ival: ivals.append(Track([ival])) mtrack = MultiTrack(ivals) camDuration = mtrack.getDuration() camTrack = MovieCamera.chooseLureShot(lures, camDuration) return (mtrack, camTrack) return
def doLures(lures): if len(lures) == 0: return (None, None) npcArrivals, npcDepartures, npcs = MovieNPCSOS.doNPCTeleports(lures) mtrack = Parallel() for l in lures: ival = __doLureLevel(l, npcs) if ival: mtrack.append(ival) lureTrack = Sequence(npcArrivals, mtrack, npcDepartures) camDuration = mtrack.getDuration() enterDuration = npcArrivals.getDuration() exitDuration = npcDepartures.getDuration() camTrack = MovieCamera.chooseLureShot(lures, camDuration, enterDuration, exitDuration) return (lureTrack, camTrack)
def doLures(lures): if len(lures) == 0: return (None, None) ivals = [] for l in lures: ival = __doLureLevel(l) if ival: ivals.append(Track([ ival])) mtrack = MultiTrack(ivals) camDuration = mtrack.getDuration() camTrack = MovieCamera.chooseLureShot(lures, camDuration) return (mtrack, camTrack)