def __init__(self): # Make a way out of here! base.accept("escape", exit) # Initiate the shadows self.sMgr = ShadowManager(render) self.sMgr.setAmbient(0.2) # Most of these five are the default self.sMgr.setHardness(20) # values so it was kinda unnecessary to self.sMgr.setFov(40) # set them explicitly but I wanted to self.sMgr.setNearFar(10, 100) # show how to set them anyway. # Create the 'table' self.table = loader.loadModel("tableplane.egg") self.table.reparentTo(render) tableTex = loader.loadTexture("tree-bark-89a.jpg") tableTex.setMinfilter(Texture.FTLinearMipmapLinear) # Enable texture mipmapping self.table.setTexture(tableTex) # Load the teapot self.teapot = loader.loadModel("teapot") self.teapot.setTwoSided(True) self.teapot.reparentTo(render) # The teapot has no texture, so you have to tell it to the ShadowManager # Otherwise the model will turn up black. self.sMgr.flagUntexturedObject(self.teapot) # Set intervals to move the teapot self.teapot.hprInterval(5.0, Vec3.zero(), Vec3(360, 0, 0)).loop() Sequence(self.teapot.posInterval(2.0, Point3.zero(), Point3(2, 0, 1)), self.teapot.posInterval(2.0, Point3(2, 0, 1), Point3.zero())).loop() # Setup the camera base.disableMouse() camPivot = render.attachNewNode("cameraPivotPoint") base.cam.reparentTo(camPivot) base.camLens.setNearFar(1,1000) base.camLens.setFov(75) base.cam.setPos(-10,-10,15) base.cam.lookAt(self.teapot) # Setup an interval to rotate the camera around camPivot camPivot.hprInterval(15.0, Vec3.zero(), Vec3(360, 0, 0)).loop() # Position the shadow camera self.sMgr.light.setPos(0,20,15) self.sMgr.light.lookAt(self.teapot) self.sMgr.light.node().showFrustum() # Show the frustrum
# File: p (Python 2.4) from pandac.PandaModules import Point3, VBase3 objectStruct = { 'Objects': { '1149705528.16Shochet': { 'Type': 'Region', 'Name': 'default', 'Objects': { '1149705583.09Shochet': { 'Type': 'Island', 'Name': 'Vegas', 'File': 'VegasIsland', 'Hpr': Point3(0.0, 0.0, 0.0), 'Pos': Point3(-410.0, 80.0, 0.0), 'Scale': VBase3(1.0, 1.0, 1.0), 'Visual': { 'Model': 'models/islands/bilgewater_zero' } }, '1170402213.06Shochet': { 'Type': 'Ship Spawn Node', 'Flagship': False, 'Hpr': Point3(0.0, 0.0, 0.0), 'Level': '3', 'Pos': Point3(-772.601, -1686.021, -0.0), 'Spawnables': 'Merchant', 'Team': '2', 'Visual': { 'Color': (0, 0, 0.65000000000000002, 1), 'Model': 'models/misc/smiley' } }, '1170402362.67Shochet': { 'Type': 'Ship Spawn Node',
# File: p (Python 2.4) from pandac.PandaModules import Point3, VBase3 objectStruct = { 'Objects': { '1161805542.95Shochet': { 'Type': 'Island', 'Name': 'ParlorIsland', 'Objects': { '1161805620.28Shochet': { 'Type': 'Building Exterior', 'File': 'ParlorInterior', 'ExtUid': '1161805620.28Shochet0', 'Hpr': Point3(0.0, 0.0, 0.0), 'Pos': Point3(1.347, 8.3520000000000003, 47.838000000000001), 'Scale': VBase3(1.0, 1.0, 1.0), 'Visual': { 'Name': '', 'Door': 'models/buildings/shanty_guildhall_door', 'Interior': 'models/buildings/interior_storage', 'Model': 'models/buildings/english_k' } } }, 'Visual': { 'Model': 'models/islands/pir_m_are_isl_cutthroat' } } }, 'Node Links': [], 'Layers': { }, 'ObjectIds': { '1161805542.95Shochet': '["Objects"]["1161805542.95Shochet"]', '1161805620.28Shochet': '["Objects"]["1161805542.95Shochet"]["Objects"]["1161805620.28Shochet"]', '1161805620.28Shochet0': '["Objects"]["1161805542.95Shochet"]["Objects"]["1161805620.28Shochet"]' } }
objectStruct = { 'AmbientColors': {}, 'DirectionalColors': {}, 'FogColors': {}, 'FogRanges': {}, 'Objects': { '1156268617.43dzlu0t': { 'Type': 'Building Interior', 'Name': '', 'Instanced': True, 'Objects': { '1172095480.47kmuller': { 'Type': 'Interior_furnishings', 'DisableCollision': False, 'Hpr': VBase3(-89.577, 0.0, 0.0), 'Pos': Point3(0.226, 6.857, -0.113), 'Scale': VBase3(1.0, 1.0, 1.0), 'Visual': { 'Model': 'models/props/shop_tatoo_bottles' } }, '1172095536.58kmuller': { 'Type': 'Interior_furnishings', 'DisableCollision': False, 'Hpr': Point3(0.0, 0.0, 0.0), 'Pos': Point3(33.403, 15.797, 2.83), 'Scale': VBase3(1.0, 1.0, 1.0), 'Visual': { 'Model': 'models/props/shop_tatoo_heater' } },
'Category': 'Cast', 'AnimSet': 'wt_sword', 'AuraFX': 'None', 'Boss': False, 'CustomModel': 'models/char/wt_2000', 'DNA': '1152830677.95jubutler', 'GhostColor': 'None', 'GhostFX': 0, 'Greeting Animation': '', 'Hpr': VBase3(130.429, 0.0, 0.0), 'Instanced World': 'None', 'Level': '37', 'Notice Animation 1': '', 'Notice Animation 2': '', 'Patrol Radius': 12, 'Pos': Point3(-22.707000000000001, 1.821, -0.014999999999999999), 'PoseAnim': '', 'PoseFrame': '', 'Private Status': 'All', 'PropFXLeft': 'None', 'PropFXRight': 'None', 'PropLeft': 'None', 'PropRight': 'None', 'Respawns': True, 'Scale': VBase3(1.0, 1.0, 1.0), 'Start State': 'Idle', 'StartFrame': '0', 'Team': 'Villager', 'TrailFX': 'None', 'TrailLeft': 'None', 'TrailRight': 'None',
# uncompyle6 version 3.2.0 # Python bytecode 2.4 (62061) # Decompiled from: Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] # Embedded file name: pirates.leveleditor.worldData.GameAreaSandboxCaveA from pandac.PandaModules import Point3, VBase3 objectStruct = { 'Objects': { '1163554532.64sdnaik': { 'Type': 'Island Game Area', 'Name': 'GameAreaSandboxCaveA', 'Objects': { '1163718959.63sdnaik': { 'Type': 'Locator Node', 'Name': 'portal_interior_1', 'Hpr': VBase3(90.0, 0.0, 0.0), 'Pos': Point3(520.909, -421.176, 52.838), 'Scale': VBase3(1.0, 1.0, 1.0) }, '1163718959.64sdnaik': { 'Type': 'Locator Node', 'Name': 'portal_interior_2', 'Hpr': VBase3(-90.0, 0.0, 0.0), 'Pos': Point3(513.096, 103.973, 87.856), 'Scale': VBase3(1.0, 1.0, 1.0) }, '1163718959.66sdnaik': { 'Type': 'Locator Node', 'Name': 'portal_interior_3', 'Hpr': VBase3(1.188, -1.45, -0.338), 'Pos': Point3(105.468, -363.345, 0.358), 'Scale': VBase3(1.0, 1.0, 1.0)
def doDeathTrack(self): def removeDeathSuit(suit, deathSuit): if not deathSuit.isEmpty(): deathSuit.detachNode() suit.cleanupLoseActor() self.deathSuit.reparentTo(self.suit.getParent()) self.deathSuit.setScale(self.suit.getScale()) self.deathSuit.setPos(render, self.suit.getPos(render)) self.deathSuit.setHpr(render, self.suit.getHpr(render)) self.suit.hide() self.collNodePath.reparentTo(self.deathSuit) gearPoint = Point3(0, 0, self.suit.height / 2.0 + 2.0) smallGears = BattleParticles.createParticleEffect( file='gearExplosionSmall') singleGear = BattleParticles.createParticleEffect('GearExplosion', numParticles=1) smallGearExplosion = BattleParticles.createParticleEffect( 'GearExplosion', numParticles=10) bigGearExplosion = BattleParticles.createParticleEffect( 'BigGearExplosion', numParticles=30) smallGears.setPos(gearPoint) singleGear.setPos(gearPoint) smallGearExplosion.setPos(gearPoint) bigGearExplosion.setPos(gearPoint) smallGears.setDepthWrite(False) singleGear.setDepthWrite(False) smallGearExplosion.setDepthWrite(False) bigGearExplosion.setDepthWrite(False) suitTrack = Sequence( Func(self.collNodePath.stash), ActorInterval(self.deathSuit, 'lose', startFrame=80, endFrame=140), Func(removeDeathSuit, self.suit, self.deathSuit, name='remove-death-suit')) explosionTrack = Sequence( Wait(1.5), MovieUtil.createKapowExplosionTrack(self.deathSuit, explosionPoint=gearPoint)) gears1Track = Sequence(ParticleInterval(smallGears, self.deathSuit, worldRelative=0, duration=4.3, cleanup=True), name='gears1Track') gears2MTrack = Track((0.0, explosionTrack), (0.7, ParticleInterval(singleGear, self.deathSuit, worldRelative=0, duration=5.7, cleanup=True)), (5.2, ParticleInterval(smallGearExplosion, self.deathSuit, worldRelative=0, duration=1.2, cleanup=True)), (5.4, ParticleInterval(bigGearExplosion, self.deathSuit, worldRelative=0, duration=1.0, cleanup=True)), name='gears2MTrack') def removeParticle(particle): if particle and hasattr(particle, 'renderParent'): particle.cleanup() del particle removeParticles = Sequence(Func(removeParticle, smallGears), Func(removeParticle, singleGear), Func(removeParticle, smallGearExplosion), Func(removeParticle, bigGearExplosion)) self.deathTrack = Sequence( Parallel(suitTrack, gears2MTrack, gears1Track, self._deathSoundIval), removeParticles) self.deathTrack.start()
def getEndPos(toon=toon): return render.getRelativePoint(toon, Point3(0, Globals.ThrowDistance, 0))
from pandac.PandaModules import Point3, VBase3 objectStruct = { 'Locator Links': [['1172185231.81sdnaik', '1172184979.25sdnaik', 'Bi-directional'], ['1172185231.81sdnaik0', '1172185213.67sdnaik', 'Bi-directional']], 'Objects': { '1172100047.36sdnaik': { 'Type': 'Island', 'Name': 'CaveDIsland', 'Objects': { '1172184979.25sdnaik': { 'Type': 'Locator Node', 'Name': 'portal_exterior_1', 'Hpr': VBase3(-26.414, 0.0, 0.0), 'Pos': Point3(189.211, -37.492, 26.379), 'Scale': VBase3(1.0, 1.0, 1.0) }, '1172184980.98sdnaik': { 'Type': 'Locator Node', 'Name': 'portal_exterior_2', 'Hpr': VBase3(-171.541, 0.0, 0.0), 'Pos': Point3(-65.091, -7.315, 26.715), 'Scale': VBase3(1.0, 1.0, 1.0) }, '1172184981.31sdnaik': { 'Type': 'Locator Node', 'Name': 'portal_exterior_1', 'Hpr': VBase3(-26.414, 0.0, 0.0), 'Pos': Point3(189.211, -37.492, 26.379), 'Scale': VBase3(1.0, 1.0, 1.0)
from pandac.PandaModules import Point3, VBase3, Vec4 objectStruct = { 'Objects': { '1155772882.54fxlara0': { 'Type': 'Building Interior', 'Name': '', 'Instanced': False, 'Objects': { '1166143524.85kmuller': { 'Type': 'Light_Fixtures', 'Hpr': VBase3(90.150000000000006, 0.0, 0.0), 'Pos': Point3(19.547999999999998, 6.8929999999999998, 6.8659999999999997), 'Scale': VBase3(1.0, 1.0, 1.0), 'Visual': { 'Model': 'models/props/sconce_govs' } }, '1166143586.68kmuller': { 'Type': 'Light_Fixtures', 'Hpr': VBase3(90.150000000000006, 0.0, 0.0), 'Pos': Point3(19.353000000000002, -7.7939999999999996, 7.0860000000000003), 'Scale':
# File: p (Python 2.4) from pandac.PandaModules import Point3, VBase3, Vec4, Vec3 objectStruct = { 'Objects': { '1264623798.84caoconno': { 'Type': 'Island', 'Name': 'default', 'Environment': 'OpenSky', 'Minimap': False, 'Objects': {}, 'Undockable': False, 'Visibility': 'Grid', 'Visual': { 'Model': 'models/islands/pir_m_are_isl_mysterious_05' } } }, 'Layers': {}, 'ObjectIds': { '1264623798.84caoconno': '["Objects"]["1264623798.84caoconno"]' } } extraInfo = { 'camPos': Point3(-1059.51, -121.79600000000001, 99609.5), 'camHpr': VBase3(0, -90, 0), 'focalLength': 1.39951908588, 'skyState': 2, 'fog': 0 }
import math from pandac.PandaModules import Point3 from toontown.toonbase import ToontownGlobals InputTimeout = 15 TireMovieTimeout = 120 MinWall = (-20.0, -15.0) MaxWall = (20.0, 15.0) TireRadius = 1.5 WallMargin = 1 + TireRadius StartingPositions = (Point3(MinWall[0] + WallMargin, MinWall[1] + WallMargin, TireRadius), Point3(MaxWall[0] - WallMargin, MaxWall[1] - WallMargin, TireRadius), Point3(MinWall[0] + WallMargin, MaxWall[1] - WallMargin, TireRadius), Point3(MaxWall[0] - WallMargin, MinWall[1] + WallMargin, TireRadius)) NumMatches = 3 NumRounds = 2 PointsDeadCenter = {0: 5, 1: 5, 2: 5, 3: 4, 4: 3} PointsInCorner = 1 FarthestLength = math.sqrt((MaxWall[0] - TireRadius) * (MaxWall[0] - TireRadius) + (MaxWall[1] - TireRadius) * (MaxWall[1] - TireRadius)) BonusPointsForPlace = (3, 2, 1, 0) ExpandFeetPerSec = 5 ScoreCountUpRate = 0.15 ShowScoresDuration = 4.0 NumTreasures = {
from pandac.PandaModules import Point3, VBase3, Vec4, Vec3 objectStruct = { 'Objects': { '1276101352.0caoconno': { 'Type': 'Building Interior', 'Name': '', 'Objects': { '1276101582.69caoconno': { 'Type': 'Barrel', 'DisableCollision': False, 'Holiday': '', 'Hpr': Point3(0.0, 0.0, 0.0), 'Pos': Point3(4.95, 10.08, -0.0), 'Scale': Point3(1.0, 1.0, 1.0), 'VisSize': '', 'Visual': { 'Model': 'models/props/pir_m_prp_cnt_barrelB_destroyed' } } } } }, 'Node Links': [], 'Layers': {}, 'ObjectIds': { '1276101352.0caoconno': '["Objects"]["1276101352.0caoconno"]', '1276101582.69caoconno': '["Objects"]["1276101352.0caoconno"]["Objects"]["1276101582.69caoconno"]' } }
def getDropIval(self, x, y, dropObjName, generation, num): objType = PartyGlobals.Name2DropObjectType[dropObjName] id = ( generation, num) dropNode = hidden.attachNewNode('catchDropNode%s' % (id,)) dropNode.setPos(x, y, 0) shadow = self.dropShadow.copyTo(dropNode) shadow.setZ(PartyGlobals.CatchDropShadowHeight) shadow.setColor(1, 1, 1, 1) object = self.getObjModel(dropObjName) object.reparentTo(hidden) if dropObjName in ['watermelon', 'anvil']: objH = object.getH() absDelta = {'watermelon': 12,'anvil': 15}[dropObjName] delta = (self.randomNumGen.random() * 2.0 - 1.0) * absDelta newH = objH + delta else: newH = self.randomNumGen.random() * 360.0 object.setH(newH) sphereName = 'FallObj%s' % (id,) radius = self.ObjRadius if objType.good: radius *= lerp(1.0, 1.3, 0.5) collSphere = CollisionSphere(0, 0, 0, radius) collSphere.setTangible(0) collNode = CollisionNode(sphereName) collNode.setCollideMask(PartyGlobals.CatchActivityBitmask) collNode.addSolid(collSphere) collNodePath = object.attachNewNode(collNode) collNodePath.hide() if self.ShowObjSpheres: collNodePath.show() catchEventName = 'ltCatch' + sphereName def eatCollEntry(forward, collEntry): forward() self.accept(catchEventName, Functor(eatCollEntry, Functor(self.__handleCatch, id[0], id[1]))) def cleanup(self=self, dropNode=dropNode, id=id, event=catchEventName): self.ignore(event) dropNode.removeNode() duration = objType.fallDuration onscreenDuration = objType.onscreenDuration targetShadowScale = 0.3 if self.trickShadows: intermedScale = targetShadowScale * (self.OffscreenTime / self.BaselineDropDuration) shadowScaleIval = Sequence(LerpScaleInterval(shadow, self.OffscreenTime, intermedScale, startScale=0)) shadowScaleIval.append(LerpScaleInterval(shadow, duration - self.OffscreenTime, targetShadowScale, startScale=intermedScale)) else: shadowScaleIval = LerpScaleInterval(shadow, duration, targetShadowScale, startScale=0) targetShadowAlpha = 0.4 shadowAlphaIval = LerpColorScaleInterval(shadow, self.OffscreenTime, Point4(1, 1, 1, targetShadowAlpha), startColorScale=Point4(1, 1, 1, 0)) shadowIval = Parallel(shadowScaleIval, shadowAlphaIval) if self.useGravity: def setObjPos(t, objType=objType, object=object): z = objType.trajectory.calcZ(t) object.setZ(z) setObjPos(0) dropIval = LerpFunctionInterval(setObjPos, fromData=0, toData=onscreenDuration, duration=onscreenDuration) else: startPos = Point3(0, 0, self.MinOffscreenHeight) object.setPos(startPos) dropIval = LerpPosInterval(object, onscreenDuration, Point3(0, 0, 0), startPos=startPos, blendType='easeIn') ival = Sequence(Func(Functor(dropNode.reparentTo, self.root)), Parallel(Sequence(WaitInterval(self.OffscreenTime), Func(Functor(object.reparentTo, dropNode)), dropIval), shadowIval), Func(cleanup), name='drop%s' % (id,)) if objType == PartyGlobals.Name2DropObjectType['anvil']: ival.append(Func(self.playAnvil)) return ival
def pieHitsToon(self, toonId, timestamp, x, y, z): if toonId not in self.toonIds: return self.view.pieHitsToon(toonId, timestamp, Point3(x, y, z))
from pandac.PandaModules import Point3, VBase3, Vec4, Vec3 objectStruct = { 'Objects': { '1156268617.43dzlu0m': { 'Type': 'Building Interior', 'Name': '', 'Instanced': True, 'Objects': { '1178149803.79kmuller': { 'Type': 'Furniture', 'DisableCollision': False, 'Hpr': VBase3(-1.039, 0.0, 0.0), 'Pos': Point3(-1.554, -6.614, 0.0), 'Scale': VBase3(1.0, 1.0, 1.0), 'Visual': { 'Model': 'models/props/counter_spanish' } }, '1178149855.14kmuller': { 'Type': 'Furniture', 'DisableCollision': True, 'Hpr': VBase3(179.961, 0.0, 0.0), 'Pos': Point3(-11.844, -22.594, 0.0), 'Scale': VBase3(1.0, 1.0, 1.0), 'Visual': { 'Model': 'models/props/cabinet_spanish' } }, '1178149893.21kmuller': { 'Type': 'Furniture', 'DisableCollision': True,
def generate(self): DistributedObject.DistributedObject.generate(self) loader = self.cr.playGame.hood.loader partyGate = loader.geom.find('**/partyGate_grp') if partyGate.isEmpty(): self.notify.warning('Could not find partyGate_grp in loader.geom') return None self.clockFlat = partyGate.find('**/clock_flat') collSphere = CollisionSphere(0, 0, 0, 6.9000000000000004) collSphere.setTangible(1) self.partyGateSphere = CollisionNode('PartyGateSphere') self.partyGateSphere.addSolid(collSphere) self.partyGateCollNodePath = partyGate.find('**/partyGate_stepsLocator').attachNewNode(self.partyGateSphere) self._DistributedPartyGate__enableCollisions() self.toontownTimeGui = ServerTimeGui(partyGate, hourCallback = self.hourChange) self.toontownTimeGui.setPos(partyGate.find('**/clockText_locator').getPos() + Point3(0.0, 0.0, -0.20000000000000001)) self.toontownTimeGui.setHpr(partyGate.find('**/clockText_locator').getHpr()) self.toontownTimeGui.setScale(12.0, 1.0, 26.0) self.toontownTimeGui.amLabel.setPos(-0.035000000000000003, 0, -0.032000000000000001) self.toontownTimeGui.amLabel.setScale(0.5) self.toontownTimeGui.updateTime() self.setupSignText()
def checkCollision(self, mousePosition): sld = Point3(mousePosition.getX(), 0.0, mousePosition.getY()) - self.getPos(render2d) return self.getCurrentOrNextState() == 'Idle' and sld.length( ) < self.config.barnacleRadius * self.getScale().getX()
def showWaterCooler(): wc = self._maze.getWaterCoolers()[0] self._setCamTarget(wc, 25, angle=Point3(-30, 60, 0)) camera.wrtReparentTo(self._camHelperNode) self._state = 3
from pandac.PandaModules import Point3, VBase3, Vec4, Vec3 objectStruct = {'Locator Links': [['1183049600.0sdnaik1', '1183049856.0sdnaik1', 'Bi-directional'], ['1183051648.0sdnaik0', '1183049600.0sdnaik2', 'Bi-directional'], ['1183051648.0sdnaik1', '1172209955.28naik', 'Bi-directional'], ['1172209955.33naik', '1183049856.0sdnaik0', 'Bi-directional']],'Objects': {'1173382404.64sdnaik': {'Type': 'Island','Name': 'CutthroatIsland','File': '','AdditionalData': ['WildIslandF'],'Environment': 'OpenSky','Footstep Sound': 'Sand','Minimap': False,'Objects': {'1167857698.16naiksd': {'Type': 'Island Game Area','File': 'cutthroat_area_jungle_b_1','Hpr': Point3(0.0, 0.0, 0.0),'Objects': {'1172209955.28naik': {'Type': 'Locator Node','Name': 'portal_interior_1','GridPos': Point3(212.316, 894.509, 192.784),'Hpr': VBase3(-90.0, 0.0, 0.0),'Pos': Point3(498.114, 427.808, 45.336),'Scale': VBase3(1.0, 1.0, 1.0)},'1172209955.33naik': {'Type': 'Locator Node','Name': 'portal_interior_2','GridPos': Point3(-604.757, -99.067, 148.123),'Hpr': VBase3(124.91, 0.0, 0.0),'Pos': Point3(-318.959, -565.768, 0.675),'Scale': VBase3(1.0, 1.0, 1.0)}},'Pos': Point3(121.438, 1481.436, 732.892),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/jungles/jungle_b_zero'}},'1173382588.95sdnaik': {'Type': 'Player Spawn Node','Hpr': Point3(0.0, 0.0, 0.0),'Index': -1,'Pos': Point3(302.77, -333.526, 19.824),'Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'All','VisSize': '','Visual': {'Color': (0.5, 0.5, 0.5, 1),'Model': 'models/misc/smiley'}},'1173382595.06sdnaik': {'Type': 'Player Spawn Node','Hpr': Point3(0.0, 0.0, 0.0),'Index': -1,'Pos': Point3(555.703, -223.645, 17.764),'Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'All','Visual': {'Color': (0.5, 0.5, 0.5, 1),'Model': 'models/misc/smiley'}},'1173382600.36sdnaik': {'Type': 'Player Spawn Node','Hpr': VBase3(0.0, 0.0, 0.0),'Index': -1,'Pos': Point3(508.786, 94.186, 19.574),'Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'All','VisSize': '','Visual': {'Color': (0.5, 0.5, 0.5, 1),'Model': 'models/misc/smiley'}},'1173382757.63sdnaik': {'Type': 'Port Collision Sphere','Name': 'CutthroatPort','Hpr': VBase3(0.0, 0.0, 0.0),'Pos': Point3(408.712, -138.051, 25.422),'Scale': VBase3(1342.41, 1342.41, 1342.41),'VisSize': '','Visual': {'Color': (0.5, 0.5, 1.0, 0.2),'Model': 'models/misc/smiley'}},'1179772307.6Aholdun': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': Point3(0.0, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(141.464, -285.756, 26.033),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Skel T5','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1179772341.21Aholdun': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': Point3(0.0, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(520.006, -162.729, 24.234),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Skel T5','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1179772411.83Aholdun': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': Point3(0.0, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(282.69, 251.085, 18.094),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Skel T5','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1179772435.88Aholdun': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': Point3(0.0, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(349.456, 151.528, 26.967),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Skel T5','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1179772489.58Aholdun': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': Point3(0.0, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(586.349, -19.46, 14.463),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Skel T5','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1179772572.96Aholdun': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': Point3(0.0, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(137.144, -406.051, 19.588),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Skel T5','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1179772829.02Aholdun': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-152.648, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(356.084, -156.244, 25.554),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1179772887.38Aholdun': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': Point3(0.0, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(131.078, 341.377, 8.018),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Skel T5','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1179772927.65Aholdun': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': Point3(0.0, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(442.282, 220.633, 17.849),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Skel T5','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1179773161.52Aholdun': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': Point3(0.0, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(108.657, 265.75, 22.717),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Skel T5','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1179773647.63Aholdun': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': Point3(0.0, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(27.336, -467.396, 12.489),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Skel T5','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1183049600.0sdnaik1': {'Type': 'Locator Node','Name': 'portal_exterior_1','Hpr': VBase3(-87.524, 0.0, 0.0),'Pos': Point3(108.462, -257.862, 26.292),'Scale': VBase3(1.0, 1.0, 1.0)},'1183049600.0sdnaik2': {'Type': 'Locator Node','Name': 'portal_exterior_2','Hpr': VBase3(60.699, 0.0, 0.0),'Pos': Point3(134.306, 219.8, 25.891),'Scale': VBase3(1.0, 1.0, 1.0)},'1183049856.0sdnaik': {'Type': 'Connector Tunnel','File': '','Hpr': Point3(0.0, 0.0, 0.0),'Objects': {'1183049856.0sdnaik0': {'Type': 'Locator Node','Name': 'portal_connector_1','Hpr': VBase3(-90.189, 0.0, 0.0),'Pos': Point3(0.0, 0.0, 0.0),'Scale': VBase3(1.0, 1.0, 1.0)},'1183049856.0sdnaik1': {'Type': 'Locator Node','Name': 'portal_connector_2','Hpr': VBase3(88.723, 0.0, 0.0),'Pos': Point3(-94.898, 150.0, 0.0),'Scale': VBase3(1.0, 1.0, 1.0)}},'Pos': Point3(197.383, 570.134, 863.723),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/tunnels/tunnel_jungle'}},'1183051648.0sdnaik': {'Type': 'Connector Tunnel','File': '','Hpr': Point3(0.0, 0.0, 0.0),'Objects': {'1183051648.0sdnaik0': {'Type': 'Locator Node','Name': 'portal_connector_1','Hpr': VBase3(-90.189, 0.0, 0.0),'Pos': Point3(0.0, 0.0, 0.0),'Scale': VBase3(1.0, 1.0, 1.0)},'1183051648.0sdnaik1': {'Type': 'Locator Node','Name': 'portal_connector_2','GridPos': Point3(-635.127, 73.53, 596.288),'Hpr': VBase3(88.723, 0.0, 0.0),'Pos': Point3(-94.898, 150.0, 0.0),'Scale': VBase3(1.0, 1.0, 1.0)}},'Pos': Point3(-540.229, -1138.326, 596.288),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/tunnels/tunnel_jungle'}},'1184952704.0dxschafe': {'Type': 'Dinghy','Aggro Radius': 20,'Hpr': VBase3(-92.982, -16.41, -7.526),'Location': 'Water','Pos': Point3(526.319, 163.551, 3.645),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/shipparts/dingy-geometry_High'}},'1184952832.0dxschafe': {'Type': 'Dinghy','Aggro Radius': 20,'Hpr': VBase3(-129.93, -4.755, 0.083),'Location': 'Water','Pos': Point3(349.413, -408.512, 0.789),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/shipparts/dingy-geometry_High'}},'1184952832.0dxschafe0': {'Type': 'Player Spawn Node','Hpr': Point3(0.0, 0.0, 0.0),'Index': 1,'Pos': Point3(216.114, -438.451, 7.347),'Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'All','Visual': {'Color': (0.5, 0.5, 0.5, 1),'Model': 'models/misc/smiley'}},'1184952960.0dxschafe': {'Type': 'Player Spawn Node','Hpr': VBase3(0.0, 0.0, 0.0),'Index': 1,'Pos': Point3(229.024, 314.6, 6.553),'Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'All','VisSize': '','Visual': {'Color': (0.5, 0.5, 0.5, 1),'Model': 'models/misc/smiley'}},'1184952960.0dxschafe0': {'Type': 'Player Spawn Node','Hpr': Point3(0.0, 0.0, 0.0),'Index': 1,'Pos': Point3(596.841, -111.102, 16.457),'Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'All','Visual': {'Color': (0.5, 0.5, 0.5, 1),'Model': 'models/misc/smiley'}},'1185929966.38kmuller': {'Type': 'Collision Barrier','DisableCollision': False,'Hpr': VBase3(98.169, 0.0, 0.0),'Pos': Point3(252.345, 173.723, 25.304),'Scale': VBase3(1.0, 1.0, 3.85),'Visual': {'Model': 'models/misc/pir_m_prp_lev_cambarrier_plane'}},'1197496979.91kmuller': {'Type': 'Bush','DisableCollision': True,'Hpr': Point3(0.0, 0.0, 0.0),'Pos': Point3(164.318, 223.879, 25.27),'Scale': VBase3(0.82, 0.82, 0.82),'Visual': {'Model': 'models/vegetation/bush_a'}},'1197497002.27kmuller': {'Type': 'Bush','DisableCollision': True,'Hpr': VBase3(-135.249, 0.0, 0.0),'Pos': Point3(182.471, 210.247, 25.251),'Scale': VBase3(1.144, 1.144, 1.144),'Visual': {'Model': 'models/vegetation/bush_d'}},'1197497036.02kmuller': {'Type': 'Bush','DisableCollision': True,'Hpr': VBase3(114.275, 0.0, 0.0),'Pos': Point3(177.581, 224.309, 24.694),'Scale': VBase3(1.132, 1.132, 1.132),'Visual': {'Model': 'models/vegetation/bush_b'}},'1197497098.91kmuller': {'Type': 'Collision Barrier','DisableCollision': False,'Hpr': VBase3(-143.801, 0.0, 0.0),'Pos': Point3(161.503, 226.845, 23.318),'Scale': VBase3(1.618, 2.913, 2.913),'Visual': {'Model': 'models/misc/pir_m_prp_lev_cambarrier_plane'}},'1197497130.85kmuller': {'Type': 'Collision Barrier','DisableCollision': False,'Hpr': VBase3(156.596, 0.0, 0.0),'Pos': Point3(174.085, 228.707, 23.934),'Scale': VBase3(1.433, 1.433, 2.68),'Visual': {'Model': 'models/misc/pir_m_prp_lev_cambarrier_plane'}},'1197497199.15kmuller': {'Type': 'Collision Barrier','DisableCollision': False,'Hpr': VBase3(113.63, 0.0, 0.0),'Pos': Point3(182.547, 221.033, 23.712),'Scale': VBase3(1.139, 1.139, 2.938),'Visual': {'Model': 'models/misc/pir_m_prp_lev_cambarrier_plane'}},'1210031104.0WDIG1': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(134.704, 0.0, 0.0),'Pos': Point3(-132.742, -397.938, 16.439),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/crypt1'}},'1210031488.0WDIG': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(-66.075, 0.0, 0.0),'Pos': Point3(-122.631, -421.743, 14.929),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/crypt2'}},'1210031488.0WDIG0': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(-53.679, 0.0, 0.0),'Pos': Point3(-107.476, -400.002, 18.097),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_a'}},'1210031488.0WDIG1': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(-53.232, 0.0, 0.0),'Pos': Point3(-95.818, -389.573, 19.427),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_b'}},'1210031488.0WDIG2': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(-50.686, 0.0, 0.0),'Pos': Point3(-80.343, -377.488, 20.731),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_c'}},'1210031616.0WDIG': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(26.872, 0.0, 0.0),'Pos': Point3(-131.921, -310.323, 22.869),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/crypt1'}},'1210031616.0WDIG0': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(46.847, 0.0, 0.0),'Pos': Point3(-125.241, -366.247, 19.686),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_d'}},'1210031616.0WDIG1': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(46.081, 0.0, 0.0),'Pos': Point3(-150.003, -350.901, 18.788),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_c'}},'1210031616.0WDIG2': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(47.175, 0.0, 0.0),'Pos': Point3(-104.368, -345.209, 22.265),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_b'}},'1210031744.0WDIG': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(-107.262, 0.0, 0.0),'Pos': Point3(-58.424, -347.461, 23.556),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/crypt2'}},'1210031744.0WDIG0': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(40.444, 0.0, 0.0),'Pos': Point3(-151.023, -322.12, 20.14),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_a'}},'1210031872.0WDIG0': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-87.444, 0.0, 0.0),'Min Population': '3','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(-102.062, -368.634, 20.662),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1210032000.0WDIG': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-46.101, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(-172.17, -348.923, 15.391),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1210032000.0WDIG0': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-133.475, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(-33.681, -311.319, 25.365),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1210032000.0WDIG1': {'Type': 'Cemetary','DisableCollision': False,'Hpr': Point3(0.0, 0.0, 0.0),'Pos': Point3(-46.981, -286.815, 25.97),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_b'}},'1210032000.0WDIG2': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(42.579, 0.0, 0.0),'Pos': Point3(-4.362, -322.164, 25.385),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_a'}},'1210094976.0WDIG0': {'Type': 'Bush','DisableCollision': False,'Hpr': Point3(0.0, 0.0, 0.0),'Pos': Point3(-22.991, -393.297, 20.378),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/vegetation/bush_a'}},'1210094976.0WDIG1': {'Type': 'Bush','DisableCollision': False,'Hpr': Point3(0.0, 0.0, 0.0),'Pos': Point3(-3.739, -390.852, 21.278),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/vegetation/bush_b'}},'1210094976.0WDIG2': {'Type': 'Bush','DisableCollision': False,'Hpr': VBase3(29.222, 0.0, 0.0),'Pos': Point3(-9.279, -403.343, 19.907),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/vegetation/bush_c'}},'1210101888.0WDIG': {'Type': 'Cemetary','DisableCollision': False,'Hpr': Point3(0.0, 0.0, 0.0),'Pos': Point3(377.31, -206.977, 25.646),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_a'}},'1210101888.0WDIG0': {'Type': 'Cemetary','DisableCollision': False,'Hpr': Point3(0.0, 0.0, 0.0),'Pos': Point3(335.014, -225.464, 25.852),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_b'}},'1210101888.0WDIG1': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(7.863, 0.0, 0.0),'Pos': Point3(376.858, -256.91, 25.162),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_c'}},'1210101888.0WDIG2': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(179.786, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(377.018, -231.433, 25.66),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1210102016.0WDIG': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(119.684, 0.0, 0.0),'Pos': Point3(447.189, -77.14, 25.166),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/crypt1'}},'1210102016.0WDIG0': {'Type': 'Cemetary','DisableCollision': False,'Hpr': Point3(0.0, 0.0, 0.0),'Pos': Point3(471.073, -126.492, 25.157),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_d'}},'1210102016.0WDIG1': {'Type': 'Cemetary','DisableCollision': False,'Hpr': Point3(0.0, 0.0, 0.0),'Pos': Point3(485.63, -106.292, 25.012),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_c'}},'1210102016.0WDIG2': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(-61.957, 0.0, 0.0),'Pos': Point3(488.143, -68.807, 24.785),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_b'}},'1210102016.0WDIG3': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(-62.755, 0.0, 0.0),'Pos': Point3(455.074, -45.587, 25.083),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_a'}},'1210102016.0WDIG4': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-63.917, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(472.279, -79.378, 25.04),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1210102016.0WDIG5': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(152.572, 0.0, 0.0),'Pos': Point3(55.784, 290.612, 21.973),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/crypt1'}},'1210102016.0WDIG6': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(-71.435, 0.0, 0.0),'Pos': Point3(26.997, 307.604, 20.921),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/crypt2'}},'1210102144.0WDIG': {'Type': 'Cemetary','DisableCollision': False,'Hpr': VBase3(-40.324, 0.0, 0.0),'Pos': Point3(54.026, 327.423, 17.23),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_a'}},'1210102272.0WDIG': {'Type': 'Cemetary','DisableCollision': False,'Hpr': Point3(0.0, 0.0, 0.0),'Pos': Point3(84.709, 305.235, 18.721),'Scale': VBase3(1.0, 1.0, 1.0),'Visual': {'Model': 'models/props/pir_m_prp_cem_headstones_b'}},'1210102272.0WDIG0': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-52.43, 0.0, 0.0),'Min Population': '2','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(60.222, 309.815, 19.47),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1210103424.0WDIG': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-126.375, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(-137.153, -328.515, 21.441),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1210103424.0WDIG0': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-160.736, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(-5.592, -290.795, 26.252),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1210103424.0WDIG1': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-149.927, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(331.206, -245.79, 25.856),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1210103424.0WDIG2': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-57.263, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(437.757, -56.736, 25.184),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1210103424.0WDIG3': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-66.638, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(474.374, -124.583, 25.138),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1211502080.0WDIG': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-47.244, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(19.534, 333.32, 17.942),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1211502080.0WDIG0': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-159.636, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(279.218, -248.692, 26.174),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1211502080.0WDIG1': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-54.787, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(480.817, -37.37, 24.777),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1211502208.0WDIG': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-62.776, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(56.762, 344.071, 13.496),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1211502208.0WDIG0': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(-41.568, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(-78.293, -418.023, 17.508),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1211502208.0WDIG1': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': VBase3(167.143, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(413.493, -258.675, 24.835),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Spanish Undead Low','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1245364608.0jloehrle': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': Point3(0.0, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(309.481, 177.004, 26.538),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Skel T5','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1245364608.0jloehrle0': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': Point3(0.0, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(488.754, -334.447, 10.484),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Skel T5','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1245364608.0jloehrle1': {'Type': 'Spawn Node','AnimSet': 'default','AuraFX': 'None','Hpr': Point3(0.0, 0.0, 0.0),'Min Population': '1','Patrol Radius': '12.0000','Pause Chance': 100,'Pause Duration': 30,'Pos': Point3(83.06, -394.897, 21.891),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Scale': VBase3(1.0, 1.0, 1.0),'Spawnables': 'Skel T5','Start State': 'Patrol','StartFrame': '0','Team': 'default','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': '','Visual': {'Color': (0, 0, 0.65, 1),'Model': 'models/misc/smiley'},'spawnTimeBegin': 0.0,'spawnTimeEnd': 0.0},'1303260680.08jloehrle': {'Type': 'Skeleton','AnimSet': 'default','AuraFX': 'None','AvId': 3,'AvTrack': 7,'Boss': True,'DNA': '1303260680.08jloehrle','Hpr': Point3(0.0, 0.0, 0.0),'Patrol Radius': '12.0000','Pos': Point3(445.378, 50.617, 25.555),'PoseAnim': '','PoseFrame': '','PropFXLeft': 'None','PropFXRight': 'None','PropLeft': 'None','PropRight': 'None','Respawns': True,'Scale': VBase3(1.0, 1.0, 1.0),'Start State': 'Idle','StartFrame': '0','Team': '1','TrailFX': 'None','TrailLeft': 'None','TrailRight': 'None','VisSize': ''}},'Undockable': False,'Visibility': 'Grid','Visual': {'Model': 'models/islands/pir_m_are_isl_cutthroat'}}},'Node Links': [],'Layers': {},'ObjectIds': {'1167857698.16naiksd': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1167857698.16naiksd"]','1172209955.28naik': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1167857698.16naiksd"]["Objects"]["1172209955.28naik"]','1172209955.33naik': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1167857698.16naiksd"]["Objects"]["1172209955.33naik"]','1173382404.64sdnaik': '["Objects"]["1173382404.64sdnaik"]','1173382588.95sdnaik': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1173382588.95sdnaik"]','1173382595.06sdnaik': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1173382595.06sdnaik"]','1173382600.36sdnaik': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1173382600.36sdnaik"]','1173382757.63sdnaik': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1173382757.63sdnaik"]','1179772307.6Aholdun': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1179772307.6Aholdun"]','1179772341.21Aholdun': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1179772341.21Aholdun"]','1179772411.83Aholdun': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1179772411.83Aholdun"]','1179772435.88Aholdun': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1179772435.88Aholdun"]','1179772489.58Aholdun': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1179772489.58Aholdun"]','1179772572.96Aholdun': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1179772572.96Aholdun"]','1179772829.02Aholdun': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1179772829.02Aholdun"]','1179772887.38Aholdun': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1179772887.38Aholdun"]','1179772927.65Aholdun': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1179772927.65Aholdun"]','1179773161.52Aholdun': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1179773161.52Aholdun"]','1179773647.63Aholdun': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1179773647.63Aholdun"]','1183049600.0sdnaik1': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1183049600.0sdnaik1"]','1183049600.0sdnaik2': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1183049600.0sdnaik2"]','1183049856.0sdnaik': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1183049856.0sdnaik"]','1183049856.0sdnaik0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1183049856.0sdnaik"]["Objects"]["1183049856.0sdnaik0"]','1183049856.0sdnaik1': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1183049856.0sdnaik"]["Objects"]["1183049856.0sdnaik1"]','1183051648.0sdnaik': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1183051648.0sdnaik"]','1183051648.0sdnaik0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1183051648.0sdnaik"]["Objects"]["1183051648.0sdnaik0"]','1183051648.0sdnaik1': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1183051648.0sdnaik"]["Objects"]["1183051648.0sdnaik1"]','1184952704.0dxschafe': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1184952704.0dxschafe"]','1184952832.0dxschafe': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1184952832.0dxschafe"]','1184952832.0dxschafe0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1184952832.0dxschafe0"]','1184952960.0dxschafe': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1184952960.0dxschafe"]','1184952960.0dxschafe0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1184952960.0dxschafe0"]','1185929966.38kmuller': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1185929966.38kmuller"]','1197496979.91kmuller': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1197496979.91kmuller"]','1197497002.27kmuller': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1197497002.27kmuller"]','1197497036.02kmuller': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1197497036.02kmuller"]','1197497098.91kmuller': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1197497098.91kmuller"]','1197497130.85kmuller': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1197497130.85kmuller"]','1197497199.15kmuller': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1197497199.15kmuller"]','1210031104.0WDIG1': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210031104.0WDIG1"]','1210031488.0WDIG': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210031488.0WDIG"]','1210031488.0WDIG0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210031488.0WDIG0"]','1210031488.0WDIG1': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210031488.0WDIG1"]','1210031488.0WDIG2': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210031488.0WDIG2"]','1210031616.0WDIG': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210031616.0WDIG"]','1210031616.0WDIG0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210031616.0WDIG0"]','1210031616.0WDIG1': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210031616.0WDIG1"]','1210031616.0WDIG2': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210031616.0WDIG2"]','1210031744.0WDIG': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210031744.0WDIG"]','1210031744.0WDIG0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210031744.0WDIG0"]','1210031872.0WDIG0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210031872.0WDIG0"]','1210032000.0WDIG': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210032000.0WDIG"]','1210032000.0WDIG0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210032000.0WDIG0"]','1210032000.0WDIG1': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210032000.0WDIG1"]','1210032000.0WDIG2': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210032000.0WDIG2"]','1210094976.0WDIG0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210094976.0WDIG0"]','1210094976.0WDIG1': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210094976.0WDIG1"]','1210094976.0WDIG2': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210094976.0WDIG2"]','1210101888.0WDIG': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210101888.0WDIG"]','1210101888.0WDIG0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210101888.0WDIG0"]','1210101888.0WDIG1': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210101888.0WDIG1"]','1210101888.0WDIG2': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210101888.0WDIG2"]','1210102016.0WDIG': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210102016.0WDIG"]','1210102016.0WDIG0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210102016.0WDIG0"]','1210102016.0WDIG1': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210102016.0WDIG1"]','1210102016.0WDIG2': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210102016.0WDIG2"]','1210102016.0WDIG3': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210102016.0WDIG3"]','1210102016.0WDIG4': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210102016.0WDIG4"]','1210102016.0WDIG5': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210102016.0WDIG5"]','1210102016.0WDIG6': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210102016.0WDIG6"]','1210102144.0WDIG': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210102144.0WDIG"]','1210102272.0WDIG': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210102272.0WDIG"]','1210102272.0WDIG0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210102272.0WDIG0"]','1210103424.0WDIG': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210103424.0WDIG"]','1210103424.0WDIG0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210103424.0WDIG0"]','1210103424.0WDIG1': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210103424.0WDIG1"]','1210103424.0WDIG2': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210103424.0WDIG2"]','1210103424.0WDIG3': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1210103424.0WDIG3"]','1211502080.0WDIG': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1211502080.0WDIG"]','1211502080.0WDIG0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1211502080.0WDIG0"]','1211502080.0WDIG1': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1211502080.0WDIG1"]','1211502208.0WDIG': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1211502208.0WDIG"]','1211502208.0WDIG0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1211502208.0WDIG0"]','1211502208.0WDIG1': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1211502208.0WDIG1"]','1245364608.0jloehrle': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1245364608.0jloehrle"]','1245364608.0jloehrle0': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1245364608.0jloehrle0"]','1245364608.0jloehrle1': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1245364608.0jloehrle1"]','1303260680.08jloehrle': '["Objects"]["1173382404.64sdnaik"]["Objects"]["1303260680.08jloehrle"]'}} extraInfo = {'camPos': Point3(477.172, 63.8486, 51.6821),'camHpr': VBase3(95.1049, -37.5414, 0),'focalLength': 1.39999997616,'skyState': 2,'fog': 0}
def load(self): CogdoGameMovie.load(self) self.toonDNA = ToonDNA.ToonDNA() self.toonDNA.newToonFromProperties('dss', 'ss', 'm', 'm', 2, 0, 2, 2, 1, 8, 1, 8, 1, 14) self.toonHead = Toon.Toon() self.toonHead.setDNA(self.toonDNA) self.makeSuit('sc') self.toonHead.getGeomNode().setDepthWrite(1) self.toonHead.getGeomNode().setDepthTest(1) self.toonHead.loop('neutral') self.toonHead.setPosHprScale(-0.73, 0, -1.27, 180, 0, 0, 0.18, 0.18, 0.18) self.toonHead.reparentTo(hidden) self.toonHead.startBlink() self.cogHead = Suit.Suit() self.cogDNA = SuitDNA.SuitDNA() self.cogDNA.newSuit('ms') self.cogHead.setDNA(self.cogDNA) self.cogHead.getGeomNode().setDepthWrite(1) self.cogHead.getGeomNode().setDepthTest(1) self.cogHead.loop('neutral') self.cogHead.setPosHprScale(-0.73, 0, -1.46, 180, 0, 0, 0.14, 0.14, 0.14) self.cogHead.reparentTo(hidden) self.clipPlane = self.toonHead.attachNewNode(PlaneNode('clip')) self.clipPlane.node().setPlane(Plane(0, 0, 1, 0)) self.clipPlane.setPos(0, 0, 2.45) audioMgr = base.cogdoGameAudioMgr self._cogDialogueSfx = audioMgr.createSfx('cogDialogue') self._toonDialogueSfx = audioMgr.createSfx('toonDialogue') suitData = Globals.SuitData[Globals.SuitTypes.Boss] bossSuit = Suit.Suit() d = SuitDNA.SuitDNA() d.newSuit(suitData['dnaName']) bossSuit.setDNA(d) bossSuit.setScale(suitData['scale']) bossSuit.loop('neutral') bossSuit.reparentTo(render) bossSuit.setPos(self._exit, -5, -5, 0) bossSuit.lookAt(self._exit) self._suits.append(bossSuit) self._camHelperNode = NodePath('CamHelperNode') self._camHelperNode.reparentTo(render) dialogue = TTLocalizer.CogdoMazeIntroMovieDialogue introDuration = Globals.IntroDurationSeconds waitDuration = introDuration / len(dialogue) def start(): camera.wrtReparentTo(render) self._exit.open(animate=False) def showBoss(): self._setCamTarget(bossSuit, 20, offset=Point3(0, 0, 7), angle=Point3(0, 15, 0)) bossSuit.loop('victory') self._state = 1 def showExit(): self._setCamTarget(self._exit, 10, offset=Point3(0, 0, 0), angle=Point3(0, 60, 0)) self._exit.close() self._state = 2 showExitIval = Parallel( camera.posInterval(waitDuration * 0.5, (10, -25, 20), other=self._exit, blendType='easeInOut'), Sequence( Wait(waitDuration * 0.25), Func(bossSuit.play, 'effort'), camera.hprInterval(waitDuration * 0.25, (30, -30, 0), blendType='easeInOut'), Func(self._exit.close), Wait(waitDuration * 0.5))) def showWaterCooler(): wc = self._maze.getWaterCoolers()[0] self._setCamTarget(wc, 25, angle=Point3(-30, 60, 0)) camera.wrtReparentTo(self._camHelperNode) self._state = 3 def end(): self._stopUpdateTask() self._ival = Sequence( Func(start), Func(self.displayLine, 'toon', self._getRandomLine(dialogue[0])), showExitIval, Func(showWaterCooler), Func(self.displayLine, 'toon', self._getRandomLine(dialogue[1])), Wait(waitDuration), Func(showBoss), bossSuit.hprInterval(1.0, bossSuit.getHpr() + Point3(180, 0, 0), blendType='easeInOut'), Func(self.displayLine, 'toon', self._getRandomLine(dialogue[2])), Wait(waitDuration - 1.0), Func(end)) self._startUpdateTask()
from pandac.PandaModules import Point3, VBase3 objectStruct = { 'Locator Links': [['1170794752.0jubutler', '1170795136.0jubutler3', 'Bi-directional'], ['1170795136.0jubutler2', '1170793344.0jubutler0', 'Bi-directional']], 'Objects': { '1170792960.0jubutler0': { 'Type': 'Island', 'Name': 'pvp_deathmatchIsland1', 'File': '', 'Objects': { '1170793088.0jubutler': { 'Type': 'Island Game Area', 'File': 'pvp_deathmatchArea1_jungle_c', 'Hpr': Point3(0.0, 0.0, 0.0), 'Objects': { '1170793344.0jubutler0': { 'Type': 'Locator Node', 'Name': 'portal_interior_1', 'GridPos': Point3(-625.461, -34.917, 65.209), 'Hpr': VBase3(0.0, 0.0, 0.0), 'Pos': Point3(-648.274, -263.406, 69.975), 'Scale': VBase3(1.0, 1.0, 1.0) }, '1170793344.0jubutler1': { 'Type': 'Locator Node', 'Name': 'portal_interior_2', 'GridPos': Point3(327.492, -179.598, 110.539), 'Hpr': VBase3(107.903, 0.0, 0.0), 'Pos': Point3(304.679, -408.087, 115.305), 'Scale': VBase3(1.0, 1.0, 1.0)
'1233252736.0akelts12': { 'Type': 'Building Interior', 'Name': '', 'AdditionalData': ['interior_shanty_blacksmith'], 'Instanced': True, 'Objects': { '1157097816.67jasyeung': { 'Type': 'Townsperson', 'Category': 'Blacksmith', 'Aggro Radius': '12.0000', 'AnimSet': 'sweep', 'CustomModel': 'None', 'DNA': '1157097816.67jasyeung', 'Hpr': VBase3(-141.852, 0.0, 0.0), 'Patrol Radius': '12.0000', 'Pos': Point3(-9.669, 3.69, 0.09), 'PoseAnim': '', 'PoseFrame': '', 'Respawns': True, 'Scale': VBase3(1.0, 1.0, 1.0), 'Start State': 'Idle', 'StartFrame': '0', 'Team': 'Villager', 'TrailFX': 'None' }, '1213290464.43aapatel': { 'Type': 'Door Locator Node', 'Name': 'door_locator', 'Hpr': VBase3(0.0, 0.0, 0.0), 'Pos': Point3(0.047, -29.861, 0.067), 'Scale': VBase3(1.0, 1.0, 1.0)
# File: p (Python 2.4) from pandac.PandaModules import Point3, VBase3 objectStruct = { 'Objects': { '1180633600.0sdnaik': { 'Type': 'Region', 'Name': 'Intern Island', 'Objects': { '1180633600.0sdnaik0': { 'Type': 'Island', 'File': 'InternIsland', 'Hpr': Point3(0.0, 0.0, 0.0), 'Pos': Point3(0, 0, 0), 'Visual': { 'Model': 'models/islands/pir_m_are_isl_rumRunner' } } }, 'Visual': {} } }, 'Layers': {}, 'ObjectIds': { '1180633600.0sdnaik': '["Objects"]["1180633600.0sdnaik"]', '1180633600.0sdnaik0': '["Objects"]["1180633600.0sdnaik"]["Objects"]["1180633600.0sdnaik0"]' } }
Level.QuadsByDifficulty = {1: (2, 4, 5), 2: (1, 3, 7), 3: (6, 8)} Level.DifficultyOrder = { 2000: (1, 1, 1, 2, 1), 1000: (1, 1, 2, 2, 1), 5000: (1, 2, 1, 2, 2), 4000: (1, 2, 1, 2, 3, 2), 3000: (1, 2, 2, 3, 2, 3), 9000: (2, 3, 2, 3, 2, 3, 2) } Dev.WantTempLevel = True Dev.DevQuadsOrder = (1, 2, 3, 4, 5, 6, 7, 8) Level.AddSparkleToPowerups = False Level.AddParticlesToStreamers = False Level.IgnoreLaffPowerups = False Level.SpawnLaffPowerupsInNests = True Level.LaffPowerupNestOffset = Point3(0.0, 2.0, 3.0) Level.PlatformName = '*lightFixture' Level.GatherablesPathName = 'gatherables_path*' Level.GatherablesRingName = 'gatherables_ring_path*' Level.PropellerName = '*propeller_loc*' Level.PowerupType2Loc = { Level.GatherableTypes.LaffPowerup: 'laff_powerup_loc*', Level.GatherableTypes.InvulPowerup: 'invul_powerup_loc*' } Level.PowerupType2Model = { Level.GatherableTypes.LaffPowerup: 'legalEagleFeather', Level.GatherableTypes.InvulPowerup: 'redTapePickup' } Level.PowerupType2Node = { Level.GatherableTypes.LaffPowerup: 'feather', Level.GatherableTypes.InvulPowerup: 'redTape'
from pandac.PandaModules import Point3, VBase3 objectStruct = { 'Objects': { '1172185213.66sdnaik': { 'Type': 'Island Game Area', 'Name': 'CaveETemplate', 'Objects': { '1172185301.05sdnaik': { 'Type': 'Locator Node', 'Name': 'portal_interior_1', 'Hpr': VBase3(-145.119, -1.51, 0.556), 'Pos': Point3(295.633, 137.404, 2.838), 'Scale': VBase3(1.0, 1.0, 1.0) }, '1172185301.08sdnaik': { 'Type': 'Locator Node', 'Name': 'portal_interior_2', 'Hpr': VBase3(144.768, 0.624, -0.465), 'Pos': Point3(299.396, -583.528, 3.411), 'Scale': VBase3(1.0, 1.0, 1.0) } }, 'Visual': { 'Model': 'models/caves/cave_e_zero' } } }, 'Node Links': [], 'Layers': {}, 'ObjectIds': { '1172185213.66sdnaik':
from pandac.PandaModules import Point3 from pandac.PandaModules import Vec3 import copy from toontown.toonbase import TTLocalizer __mickeyPaths = { 'a': (Point3(17, -17, 4.025), ('b', 'e')), 'b': (Point3(17.5, 7.6, 4.025), ('c', 'e')), 'c': (Point3(85, 11.5, 4.025), ('d', )), 'd': (Point3(85, -13, 4.025), ('a', )), 'e': (Point3(-27.5, -5.25, 0.0), ('a', 'b', 'f')), 'f': (Point3(-106.15, -4.0, -2.5), ('e', 'g', 'h', 'i')), 'g': (Point3(-89.5, 93.5, 0.5), ('f', 'h')), 'h': (Point3(-139.95, 1.69, 0.5), ('f', 'g', 'i')), 'i': (Point3(-110.95, -68.57, 0.5), ('f', 'h')) } __mickeyWaypoints = (('a', 'e', 1, []), ('b', 'e', 1, []), ('e', 'f', 1, [ Point3(-76.87, -7.85, -1.85), Point3(-80.57, -4.0, -1.85) ]), ('f', 'g', 1, [Point3(-106.62, 28.65, -1.5)]), ('g', 'h', 1, [Point3(-128.38, 60.27, 0.5) ]), ('h', 'f', 1, []), ('h', 'i', 1, [Point3(-137.13, -42.79, 0.5)]), ('i', 'f', 1, [])) __minniePaths = { 'a': (Point3(53.334, 71.057, 6.525), ('b', 'r')), 'b': (Point3(127.756, 58.665, -11.75), ('a', 's', 'c')), 'c': (Point3(130.325, 15.174, -2.003), ('b', 'd')), 'd': (Point3(126.173, 7.057, 0.522), ('c', 'e')), 'e': (Point3(133.843, -6.618, 4.71), ('d', 'f', 'g', 'h')), 'f': (Point3(116.876, 1.119, 3.304), 'e'), 'g': (Point3(116.271, -41.568, 3.304), ('e', 'h')),
def InitCollision(self): # ray = CollisionRay(0, 0, 5, 0, 0, -1) self.HeroC = self.Hero.attachNewNode(CollisionNode('cnode')) self.HeroC.node().addSolid(ray) self.HeroC.show() self.HeroC.node().setIntoCollideMask(BitMask32.allOff()) self.HeroC.node().setFromCollideMask(BitMask32.bit(2)) plane1 = CollisionPolygon(Point3(-10, -10, 0.1), Point3(-2, -10, 0.1), Point3(-2, 10, 0.1), Point3(-10, 10, 0.1)) plane2 = CollisionPolygon(Point3(-2, -10, 0.1), Point3(1, -10, -0.9), Point3(1, 10, -0.9), Point3(-2, 10, 0.1)) plane3 = CollisionPolygon(Point3(1, -10, -0.9), Point3(5, -10, -0.9), Point3(5, 10, -0.9), Point3(1, 10, -0.9)) self.LevelCP = self.dummy.attachNewNode(CollisionNode('cnodeLevel')) self.LevelCP.node().addSolid(plane1) self.LevelCP.node().addSolid(plane2) self.LevelCP.node().addSolid(plane3) self.LevelCP.show() self.LevelCP.node().setIntoCollideMask(BitMask32.bit(2)) self.Handlernya = CollisionHandlerQueue() # self.HandlerCS = CollisionHandlerEvent() # self.HandlerCS.addInPattern('into-g') traverser.addCollider(self.HeroC, self.Handlernya) # traverser.addCollider(self.HeroCS,self.HandlerCS) traverser.traverse(render)
def getPointsFromTo(fromNode, toNode, paths): startPoint = Point3(getNodePos(fromNode, paths)) endPoint = Point3(getNodePos(toNode, paths)) return [startPoint] + getWayPoints(fromNode, toNode, paths) + [endPoint]
def Transform( self ): startVec = self.startVec axis = self.GetSelectedAxis() if axis is not None and axis.vector == CAMERA_VECTOR: endVec = self.getRelativeVector( self.rootNp, self.GetAxisPoint( axis ) - self.getPos() ) cross = startVec.cross( endVec ) direction = self.getRelativeVector( self.camera, Vec3(0, -1, 0) ).dot( cross ) sign = math.copysign( 1, direction ) # Get the rotation axis rotAxis = self.getRelativeVector( self.camera, Vec3(0, -1, 0) ) * sign else: if self.collEntry.getIntoNode() == self.initCollEntry.getIntoNode(): endVec = self.collEntry.getSurfaceNormal( self ) else: endVec = self.getRelativeVector( self.rootNp, self.GetAxisPoint( self.foobar ) - self.getPos() ) # If an axis is selected then constrain the vectors by projecting # them onto a plane whose normal is the axis vector if axis is not None: plane = Plane( axis.vector, Point3( 0 ) ) startVec = Vec3( plane.project( Point3( startVec ) ) ) endVec = Vec3( plane.project( Point3( endVec ) ) ) # Get the rotation axis rotAxis = endVec.cross( startVec ) * -1 # Return if the rotation vector is not valid, ie it does not have any # length if not rotAxis.length(): return # Normalize all vectors startVec.normalize() endVec.normalize() rotAxis.normalize() # Get the amount of degrees to rotate degs = startVec.angleDeg( endVec ) # Transform the gizmo if in local rotation mode newRotMat = Mat4().rotateMat( degs, rotAxis ) if self.local: self.setMat( newRotMat * self.getMat() ) # Transform all attached node paths for i, np in enumerate( self.attachedNps ): # Split the transform into scale, rotation and translation # matrices transMat, rotMat, scaleMat = commonUtils.GetTrsMatrices( np.getTransform() ) # Perform transforms in local or world space if self.local: np.setMat( scaleMat * newRotMat * rotMat * transMat ) else: self.initNpXforms[i].getQuat().extractToMatrix( rotMat ) np.setMat( scaleMat * rotMat * newRotMat * transMat )
def pieThrow(self, toonId, timestamp, h, x, y, z, power): if toonId not in self.toonIds: return if toonId != base.localAvatar.doId: self.view.pieThrow(toonId, timestamp, h, Point3(x, y, z), power)