831 lines
47 KiB
Python
831 lines
47 KiB
Python
|
from sys import argv
|
||
|
from direct.directbase import DirectStart
|
||
|
from direct.task import Task
|
||
|
from direct.actor.Actor import Actor
|
||
|
from direct.gui.DirectGui import *
|
||
|
from pandac.PandaModules import *
|
||
|
from direct.interval.IntervalGlobal import *
|
||
|
from direct.showbase.InputStateGlobal import inputState
|
||
|
from direct.controls.GravityWalker import GravityWalker
|
||
|
base.disableMouse()
|
||
|
|
||
|
legsAnimDict = {'right-hand-start': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_right-hand-start.bam', 'firehose': 'phase_5/models/char/tt_a_chr_dgs_shorts_legs_firehose.bam', 'rotateL-putt': 'phase_6/models/char/tt_a_chr_dgs_shorts_legs_rotateL-putt.bam', 'slip-forward': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_slip-forward.bam', 'catch-eatnrun': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_eatnrun.bam', 'tickle': 'phase_5/models/char/tt_a_chr_dgs_shorts_legs_tickle.bam', 'water-gun': 'phase_5/models/char/tt_a_chr_dgs_shorts_legs_water-gun.bam', 'leverNeutral': 'phase_10/models/char/tt_a_chr_dgs_shorts_legs_leverNeutral.bam', 'swim': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_swim.bam', 'catch-run': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_gamerun.bam', 'sad-neutral': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_sad-neutral.bam', 'pet-loop': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_petloop.bam', 'jump-squat': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_jump-zstart.bam', 'wave': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_wave.bam', 'reel-neutral': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_reelneutral.bam', 'pole-neutral': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_poleneutral.bam', 'bank': 'phase_5.5/models/char/tt_a_chr_dgs_shorts_legs_jellybeanJar.bam', 'scientistGame': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_scientistGame.bam', 'right-hand': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_right-hand.bam', 'lookloop-putt': 'phase_6/models/char/tt_a_chr_dgs_shorts_legs_lookloop-putt.bam', 'victory': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_victory-dance.bam', 'lose': 'phase_5/models/char/tt_a_chr_dgs_shorts_legs_lose.bam', 'cringe': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_cringe.bam', 'right': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_right.bam', 'headdown-putt': 'phase_6/models/char/tt_a_chr_dgs_shorts_legs_headdown-putt.bam', 'conked': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_conked.bam', 'jump': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_jump.bam', 'into-putt': 'phase_6/models/char/tt_a_chr_dgs_shorts_legs_into-putt.bam', 'fish-end': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_fishEND.bam', 'running-jump-land': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_leap_zend.bam', 'shrug': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_shrug.bam', 'sprinkle-dust': 'phase_5/models/char/tt_a_chr_dgs_shorts_legs_sprinkle-dust.bam', 'hold-bottle': 'phase_5/models/char/tt_a_chr_dgs_shorts_legs_hold-bottle.bam', 'takePhone': 'phase_5.5/models/char/tt_a_chr_dgs_shorts_legs_takePhone.bam', 'melt': 'phase_5/models/char/tt_a_chr_dgs_shorts_legs_melt.bam', 'pet-start': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_petin.bam', 'look-putt': 'phase_6/models/char/tt_a_chr_dgs_shorts_legs_look-putt.bam', 'loop-putt': 'phase_6/models/char/tt_a_chr_dgs_shorts_legs_loop-putt.bam', 'good-putt': 'phase_6/models/char/tt_a_chr_dgs_shorts_legs_good-putt.bam', 'juggle': 'phase_5/models/char/tt_a_chr_dgs_shorts_legs_juggle.bam', 'run': 'phase_3/models/char/tt_a_chr_dgs_shorts_legs_run.bam', 'pushbutton': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_press-button.bam', 'sidestep-right': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_jump-back-right.bam', 'water': 'phase_5.5/models/char/tt_a_chr_dgs_shorts_legs_water.bam', 'right-point-start': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_right-point-start.bam', 'bad-putt': 'phase_6/models/char/tt_a_chr_dgs_shorts_legs_bad-putt.bam', 'struggle': 'phase_5/models/char/tt_a_chr_dgs_shorts_legs_struggle.bam', 'running-jump': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_running-jump.bam', 'callPet': 'phase_5.5/models/char/tt_a_chr_dgs_shorts_legs_callPet.bam', 'throw': 'phase_3.5/models/char/tt_a_chr_dgs_shorts_legs_pie-throw.bam', 'catch-eatneutral': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_eat_neutral.bam', 'tug-o-war': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_tug-o-war.bam', 'bow': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_bow.bam', 'swing': 'phase_4/models/char/tt_a_chr_dgs_shorts_legs_swing.bam', 'cl
|
||
|
|
||
|
torsoAnimDict = {'right-hand-start': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_right-hand-start.bam', 'firehose': 'phase_5/models/char/tt_a_chr_dgl_shorts_torso_firehose.bam', 'rotateL-putt': 'phase_6/models/char/tt_a_chr_dgl_shorts_torso_rotateL-putt.bam', 'slip-forward': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_slip-forward.bam', 'catch-eatnrun': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_eatnrun.bam', 'tickle': 'phase_5/models/char/tt_a_chr_dgl_shorts_torso_tickle.bam', 'water-gun': 'phase_5/models/char/tt_a_chr_dgl_shorts_torso_water-gun.bam', 'leverNeutral': 'phase_10/models/char/tt_a_chr_dgl_shorts_torso_leverNeutral.bam', 'swim': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_swim.bam', 'catch-run': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_gamerun.bam', 'sad-neutral': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_sad-neutral.bam', 'pet-loop': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_petloop.bam', 'jump-squat': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_jump-zstart.bam', 'wave': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_wave.bam', 'reel-neutral': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_reelneutral.bam', 'pole-neutral': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_poleneutral.bam', 'bank': 'phase_5.5/models/char/tt_a_chr_dgl_shorts_torso_jellybeanJar.bam', 'scientistGame': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_scientistGame.bam', 'right-hand': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_right-hand.bam', 'lookloop-putt': 'phase_6/models/char/tt_a_chr_dgl_shorts_torso_lookloop-putt.bam', 'victory': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_victory-dance.bam', 'lose': 'phase_5/models/char/tt_a_chr_dgl_shorts_torso_lose.bam', 'cringe': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_cringe.bam', 'right': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_right.bam', 'headdown-putt': 'phase_6/models/char/tt_a_chr_dgl_shorts_torso_headdown-putt.bam', 'conked': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_conked.bam', 'jump': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_jump.bam', 'into-putt': 'phase_6/models/char/tt_a_chr_dgl_shorts_torso_into-putt.bam', 'fish-end': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_fishEND.bam', 'running-jump-land': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_leap_zend.bam', 'shrug': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_shrug.bam', 'sprinkle-dust': 'phase_5/models/char/tt_a_chr_dgl_shorts_torso_sprinkle-dust.bam', 'hold-bottle': 'phase_5/models/char/tt_a_chr_dgl_shorts_torso_hold-bottle.bam', 'takePhone': 'phase_5.5/models/char/tt_a_chr_dgl_shorts_torso_takePhone.bam', 'melt': 'phase_5/models/char/tt_a_chr_dgl_shorts_torso_melt.bam', 'pet-start': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_petin.bam', 'look-putt': 'phase_6/models/char/tt_a_chr_dgl_shorts_torso_look-putt.bam', 'loop-putt': 'phase_6/models/char/tt_a_chr_dgl_shorts_torso_loop-putt.bam', 'good-putt': 'phase_6/models/char/tt_a_chr_dgl_shorts_torso_good-putt.bam', 'juggle': 'phase_5/models/char/tt_a_chr_dgl_shorts_torso_juggle.bam', 'run': 'phase_3/models/char/tt_a_chr_dgl_shorts_torso_run.bam', 'pushbutton': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_press-button.bam', 'sidestep-right': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_jump-back-right.bam', 'water': 'phase_5.5/models/char/tt_a_chr_dgl_shorts_torso_water.bam', 'right-point-start': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_right-point-start.bam', 'bad-putt': 'phase_6/models/char/tt_a_chr_dgl_shorts_torso_bad-putt.bam', 'struggle': 'phase_5/models/char/tt_a_chr_dgl_shorts_torso_struggle.bam', 'running-jump': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_running-jump.bam', 'callPet': 'phase_5.5/models/char/tt_a_chr_dgl_shorts_torso_callPet.bam', 'throw': 'phase_3.5/models/char/tt_a_chr_dgl_shorts_torso_pie-throw.bam', 'catch-eatneutral': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_eat_neutral.bam', 'tug-o-war': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_tug-o-war.bam', 'bow': 'phase_4/models/char/tt_a_chr_dgl_shorts_torso_bow.bam', 'swing': 'phase_
|
||
|
|
||
|
duckHead = loader.loadModel('phase_3/models/char/duck-heads-1000.bam')
|
||
|
otherParts = duckHead.findAllMatches('**/*long*')
|
||
|
for partNum in range(0, otherParts.getNumPaths()):
|
||
|
otherParts.getPath(partNum).removeNode()
|
||
|
ntrlMuzzle = duckHead.find('**/*muzzle*neutral')
|
||
|
otherParts = duckHead.findAllMatches('**/*muzzle*')
|
||
|
for partNum in range(0, otherParts.getNumPaths()):
|
||
|
part = otherParts.getPath(partNum)
|
||
|
if part != ntrlMuzzle:
|
||
|
otherParts.getPath(partNum).removeNode()
|
||
|
duckTorso = loader.loadModel('phase_3/models/char/tt_a_chr_dgl_shorts_torso_1000.bam')
|
||
|
duckLegs = loader.loadModel('phase_3/models/char/tt_a_chr_dgs_shorts_legs_1000.bam')
|
||
|
otherParts = duckLegs.findAllMatches('**/boots*')+duckLegs.findAllMatches('**/shoes')
|
||
|
for partNum in range(0, otherParts.getNumPaths()):
|
||
|
otherParts.getPath(partNum).removeNode()
|
||
|
|
||
|
duckBody = Actor({'head':duckHead, 'torso':duckTorso, 'legs':duckLegs},
|
||
|
{'torso':torsoAnimDict, 'legs':legsAnimDict})
|
||
|
duckBody.attach('head', 'torso', 'def_head')
|
||
|
duckBody.attach('torso', 'legs', 'joint_hips')
|
||
|
|
||
|
gloves = duckBody.findAllMatches('**/hands')
|
||
|
ears = duckBody.findAllMatches('**/*ears*')
|
||
|
head = duckBody.findAllMatches('**/head-*')
|
||
|
sleeves = duckBody.findAllMatches('**/sleeves')
|
||
|
shirt = duckBody.findAllMatches('**/torso-top')
|
||
|
shorts = duckBody.findAllMatches('**/torso-bot')
|
||
|
neck = duckBody.findAllMatches('**/neck')
|
||
|
arms = duckBody.findAllMatches('**/arms')
|
||
|
legs = duckBody.findAllMatches('**/legs')
|
||
|
feet = duckBody.findAllMatches('**/feet')
|
||
|
|
||
|
bodyNodes = []
|
||
|
bodyNodes += [gloves]
|
||
|
bodyNodes += [head, ears]
|
||
|
bodyNodes += [sleeves, shirt, shorts]
|
||
|
bodyNodes += [neck, arms, legs, feet]
|
||
|
bodyNodes[0].setColor(1, 1, 1, 1)
|
||
|
bodyNodes[1].setColor(0.884, 0.248, 0.268, 1)
|
||
|
bodyNodes[2].setColor(0.884, 0.248, 0.268, 1)
|
||
|
bodyNodes[3].setColor(0.264, 0.308, 0.676, 1)
|
||
|
bodyNodes[4].setColor(0.264, 0.308, 0.676, 1)
|
||
|
bodyNodes[5].setColor(1, 1, 1, 1)
|
||
|
bodyNodes[6].setColor(0.264, 0.308, 0.676, 1)
|
||
|
bodyNodes[7].setColor(0.264, 0.308, 0.676, 1)
|
||
|
bodyNodes[8].setColor(0.276, 0.872, 0.36, 1)
|
||
|
bodyNodes[9].setColor(0.276, 0.872, 0.36, 1)
|
||
|
|
||
|
topTex = loader.loadTexture('phase_3/maps/desat_shirt_5.jpg')
|
||
|
botTex = loader.loadTexture('phase_4/maps/CowboyShorts1.jpg')
|
||
|
sleeveTex = loader.loadTexture('phase_3/maps/desat_sleeve_5.jpg')
|
||
|
|
||
|
bodyNodes[3].setTexture(sleeveTex, 1)
|
||
|
bodyNodes[4].setTexture(topTex, 1)
|
||
|
bodyNodes[5].setTexture(botTex, 1)
|
||
|
|
||
|
duckBody.reparentTo(render)
|
||
|
|
||
|
geom = duckBody.getGeomNode()
|
||
|
geom.getChild(0).setSx(0.730000019073)
|
||
|
geom.getChild(0).setSz(0.730000019073)
|
||
|
|
||
|
offset = 3.2375
|
||
|
|
||
|
base.camera.reparentTo(duckBody)
|
||
|
base.camera.setPos(0, -10.0 - offset, offset)
|
||
|
wallBitmask = BitMask32(1)
|
||
|
floorBitmask = BitMask32(2)
|
||
|
base.cTrav = CollisionTraverser()
|
||
|
def getAirborneHeight():
|
||
|
return offset + 0.025000000000000001
|
||
|
walkControls = GravityWalker(legacyLifter=True)
|
||
|
walkControls.setWallBitMask(wallBitmask)
|
||
|
walkControls.setFloorBitMask(floorBitmask)
|
||
|
walkControls.setWalkSpeed(16.0, 24.0, 8.0, 80.0)
|
||
|
walkControls.initializeCollisions(base.cTrav, duckBody, floorOffset=0.025, reach=4.0)
|
||
|
walkControls.setAirborneHeightFunc(getAirborneHeight)
|
||
|
walkControls.enableAvatarControls()
|
||
|
duckBody.physControls = walkControls
|
||
|
|
||
|
def setWatchKey(key, input, keyMapName):
|
||
|
def watchKey(active=True):
|
||
|
if active == True:
|
||
|
inputState.set(input, True)
|
||
|
keyMap[keyMapName] = 1
|
||
|
else:
|
||
|
inputState.set(input, False)
|
||
|
keyMap[keyMapName] = 0
|
||
|
base.accept(key, watchKey, [True])
|
||
|
base.accept(key+'-up', watchKey, [False])
|
||
|
|
||
|
keyMap = {'left':0, 'right':0, 'forward':0, 'backward':0, 'control':0}
|
||
|
|
||
|
setWatchKey('arrow_up', 'forward', 'forward')
|
||
|
setWatchKey('control-arrow_up', 'forward', 'forward')
|
||
|
setWatchKey('alt-arrow_up', 'forward', 'forward')
|
||
|
setWatchKey('shift-arrow_up', 'forward', 'forward')
|
||
|
setWatchKey('arrow_down', 'reverse', 'backward')
|
||
|
setWatchKey('control-arrow_down', 'reverse', 'backward')
|
||
|
setWatchKey('alt-arrow_down', 'reverse', 'backward')
|
||
|
setWatchKey('shift-arrow_down', 'reverse', 'backward')
|
||
|
setWatchKey('arrow_left', 'turnLeft', 'left')
|
||
|
setWatchKey('control-arrow_left', 'turnLeft', 'left')
|
||
|
setWatchKey('alt-arrow_left', 'turnLeft', 'left')
|
||
|
setWatchKey('shift-arrow_left', 'turnLeft', 'left')
|
||
|
setWatchKey('arrow_right', 'turnRight', 'right')
|
||
|
setWatchKey('control-arrow_right', 'turnRight', 'right')
|
||
|
setWatchKey('alt-arrow_right', 'turnRight', 'right')
|
||
|
setWatchKey('shift-arrow_right', 'turnRight', 'right')
|
||
|
setWatchKey('control', 'jump', 'control')
|
||
|
|
||
|
movingNeutral, movingForward = (False, False)
|
||
|
movingRotation, movingBackward = (False, False)
|
||
|
movingJumping = False
|
||
|
|
||
|
def setMovementAnimation(loopName, playRate=1.0):
|
||
|
global movingNeutral
|
||
|
global movingForward
|
||
|
global movingRotation
|
||
|
global movingBackward
|
||
|
global movingJumping
|
||
|
if 'jump' in loopName:
|
||
|
movingJumping = True
|
||
|
movingForward = False
|
||
|
movingNeutral = False
|
||
|
movingRotation = False
|
||
|
movingBackward = False
|
||
|
elif loopName == 'run':
|
||
|
movingJumping = False
|
||
|
movingForward = True
|
||
|
movingNeutral = False
|
||
|
movingRotation = False
|
||
|
movingBackward = False
|
||
|
elif loopName == 'walk':
|
||
|
movingJumping = False
|
||
|
movingForward = False
|
||
|
movingNeutral = False
|
||
|
if playRate == -1.0:
|
||
|
movingBackward = True
|
||
|
movingRotation = False
|
||
|
else:
|
||
|
movingBackward = False
|
||
|
movingRotation = True
|
||
|
elif loopName == 'neutral':
|
||
|
movingJumping = False
|
||
|
movingForward = False
|
||
|
movingNeutral = True
|
||
|
movingRotation = False
|
||
|
movingBackward = False
|
||
|
else:
|
||
|
movingJumping = False
|
||
|
movingForward = False
|
||
|
movingNeutral = False
|
||
|
movingRotation = False
|
||
|
movingBackward = False
|
||
|
ActorInterval(duckBody, loopName, playRate=playRate).loop()
|
||
|
|
||
|
def handleMovement(task):
|
||
|
global movingNeutral, movingForward
|
||
|
global movingRotation, movingBackward, movingJumping
|
||
|
if keyMap['control'] == 1:
|
||
|
if keyMap['forward'] or keyMap['backward'] or keyMap['left'] or keyMap['right']:
|
||
|
if movingJumping == False:
|
||
|
if duckBody.physControls.isAirborne:
|
||
|
setMovementAnimation('running-jump-idle')
|
||
|
else:
|
||
|
if keyMap['forward']:
|
||
|
if movingForward == False:
|
||
|
setMovementAnimation('run')
|
||
|
elif keyMap['backward']:
|
||
|
if movingBackward == False:
|
||
|
setMovementAnimation('walk', playRate=-1.0)
|
||
|
elif keyMap['left'] or keyMap['right']:
|
||
|
if movingRotation == False:
|
||
|
setMovementAnimation('walk')
|
||
|
else:
|
||
|
if not duckBody.physControls.isAirborne:
|
||
|
if keyMap['forward']:
|
||
|
if movingForward == False:
|
||
|
setMovementAnimation('run')
|
||
|
elif keyMap['backward']:
|
||
|
if movingBackward == False:
|
||
|
setMovementAnimation('walk', playRate=-1.0)
|
||
|
elif keyMap['left'] or keyMap['right']:
|
||
|
if movingRotation == False:
|
||
|
setMovementAnimation('walk')
|
||
|
else:
|
||
|
if movingJumping == False:
|
||
|
if duckBody.physControls.isAirborne:
|
||
|
setMovementAnimation('jump-idle')
|
||
|
else:
|
||
|
if movingNeutral == False:
|
||
|
setMovementAnimation('neutral')
|
||
|
else:
|
||
|
if not duckBody.physControls.isAirborne:
|
||
|
if movingNeutral == False:
|
||
|
setMovementAnimation('neutral')
|
||
|
elif keyMap['forward'] == 1:
|
||
|
if movingForward == False:
|
||
|
if not duckBody.physControls.isAirborne:
|
||
|
setMovementAnimation('run')
|
||
|
elif keyMap['backward'] == 1:
|
||
|
if movingBackward == False:
|
||
|
if not duckBody.physControls.isAirborne:
|
||
|
setMovementAnimation('walk', playRate=-1.0)
|
||
|
elif keyMap['left'] or keyMap['right']:
|
||
|
if movingRotation == False:
|
||
|
if not duckBody.physControls.isAirborne:
|
||
|
setMovementAnimation('walk')
|
||
|
else:
|
||
|
if not duckBody.physControls.isAirborne:
|
||
|
if movingNeutral == False:
|
||
|
setMovementAnimation('neutral')
|
||
|
return Task.cont
|
||
|
|
||
|
base.taskMgr.add(handleMovement, 'controlManager')
|
||
|
|
||
|
def collisionsOn():
|
||
|
duckBody.physControls.setCollisionsActive(True)
|
||
|
duckBody.physControls.isAirborne = True
|
||
|
def collisionsOff():
|
||
|
duckBody.physControls.setCollisionsActive(False)
|
||
|
duckBody.physControls.isAirborne = True
|
||
|
def toggleCollisions():
|
||
|
if duckBody.physControls.getCollisionsActive():
|
||
|
duckBody.physControls.setCollisionsActive(False)
|
||
|
duckBody.physControls.isAirborne = True
|
||
|
else:
|
||
|
duckBody.physControls.setCollisionsActive(True)
|
||
|
duckBody.physControls.isAirborne = True
|
||
|
base.accept('f1', toggleCollisions)
|
||
|
duckBody.collisionsOn = collisionsOn
|
||
|
duckBody.collisionsOff = collisionsOff
|
||
|
duckBody.toggleCollisions = toggleCollisions
|
||
|
|
||
|
localAvatar = duckBody
|
||
|
base.localAvatar = localAvatar
|
||
|
|
||
|
loadCogishAscent = True
|
||
|
if len(argv) > 1:
|
||
|
filepath = argv[1]
|
||
|
if '.' in filepath:
|
||
|
try:
|
||
|
execfile(filepath)
|
||
|
loadCogishAscent = False
|
||
|
except Exception, e:
|
||
|
loadCogishAscent = False
|
||
|
print e
|
||
|
else:
|
||
|
loadCogishAscent = True
|
||
|
|
||
|
if loadCogishAscent == True:
|
||
|
|
||
|
onScreenDebug.add('Loaded Minigame', 'Escape from Castle Cogenstien')
|
||
|
|
||
|
environ = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
environ.reparentTo(render)
|
||
|
environ.setPos(25,-150,0)
|
||
|
environ.setHpr(0,0,0)
|
||
|
environ.setScale(1)
|
||
|
environ = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
environ.reparentTo(render)
|
||
|
environ.setPos(10,-135,0)
|
||
|
environ.setHpr(0,0,0)
|
||
|
environ.setScale(1)
|
||
|
environ = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
environ.reparentTo(render)
|
||
|
environ.setPos(-5,-120,0)
|
||
|
environ.setHpr(0,0,0)
|
||
|
environ.setScale(1)
|
||
|
environ = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
environ.reparentTo(render)
|
||
|
environ.setPos(-10,-80,-10)
|
||
|
environ.setHpr(0,0,0)
|
||
|
environ.setScale(10)
|
||
|
environ = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
environ.reparentTo(render)
|
||
|
environ.setPos(50,-80,-10)
|
||
|
environ.setHpr(0,0,0)
|
||
|
environ.setScale(10)
|
||
|
environ = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
environ.reparentTo(render)
|
||
|
environ.setPos(-40,-140,-10)
|
||
|
environ.setHpr(0,0,0)
|
||
|
environ.setScale(10)
|
||
|
e = loader.loadModel("phase_9/models/cogHQ/Elevator.bam")
|
||
|
e.reparentTo(render)
|
||
|
e.setHpr(0,0,0)
|
||
|
e.setPos(-5,-120,0)
|
||
|
pandaPosInterval22 = e.posInterval(13,Point3(-5,-120,0),
|
||
|
startPos=Point3(-5,-120,50))
|
||
|
pandaPosInterval33 = e.posInterval(13,Point3(-5,-120,50),
|
||
|
startPos=Point3(-5,-120,0))
|
||
|
pandaHprInterval11 = e.hprInterval(3,Point3(0,0,0),
|
||
|
startHpr=Point3(0, 0, 0))
|
||
|
pandaHprInterval22 = e.hprInterval(3,Point3(0, 0, 0),
|
||
|
startHpr=Point3(0, 0, 0))
|
||
|
pandaPace = Sequence(pandaPosInterval22,
|
||
|
pandaHprInterval11,
|
||
|
pandaPosInterval33,
|
||
|
pandaHprInterval22,
|
||
|
name="pandaPace")
|
||
|
pandaPace.loop()
|
||
|
e.find('**/wall_back').removeNode()
|
||
|
e.find('**/wall_front').removeNode()
|
||
|
sell1 = loader.loadModel('phase_9/models/cogHQ/SelbotLegFactory.bam')
|
||
|
sell1.reparentTo(render)
|
||
|
sell1.setPos(-15,0,80)
|
||
|
sell1.setHpr(90,0,0)
|
||
|
sell1.setScale(1)
|
||
|
sell1.setColor(0,0,3)
|
||
|
environ = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
environ.reparentTo(render)
|
||
|
environ.setPos(-10,20,30)
|
||
|
environ.setHpr(0,45,0)
|
||
|
environ.setScale(10)
|
||
|
environ = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
environ.reparentTo(render)
|
||
|
environ.setPos(-10,-30,50)
|
||
|
environ.setHpr(0,0,0)
|
||
|
environ.setScale(3)
|
||
|
ceo = Actor({"head":"phase_12/models/char/bossbotBoss-head-zero.bam", \
|
||
|
"torso":"phase_12/models/char/bossbotBoss-torso-zero.bam", \
|
||
|
"legs":"phase_9/models/char/bossCog-legs-zero.bam"}, \
|
||
|
{"head":{"walk":"phase_9/models/char/bossCog-head-Bb_neutral.bam", \
|
||
|
"run":"phase_9/models/char/bossCog-head-Bb_neutral.bam"}, \
|
||
|
"torso":{"walk":"phase_9/models/char/bossCog-torso-Bb_neutral.bam", \
|
||
|
"run":"phase_9/models/char/bossCog-torso-Bb_neutral.bam"}, \
|
||
|
"legs":{"walk":"phase_9/models/char/bossCog-legs-Bb_neutral.bam", \
|
||
|
"run":"phase_9/models/char/bossCog-legs-Bb_neutral.bam"} \
|
||
|
})
|
||
|
ceo.attach("head", "torso", "joint34")
|
||
|
ceo.attach("torso", "legs", "joint_legs")
|
||
|
ceo.reparentTo(render)
|
||
|
tread3 = loader.loadModel("phase_9/models/char/bossCog-treads.bam")
|
||
|
rear4 = ceo.find('**/joint_axle')
|
||
|
tread3.reparentTo(rear4)
|
||
|
ceo.setPos(-180,21,83.5)
|
||
|
ceo.loop("walk")
|
||
|
ceo.setHpr(90,0,0)
|
||
|
environ = loader.loadModel("phase_4/models/minigames/toonblitz_game_arrow.bam")
|
||
|
environ.reparentTo(render)
|
||
|
environ.setPos(-125,21,84)
|
||
|
environ.setHpr(90,0,0)
|
||
|
environ.setScale(3)
|
||
|
environ = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
environ.reparentTo(render)
|
||
|
environ.setPos(-267,10,83.5)
|
||
|
environ.setHpr(0,0,0)
|
||
|
environ.setScale(3)
|
||
|
crate1 = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
crate1.reparentTo(render)
|
||
|
crate1.setPos(-390,155,98)
|
||
|
crate1.setHpr(0,0,0)
|
||
|
crate1.setScale(3)
|
||
|
crate2 = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
crate2.reparentTo(render)
|
||
|
crate2.setPos(-350,220,99)
|
||
|
crate2.setHpr(0,0,0)
|
||
|
crate2.setScale(0.5)
|
||
|
crate3 = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
crate3.reparentTo(render)
|
||
|
crate3.setPos(-350,230,100)
|
||
|
crate3.setHpr(0,0,0)
|
||
|
crate3.setScale(0.4)
|
||
|
crate4 = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
crate4.reparentTo(render)
|
||
|
crate4.setPos(-340,240,101)
|
||
|
crate4.setHpr(0,0,0)
|
||
|
crate4.setScale(0.3)
|
||
|
paint1 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint1.reparentTo(render)
|
||
|
paint1.setPos(-340,260,101)
|
||
|
paint1.setHpr(0,0,0)
|
||
|
paint1.setScale(2.5)
|
||
|
paint2 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint2.reparentTo(render)
|
||
|
paint2.setPos(-345,330,102)
|
||
|
paint2.setHpr(0,0,0)
|
||
|
paint2.setScale(0.5)
|
||
|
paint3 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint3.reparentTo(render)
|
||
|
paint3.setPos(-345,325,105)
|
||
|
paint3.setHpr(0,0,0)
|
||
|
paint3.setScale(0.5)
|
||
|
paint4 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint4.reparentTo(render)
|
||
|
paint4.setPos(-345,320,108)
|
||
|
paint4.setHpr(0,0,0)
|
||
|
paint4.setScale(0.5)
|
||
|
paint5 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint5.reparentTo(render)
|
||
|
paint5.setPos(-345,315,111)
|
||
|
paint5.setHpr(0,0,0)
|
||
|
paint5.setScale(0.5)
|
||
|
paint6 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint6.reparentTo(render)
|
||
|
paint6.setPos(-345,310,114)
|
||
|
paint6.setHpr(0,0,0)
|
||
|
paint6.setScale(0.5)
|
||
|
paint7 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint7.reparentTo(render)
|
||
|
paint7.setPos(-345,305,117)
|
||
|
paint7.setHpr(0,0,0)
|
||
|
paint7.setScale(0.5)
|
||
|
paint8 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint8.reparentTo(render)
|
||
|
paint8.setPos(-345,300,120)
|
||
|
paint8.setHpr(0,0,0)
|
||
|
paint8.setScale(0.5)
|
||
|
paint9 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint9.reparentTo(render)
|
||
|
paint9.setPos(-345,290,125)
|
||
|
paint9.setHpr(0,0,0)
|
||
|
paint9.setScale(1)
|
||
|
paint10 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint10.reparentTo(render)
|
||
|
paint10.setPos(-345,280,130)
|
||
|
paint10.setHpr(0,0,0)
|
||
|
paint10.setScale(1)
|
||
|
paint11 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint11.reparentTo(render)
|
||
|
paint11.setPos(-345,270,135)
|
||
|
paint11.setHpr(0,0,0)
|
||
|
paint11.setScale(1)
|
||
|
paint12 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint12.reparentTo(render)
|
||
|
paint12.setPos(-345,260,140)
|
||
|
paint12.setHpr(0,0,0)
|
||
|
paint12.setScale(1)
|
||
|
paint13 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint13.reparentTo(render)
|
||
|
paint13.setPos(-345,250,145)
|
||
|
paint13.setHpr(0,0,0)
|
||
|
paint13.setScale(1)
|
||
|
paint14 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint14.reparentTo(render)
|
||
|
paint14.setPos(-350,260,145)
|
||
|
paint14.setHpr(0,0,0)
|
||
|
paint14.setScale(1)
|
||
|
paint15 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint15.reparentTo(render)
|
||
|
paint15.setPos(-345,240,145)
|
||
|
paint15.setHpr(0,0,0)
|
||
|
paint15.setScale(1)
|
||
|
paint16 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint16.reparentTo(render)
|
||
|
paint16.setPos(-345,230,145)
|
||
|
paint16.setHpr(0,0,0)
|
||
|
paint16.setScale(1)
|
||
|
paint17 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint17.reparentTo(render)
|
||
|
paint17.setPos(-345,220,145)
|
||
|
paint17.setHpr(0,0,0)
|
||
|
paint17.setScale(1)
|
||
|
paint18 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint18.reparentTo(render)
|
||
|
paint18.setPos(-345,210,145)
|
||
|
paint18.setHpr(0,0,0)
|
||
|
paint18.setScale(1)
|
||
|
paint19 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint19.reparentTo(render)
|
||
|
paint19.setPos(-345,200,145)
|
||
|
paint19.setHpr(0,0,0)
|
||
|
paint19.setScale(1)
|
||
|
paint20 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint20.reparentTo(render)
|
||
|
paint20.setPos(-345,190,145)
|
||
|
paint20.setHpr(0,0,0)
|
||
|
paint20.setScale(1)
|
||
|
paint21 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint21.reparentTo(render)
|
||
|
paint21.setPos(-345,180,145)
|
||
|
paint21.setHpr(0,0,0)
|
||
|
paint21.setScale(1)
|
||
|
paint22 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint22.reparentTo(render)
|
||
|
paint22.setPos(-345,170,145)
|
||
|
paint22.setHpr(0,0,0)
|
||
|
paint22.setScale(1)
|
||
|
paint23 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint23.reparentTo(render)
|
||
|
paint23.setPos(-355,160,145)
|
||
|
paint23.setHpr(0,0,0)
|
||
|
paint23.setScale(1)
|
||
|
paint24 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint24.reparentTo(render)
|
||
|
paint24.setPos(-365,150,145)
|
||
|
paint24.setHpr(0,0,0)
|
||
|
paint24.setScale(1)
|
||
|
crate5 = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
crate5.reparentTo(render)
|
||
|
crate5.setPos(-365,120,120)
|
||
|
crate5.setHpr(0,0,0)
|
||
|
crate5.setScale(10)
|
||
|
sign1 = loader.loadModel("phase_4/models/minigames/toonblitz_game_arrow.bam")
|
||
|
sign1.reparentTo(render)
|
||
|
sign1.setPos(-365,150,145)
|
||
|
sign1.setHpr(0,0,0)
|
||
|
sign1.setScale(1)
|
||
|
crate6 = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
crate6.reparentTo(render)
|
||
|
crate6.setPos(-500,0,90)
|
||
|
crate6.setHpr(0,0,0)
|
||
|
crate6.setScale(5)
|
||
|
crate7 = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
crate7.reparentTo(render)
|
||
|
crate7.setPos(-467,0,90)
|
||
|
crate7.setHpr(0,0,0)
|
||
|
crate7.setScale(5)
|
||
|
crate8 = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
crate8.reparentTo(render)
|
||
|
crate8.setPos(-467,-130,90)
|
||
|
crate8.setHpr(0,0,0)
|
||
|
crate8.setScale(5)
|
||
|
crate9 = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
crate9.reparentTo(render)
|
||
|
crate9.setPos(-570,-500,80)
|
||
|
crate9.setHpr(0,0,0)
|
||
|
crate9.setScale(5)
|
||
|
paint25 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint25.reparentTo(render)
|
||
|
paint25.setPos(-610,-600,91)
|
||
|
paint25.setHpr(0,0,0)
|
||
|
paint25.setScale(0.05)
|
||
|
paint26 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint26.reparentTo(render)
|
||
|
paint26.setPos(-610,-650,93)
|
||
|
paint26.setHpr(0,0,0)
|
||
|
paint26.setScale(0.5)
|
||
|
paint27 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint27.reparentTo(render)
|
||
|
paint27.setPos(-610,-640,98)
|
||
|
paint27.setHpr(0,0,0)
|
||
|
paint27.setScale(0.5)
|
||
|
paint28 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint28.reparentTo(render)
|
||
|
paint28.setPos(-610,-630,103)
|
||
|
paint28.setHpr(0,0,0)
|
||
|
paint28.setScale(0.5)
|
||
|
paint29 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint29.reparentTo(render)
|
||
|
paint29.setPos(-610,-620,108)
|
||
|
paint29.setHpr(0,0,0)
|
||
|
paint29.setScale(0.5)
|
||
|
crate10 = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
crate10.reparentTo(render)
|
||
|
crate10.setPos(-540,-600,80)
|
||
|
crate10.setHpr(0,0,0)
|
||
|
crate10.setScale(10)
|
||
|
crate11 = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
crate11.reparentTo(render)
|
||
|
crate11.setPos(-267,5,80)
|
||
|
crate11.setHpr(0,45,0)
|
||
|
crate11.setScale(3)
|
||
|
crate12 = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
crate12.reparentTo(render)
|
||
|
crate12.setPos(-273,20,75)
|
||
|
crate12.setHpr(0,0,0)
|
||
|
crate12.setScale(3)
|
||
|
mgr = loader.loadModel("phase_10/models/cogHQ/CBMetalCrate2.bam")
|
||
|
mgr.reparentTo(render)
|
||
|
mgr.setPos(-270,150,87)
|
||
|
mgr.setHpr(0,0,0)
|
||
|
mgr.setScale(5)
|
||
|
mgr.setColor(3,0,0)
|
||
|
pandaHprInterval1 = mgr.hprInterval(3,Point3(0,0,0),
|
||
|
startHpr=Point3(359, 359, 359))
|
||
|
pandaHprInterval2 = mgr.hprInterval(3,Point3(359, 359, 359),
|
||
|
startHpr=Point3(0, 0, 0))
|
||
|
maryspin = Sequence(pandaHprInterval1,
|
||
|
name="maryspin")
|
||
|
maryspin.loop()
|
||
|
mail1 = Actor("phase_5/models/char/tt_r_ara_ttc_mailbox.bam",
|
||
|
{"cheer":"phase_5/models/char/tt_a_ara_ttc_mailbox_fightCheer.bam"})
|
||
|
mail1.reparentTo(render)
|
||
|
mail1.loop("cheer")
|
||
|
mail1.setPos(-510,-250,145)
|
||
|
mail1.setHpr(180,0,180)
|
||
|
mail1.setScale(5)
|
||
|
hydrant1 = Actor("phase_5/models/char/tt_r_ara_ttc_hydrant.bam",{"cheer":"phase_5/models/char/tt_a_ara_ttc_hydrant_fightCheer.bam"})
|
||
|
hydrant1.reparentTo(render)
|
||
|
hydrant1.loop("cheer")
|
||
|
hydrant1.setPos(-510,-320,101.5)
|
||
|
hydrant1.setHpr(0,0,0)
|
||
|
hydrant1.setScale(10)
|
||
|
crate13 = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
crate13.reparentTo(render)
|
||
|
crate13.setPos(-267,10,83.5)
|
||
|
crate13.setHpr(0,0,0)
|
||
|
crate13.setScale(3)
|
||
|
paint30 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint30.reparentTo(render)
|
||
|
paint30.setPos(-280,30,87)
|
||
|
paint30.setHpr(0,0,0)
|
||
|
paint30.setScale(1)
|
||
|
paint31 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint31.reparentTo(render)
|
||
|
paint31.setPos(-420,-20,142)
|
||
|
paint31.setHpr(0,0,0)
|
||
|
paint31.setScale(1)
|
||
|
paint32 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint32.reparentTo(render)
|
||
|
paint32.setPos(-420,-5,147)
|
||
|
paint32.setHpr(0,0,0)
|
||
|
paint32.setScale(1)
|
||
|
paint33 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint33.reparentTo(render)
|
||
|
paint33.setPos(-420,10,152)
|
||
|
paint33.setHpr(0,0,0)
|
||
|
paint33.setScale(1)
|
||
|
paint34 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint34.reparentTo(render)
|
||
|
paint34.setPos(-420,25,157)
|
||
|
paint34.setHpr(0,0,0)
|
||
|
paint34.setScale(1)
|
||
|
paint35 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint35.reparentTo(render)
|
||
|
paint35.setPos(-420,27,162)
|
||
|
paint35.setHpr(0,0,0)
|
||
|
paint35.setScale(1)
|
||
|
paint36 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint36.reparentTo(render)
|
||
|
paint36.setPos(-417,5,162)
|
||
|
paint36.setHpr(0,315,0)
|
||
|
paint36.setScale(0.5)
|
||
|
paint37 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint37.reparentTo(render)
|
||
|
paint37.setPos(-417,0,167)
|
||
|
paint37.setHpr(0,315,0)
|
||
|
paint37.setScale(0.5)
|
||
|
paint38 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint38.reparentTo(render)
|
||
|
paint38.setPos(-750,0,293)
|
||
|
paint38.setHpr(0,0,0)
|
||
|
paint38.setScale(1)
|
||
|
paint39 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint39.reparentTo(render)
|
||
|
paint39.setPos(-752,0,299)
|
||
|
paint39.setHpr(0,0,0)
|
||
|
paint39.setScale(1)
|
||
|
paint40 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint40.reparentTo(render)
|
||
|
paint40.setPos(-754,0,305)
|
||
|
paint40.setHpr(0,0,0)
|
||
|
paint40.setScale(1)
|
||
|
paint41 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint41.reparentTo(render)
|
||
|
paint41.setPos(-756,0,311)
|
||
|
paint41.setHpr(0,0,0)
|
||
|
paint41.setScale(1)
|
||
|
paint42 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint42.reparentTo(render)
|
||
|
paint42.setPos(-758,0,317)
|
||
|
paint42.setHpr(0,0,0)
|
||
|
paint42.setScale(1)
|
||
|
paint43 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint43.reparentTo(render)
|
||
|
paint43.setPos(-760,0,323)
|
||
|
paint43.setHpr(0,0,0)
|
||
|
paint43.setScale(1)
|
||
|
paint44 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint44.reparentTo(render)
|
||
|
paint44.setPos(-762,0,329)
|
||
|
paint44.setHpr(0,0,0)
|
||
|
paint44.setScale(1)
|
||
|
cash1 = loader.loadModel('phase_10/models/cashbotHQ/ZONE31a.bam')
|
||
|
cash1.reparentTo(render)
|
||
|
cash1.setPos(-762,0,329)
|
||
|
cash1.setHpr(0,0,0)
|
||
|
cash1.setScale(1)
|
||
|
cash2 = loader.loadModel('phase_10/models/cashbotHQ/connector_7cubeL2.bam')
|
||
|
cash2.reparentTo(render)
|
||
|
cash2.setPos(-762,-30,329)
|
||
|
cash2.setHpr(0,0,0)
|
||
|
cash2.setScale(1)
|
||
|
cash3 = loader.loadModel('phase_10/models/cashbotHQ/ZONE15a.bam')
|
||
|
cash3.reparentTo(render)
|
||
|
cash3.setPos(-747.5,-112,324)
|
||
|
cash3.setHpr(90,0,0)
|
||
|
cash3.setScale(1)
|
||
|
train1 = loader.loadModel('phase_10/models/cogHQ/CashBotTankCar.bam')
|
||
|
train1.reparentTo(render)
|
||
|
train1.setPos(-770.5,-120,344)
|
||
|
train1.setHpr(10,190,10)
|
||
|
train1.setScale(0.5)
|
||
|
paint45 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint45.reparentTo(render)
|
||
|
paint45.setPos(-765,-105,330)
|
||
|
paint45.setHpr(0,0,80)
|
||
|
paint45.setScale(1)
|
||
|
cash4 = loader.loadModel('phase_10/models/cashbotHQ/ZONE08a.bam')
|
||
|
cash4.reparentTo(render)
|
||
|
cash4.setPos(-755,-223,324)
|
||
|
cash4.setHpr(90,60,0)
|
||
|
cash4.setScale(1)
|
||
|
law1 = loader.loadModel('phase_11/models/lawbotHQ/LawbotCourtroom3.bam')
|
||
|
law1.reparentTo(render)
|
||
|
law1.setPos(-755,-223,330)
|
||
|
law1.setHpr(0,0,0)
|
||
|
law1.setScale(1)
|
||
|
paint46 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint46.reparentTo(render)
|
||
|
paint46.setPos(-780,-129,410)
|
||
|
paint46.setHpr(0,0,280)
|
||
|
paint46.setScale(2)
|
||
|
paint47 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint47.reparentTo(render)
|
||
|
paint47.setPos(-720,-150,425)
|
||
|
paint47.setHpr(0,0,0)
|
||
|
paint47.setScale(3,3,0.001)
|
||
|
paint47.setColor(3,0,0)
|
||
|
paint48 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint48.reparentTo(render)
|
||
|
paint48.setPos(-720,-240,420)
|
||
|
paint48.setHpr(0,0,90)
|
||
|
paint48.setScale(1,1,0.001)
|
||
|
paint48.setColor(0,3,0)
|
||
|
paint49 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint49.reparentTo(render)
|
||
|
paint49.setPos(-710,-240,415)
|
||
|
paint49.setHpr(0,0,0)
|
||
|
paint49.setScale(1,10,1)
|
||
|
ceo2 = Actor({"head":"phase_12/models/char/bossbotBoss-head-zero.bam", \
|
||
|
"torso":"phase_12/models/char/bossbotBoss-torso-zero.bam", \
|
||
|
"legs":"phase_9/models/char/bossCog-legs-zero.bam"}, \
|
||
|
{"head":{"walk":"phase_9/models/char/bossCog-head-Bb_neutral.bam", \
|
||
|
"run":"phase_9/models/char/bossCog-head-Bb_neutral.bam"}, \
|
||
|
"torso":{"walk":"phase_9/models/char/bossCog-torso-Bb_neutral.bam", \
|
||
|
"run":"phase_9/models/char/bossCog-torso-Bb_neutral.bam"}, \
|
||
|
"legs":{"walk":"phase_9/models/char/bossCog-legs-Bb_neutral.bam", \
|
||
|
"run":"phase_9/models/char/bossCog-legs-Bb_neutral.bam"} \
|
||
|
})
|
||
|
ceo2.attach("head", "torso", "joint34")
|
||
|
ceo2.attach("torso", "legs", "joint_legs")
|
||
|
ceo2.reparentTo(render)
|
||
|
tread3 = loader.loadModel("phase_9/models/char/bossCog-treads.bam")
|
||
|
rear4 = ceo2.find('**/joint_axle')
|
||
|
tread3.reparentTo(rear4)
|
||
|
ceo2.setPos(-760,-280,402)
|
||
|
ceo2.loop("walk")
|
||
|
ceo2.setHpr(180,0,0)
|
||
|
ceo2.setScale(2.5,2.5,2.5)
|
||
|
ceo2.setColor(3,0,0)
|
||
|
crate14 = loader.loadModel('phase_10/models/cogHQ/CBMetalCrate2.bam')
|
||
|
crate14.reparentTo(render)
|
||
|
crate14.setPos(-760,-330,400)
|
||
|
crate14.setHpr(0,0,0)
|
||
|
crate14.setScale(10,0.1,10)
|
||
|
law2 = loader.loadModel('phase_11/models/lawbotHQ/LB_DA_Lobby.bam')
|
||
|
law2.reparentTo(render)
|
||
|
law2.setPos(-760,-300,365)
|
||
|
law2.setHpr(180,0,0)
|
||
|
law2.setScale(1)
|
||
|
metal1 = loader.loadModel('phase_11/models/lawbotHQ/LB_metal_crate.bam')
|
||
|
metal1.reparentTo(render)
|
||
|
metal1.setPos(-855,-380,412)
|
||
|
metal1.setHpr(180,0,0)
|
||
|
metal1.setScale(3,3,2)
|
||
|
metal2 = loader.loadModel('phase_11/models/lawbotHQ/LB_metal_crate.bam')
|
||
|
metal2.reparentTo(render)
|
||
|
metal2.setPos(-897,-385,412)
|
||
|
metal2.setHpr(180,0,0)
|
||
|
metal2.setScale(3,1,2)
|
||
|
metal3 = loader.loadModel('phase_11/models/lawbotHQ/LB_metal_crate.bam')
|
||
|
metal3.reparentTo(render)
|
||
|
metal3.setPos(-939,-375,412)
|
||
|
metal3.setHpr(180,0,0)
|
||
|
metal3.setScale(3,5,2)
|
||
|
metal4 = loader.loadModel('phase_11/models/lawbotHQ/LB_metal_crate.bam')
|
||
|
metal4.reparentTo(render)
|
||
|
metal4.setPos(-855,-390,410)
|
||
|
metal4.setHpr(180,0,0)
|
||
|
metal4.setScale(3,1,2)
|
||
|
paint50 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint50.reparentTo(render)
|
||
|
paint50.setPos(-875,-380,430)
|
||
|
paint50.setHpr(0,280,0)
|
||
|
paint50.setScale(1)
|
||
|
paint50.setColor(3,0,3)
|
||
|
metal5 = loader.loadModel('phase_11/models/lawbotHQ/LB_metal_crate.bam')
|
||
|
metal5.reparentTo(render)
|
||
|
metal5.setPos(-916,-395,412)
|
||
|
metal5.setHpr(180,0,0)
|
||
|
metal5.setScale(7,2,2)
|
||
|
paint51 = loader.loadModel('phase_9/models/cogHQ/PaintMixer.bam')
|
||
|
paint51.reparentTo(render)
|
||
|
paint51.setPos(-950,-380,490)
|
||
|
paint51.setHpr(0,279,0)
|
||
|
paint51.setScale(1,10,1)
|
||
|
paint51.setColor(3,3,0)
|
||
|
boss1 = loader.loadModel('phase_12/models/bossbotHQ/CogGolfHub.bam')
|
||
|
boss1.reparentTo(render)
|
||
|
boss1.setPos(-1020,-550,550)
|
||
|
boss1.setHpr(180,0,0)
|
||
|
boss1.setScale(1)
|
||
|
|
||
|
else:
|
||
|
|
||
|
onScreenDebug.add('Loaded Land', argv[1])
|
||
|
|
||
|
localAvatar.physControls.placeOnFloor()
|
||
|
|
||
|
onScreenDebug.enabled = True
|
||
|
|
||
|
def updateOnScreenDebug(task):
|
||
|
|
||
|
onScreenDebug.add('Avatar Position', localAvatar.getPos())
|
||
|
onScreenDebug.add('Avatar Angle', localAvatar.getHpr())
|
||
|
|
||
|
return Task.cont
|
||
|
|
||
|
base.taskMgr.add(updateOnScreenDebug, 'UpdateOSD')
|
||
|
|
||
|
run()
|