*~@pq^6EjRpNone WinWidthWinTopWinLeft WinHeightbScaleToParentbBoundToParent PlayerOwner StyleNameCaptionButtonClicked__OnClick__DelegateCore BladeIN_V11System BroadcastEngine ItemCountConsoleCommandHandleKeyEventAdvancedEnginealog CloseMenuPlayerControllerDropShadowText OpenMenuKarma RemoveItem Lighting TextFontPostBeginPlay GetMapList CollisionForce Movement LightColor ParseOptionEndGameAddItem TabOrderbFocusOnWatch DOTZGameGUIClientOpenMenu MapMatches LoadClicked ServerTravel GetPawnList MultiTimer drawToHUD SelectedTextGiveDefaultInventory GetExtra DOTZMenu SendMapListLogin__OnKeyEvent__DelegateUpdateSpinnyDudeCancelClickedGetTextParseKillMessage FullTimeDateTimerInitComponent RefreshPRI DOTZEngineSayServerSetPawnClass RenderWeight LoadPawnsUser PageCaptionTopPage__OnChange__DelegateGlobalAnnouncementMouseEmulation GetIndexDEBUGOverridePlayerControllerClassbAcceptsInput PressFireTxtOpenedClosedWaitingForWaveTxtHandleCharacterSelectionbDelayedStartAdd DOTZMPFailedPlayerControllerClassNameHUDTypeLogoutBladeINGetLocalPlayerControllerBasePawnClassServerViewNextPlayerKilledTeamSayAdminKickKickBan ScoreKillNotifyLevelChange GetStringPossessMessage ClickSoundHandleBodySelection MaxWidthHandleHeadSelection bMultiLine CloseAll YesButton TriggerEvent NoButtonbVisibleWhenEmpty OpenSoundDecodeStringURL MapPrefix TeamScoreMat WaveComplete StartWave KillsMatRankMatPostNetReceiveSetPageCaptionperiod ErrorMessage InternalDrawMsgBox SetFocusBINCharSelect BladeCTF InternalTime BladeINHUDBladeDM PlayerList RestartMapSendMapListEntrySendPawnListEntryCaptionMessageFire bTeamGame SendPawnListStartStandalonePlayerclogAllowRessurectionNuke_All_PawnsDeathMessageClassbRestartLevelServerSetTextures GameNameMOTDSetNameAltFire SetPawnClassDisplayProgressMessage SetPause InitGameSwitchDeadServerReStartPlayer UnPossess ClientTravel TeamMessage PostLogin ScoreEventSetProgressMessagePostNetBeginPlayPlayTeleportEffectClientSetRotation CapitalizeReceiveLocalizedMessage CheckScore ChangeNameFindPlayerStartDivide PreventDeath EyePosition KillEventRestartPlayer NotifyKilled PreventSeverJoinScoreObjective AddCheats ModifyPlayer ReduceDamageSetProgressTimeSplit2PlayerChangedClassInitGameReplicationInfo InStrFrombAlphaTextureClearProgressMessagesCheckIPPolicyTrimUpdateSensitivityTempCloseTo debughudDrawGameStatsClientReceive PostRenderCanRestartPlayer TakeDamageClientMessageRTrimLTrim PickTeam CanSpectateAddDefaultInventoryPlayerCalcViewGetDefaultPlayerClassProcessServerTravelLoadProgressFontIsLowerIsUpper StrSubst StrReplace StrShiftGetActionablePriorityGetActionableMessage DrawType HUDTextColorMapList bStarting DisplayMsg LagAlertTxt PlayersOnly CloseButtonZombiesDefeatedTxt LastWaveTxtCloseButtonCapRestartButtonTSay RemoveMapRestartButtonCapAddMap EndMatchUnknownKillerMessageEndMatchButtonExec EndMatchCapLODSet DeathMessageZombieKillMessagesPlayersOnlyButtonPlayersOnlyCapProgressFontName KickButton TooManyBotsFormatUBitsVBitsZPlayerController ZDOTZMPSay TeamSayGUI MutJumpModDeathMessagesUSize AdminLogin BladeDMHUDSetSensitivityTemp ResetFOVUClampVClamp BladeCTFHUDKickButtonCap BINSpinnerBINPRI BINPauseMenu BanButton BINAdminMenu BINAdminPlayerReplicationInfoClassSuicideMessageShrinkWorldToScreen BanButtonCapBINAccessControl OtisName JackNameSwitchToButtonVSize OriginalBody Variant2Body Variant1Body OriginalHead Variant2Head Variant1HeadOtisBodyTexturesOtisHeadTextures OtisMeshJackBodyTexturesJackHeadTextures JackMeshSpinnyDudeOffsetBodyTypeValueHeadTypeValueCharacterTypeValueBodyTypeLabelHeadTypeLabelCharacterTypeLabel LoadButton SaveButton SaveMenuMenuOptionsButton OptionsMenuSwitchToButtonCapContinueButton Click_Next LoadMenuAddNextButtonRemoveMapButton QuitMenuRemoveMapButtonCap AddMapButtonAddBackButtonBoredWaveMatAddMapButtonCap TeamRankMat TeamKillsMat FlagDropMat FlagHeldMat FlagHomeMatBagMat ScoreMat NEW_WAVEWaveCompletedNewWave InputBox SetTeamFlags AdminButtonDeadSPCaptionDeadMPCaptionContinueButtonCapExclaim ClientPause ReadyToSay PauseMenuMP NotifyAddBotNotifyRemoveBotSomeoneStringRunF CrouchIdleAction UpdateTargetEndGameAnnouncement LevelStart spinRateCheckForActionableActorServerSetPitch StandIdleSetCustomTexturesWalkFEndSwayLoadButtonCapSaveButtonCap drawQuantityGetSmallFontRefSettingsButtonCapbPlayRandomAnims__OnDraw__Delegategesture_beckongesture_point gesture_haltLower QuitButton AnimNamesAnimChangeInterval PlayNextAnimQuitButtonCapVectorfind GetObjectColorBegin SetIndexHandleParameters AdminCapClientSetViewTarget AdminMenu DestroyedClientCloseMenu RegisterProgressFadeTimeTickSetText AdminCommand TeamIndex instigatedBy CurrentTimeParam2Param1IPScorePing PlayerNamePGRIWithReplacedistOptionalObject RelatedPRI_2 RelatedPRI_1LocEntry Momentum HitLocationDamage KillTypesenderOther BoneNameDeltaslotID ETravelTypeSkinsOwnerGUIControllerViewportOwner bVisible ConsoleBKLastURLIndexTextKeyGameSpecificLevelInfoClipXSizeXSizeYWaveMultiPlayerLevelInfoWaveSizeIncrementInitialWaveSizePerPlayerInPlayLimitModifierMinInPlayLimitMaxInPlayLimitInitialInPlayLimit PlayerStartsrcDefaultPlayerClass PawnClassHUDbMatchHasBegun Selected GoalScore MaxLivesTeamsHeadLine AdminName AdminEmail PlayerInput TextBufferObjectEnumPlayerReplicationInfoGameReplicationInfo Function MOTDLine1 GUIComponent GUIListBaseGUIList GUIComboBox GUIButton GUIListBoxGUIScrollBarBase GUILabelGUIFontGUIPage LevelSummary MOTDLine2State Controller MOTDLine3 MOTDLine4RotatorWinner PRIArray SpinnyWeapTitleMatchIDMutatorPRI DamageType TeamInfoStructNameprisNavigationPoint StrPropertyCarriedObjectStructPropertyDeathsbAdmin MyScrollBar bIsSpectatorbOnlySpectatorError bWelcomed bHasFlag GamertagKills bCancelled MyControllerMyOwnerCanvas NewAnimName NextAnimTimeRankingbFound cYesButton cNoButtonArrayProperty HudQuantityFont AdvancedPawn Interaction bGameEnded GameInfoBaseGUIController MapListType NumPlayers GameOverAdvancedWeapon BaseMutatorGameRulesModifiersM LevelInfoAdvancedGameInfoAdvancedPlayerControllerResultInOptbItemsInteractionMaster StartSpot TargetInfo MessageInfoSubtitleGuiFont InfoGuiFont BigGuiFontStandardGuiFont SmallGuiFont TinyGuiFont ActionRadiusAdvancedCheatClass NewPlayerMsgTypeAdvancedDeathMessage AdvancedHudAdvancedMPGameBaseCTFFlagiEnemyDiffLevel TimeLeftFontDYFontDXLevelbDisplayKillsscaleYscaleXBBGui HudCaption HeadTextures BodyTextures iBodyTexture iHeadTextureBodyap TeamType bClearScreen MyLifeBar MPMessageadvCheatManagerbDisablePawnHudobjActionableActorbCloseMenuPendingTempActionActorBestActionActor aPriorityweapTargetActorInfo revealTimecurrentInfoMsg BBEditBox BBComboBoxretShaderMyPRIDOTZPlayerControllerBaseDOTZPlayerController LineCountInClass InCharacterPawn bNameCheat myPRIIndexDOTZXAnnouncerDOTZXInterfaceDOTZTInterfaceaPlayer WaveSize screenPos DOTZTHumans JackSladeOtisBodyShaderCOtisBodyShaderBOtisJackSladeBodyShaderBJackSladeBodyShaderCOtisHeadShaderCOtisHeadShaderBJackSladeHeadShaderCJackSladeHeadShaderBOtisBodyShaderAOtisHeadShaderAJackSladeHeadShaderAJackSladeBodyShaderAHudIconBlueKillsHudIconBluePlayerRankHudIconBluePlayerScoreHudIconCTFTeamBlueFlagAtBaseHudIconCTFTeamBlueFlagDroppedHudIconCTFTeamBlueFlagStolenHudIconCTFTeamRedFlagAtBaseHudIconCTFTeamRedFlagDroppedHudIconCTFTeamRedFlagStolenHudIconINRedWavesHudIconRedKillsHudIconRedPlayerRankHudIconRedPlayerScoreHudIconTDMTeamBlueHudIconTDMTeamRedHudIconCTFPlayerHasBagHudIconNoTeamKillsHudIconNoTeamPlayerRank InvasionInvasionWaveComplete03InvasionNewWave01InvasionNewWave02InvasionNewWave03InvasionNewWave04InvasionWaveComplete01InvasionWaveComplete02HumanPawnBaseClassPropertyDelegateProperty MaterialTeamNumExitingKiller KilledPawnVictim KillerNameDOTZMPHudBaseDOTZMPGameBaseDOTZCaptureTheFlag VictimName ViewTargetinjuredbBadConnectionAlertbHideCenterMessages bNameChangeCurrentReasonScorer botToRemoveMesh TimeSecondsDOTZDeathMatchXDOTZCharacters NumWavesWaveRemaining WaveInPlay bFirstWave WAVE_TIMER WAVEDELAYANNOUNCE_DELAY bAllDead StatLocation StatSpace LeftMarginLeftMarginPlusTeamLeftMargin EnemyTeamNum BlueFlagMat RedFlagMatBagPosXBagPosY tempFlag LocalStat PlayerOtisYearActor NamePropertyMonthDayPlayerHourMinuteSecondNetConnectionPauserStyle bPlayersOnlyNetModeAuthorObjectPropertyGameControllerList CommandLinetmpInGameBackground bRealSpecbCentermyHUDClipYMapNum CurrentMapStr AimedPitchbCanDoubleJump TravelTypeAnchorProgressColorProgressMessage bBehindViewBestActionMessagepClassLastStartSpotLastStartTimeCameraLocationCameraRotationIdpick PasswordBox DOTZPage DOTZPageBaseDOTZInGamePagePreviousPawnClass DOTZMPSayTarget accept_inputbPasswordRequired SpinnyDude PlayerMeshCamPosCamRot HeadIndex BodyIndex bInitializedCharacterTypeLabel_lblCharacterTypeValue_lblHeadTypeLabel_lblHeadTypeValue_lblBodyTypeLabel_lblBodyTypeValue_lblQuitButton_btnErrorMessage_lblContinueButton_btnOptionsButton_btnGetMsgLoadButton_btnSaveButton_btnnextControllerbHeldFloatProperty AdminLogOpt BoolPropertybHome ViewActoriActionableRadiusURLHealth AirControlJumpZ AirSpeedProgressTimeOutGetPlayerNetworkAddressSetViewTargetMaps AdminClass NeedPasswordWrongPassword IPPolicies CloseLogOpenLog PawnList bDemoOwnerPitch SmallFontgc MOTDColorOptions IntProperty BytePropertymap2ML StartMap KilledNameConnectionLogInitialInPlayOverridePerPlayerOverride MaxWaveEnd MinWaveSize MaxInPlaybModerateWaveSizesbScaleDifficulty MaxRespawns RespawnDelaybDontEndLevel bGameDebug FinalWaveRESPAWN_TIMERHudCanvasScaleWeapon MakeColor SetDrawColordmsgSetPosDrawTextJustified AdminManagerSwitchMapTarget WAITFORPAWNADMINSWITCHMAPDrawTileScaledblahFileLog EngineExbAdminCanPausetopmenuSoundMyPawnGetCameraLocationshot currPriority tempdist ChatFontChatFont_PageATeambAllowedToSwitchTeamsAccessControl debughudd DisplaySign LocalMessage ChatMsgswibbleREMOVE_CHAT_TIMERSET_BSTARTING GameRules ObjectPoololdmsgRankregfontitmpDPlayerCXCYListGetNextIntDescdelim quotechar delimpos quoteposPlayOwnedSound bOnlyFirst SetTimerr0r1r2r3r4r5r6r7r8r9 IndexChar LinkMeshMapNameRotType DrawColorSelectStrTextStrPart OffsetStart OffsetPartConsoledivider leftpart rightpartfpartsDescLogf ignoreEmptybHidden thisPawnworldPositionCollisionHeightConstInputPackageClassOuterEventmsgLhFromtemp ScriptTextABCXYZWjiS Location Rotation Velocity ReturnValueAlphaDynamicLoadObject FindObjectMapPawnsTextureTag HomeBaseRoleCloseButton_btnRestartMapButton_btnEndMatchButton_btnPlayersOnlyButton_btnCaptionMessage_lblPlayerList_box MapList_boxKickButton_btnBanButton_btnSwitchToButton_btnRemoveMapButton_btnAddMapButton_btn BBInputBoxAdminButton_btnH @I * 8+)@NA W L H9:9:$9:9:$2 ;m8?JqJqJqPsK1JqJq@JqJq{JqJq Ic}r}rh}rV{iJqJqK8 JqK8 yJKOJqJq  " #!Ca, @@a V@@H d R } 9:9:$ Ђ6d!hFTL9L9L9ebL9ebebL9L9ebL9ebebJqJqJqK8 䶆JqK8 䶆JqK8 䶆JqK8 䶈?/C/C/C/C/CL9L9L9L9L9L9L9JqK8 JqPsK1JqK8 Jq@JqK8 Jq{L9eb䶚䶢b[2}rhbbh[2;&0[2;&0[2;&0AP?APJqJq\;b33AP*3IsL93Jq IcY3333333333  )K??JqsߊsߊJqK8 sߊsߊsߊsߊsߊ?APL9JqK8 JqK8 yJKOyJKOyJKOyJKO ;m8?JqK8 JqK8 yJKOyJKOyJKO ;m8JqK8 JqK8 yJKOyJKOyJKOyJKO?JqK8 ?JqK8 ?JqK8 Jq Ic? Ic? Ic?JqK8 ? Ic Ic? Ic IcJqK8 䶈? Ic?JqK8 ?JqK8 䶆JqK8 䶆JqK8 䶇 IcJqJqJq?JqK8 ??JqK8 ?JqK8 mmmJqJqJqJqJqJq A FT]BladeIN_V11.BINPauseMenuQ 2@jko[y@uA_ wM5AI64-dpp9Wv:w!Mwv z@Q@V MKc;Cr@b r@psN@<@S$~@iw@~ @F y O2 I0bJIإ}r Ic}r}r}r}r}rͫ@Jj}rͫ@Jj}rͫ@Jj}rͫ@Jjͫ@Jjͫ@Jj}rÚͫ@JjÚÚ}r Ic ;m8}r}r Ic ;m8ͫ@Jj ;m8}r Ic}r Ic6ͫ@Jj6?ͫ@Jjͫ@Jjͫ@Jj(԰ͫ@Jj"C};&0"C}"C}"C}"C}"C}"C}"C}"C}"C} 5* dS g]Close Admin MenuhT k] Restart MapoU q] End MatchuV v] Players OnlyKW GX _Y xZ J]KickN[ U]BanY\ t] Switch Toy] {= Remove Map|^ @] Add MapK_ i}$=s$L?80/@x@5}7g]M@|_@V\|<A-%7-)zx z\%{\dS\x|zd-~7-7-&7-&-d7-7-&7-&-d)7-  yJ@o Gm@F M@AX@~z @D ~ B2 [V{i<姈}r Ic Ic Icfdiȩ\Rȩȩ\RȩAP\RȩAP3\R\R3!hȩ!hȩȩ\R}rȩȩȩȩȩȩȩAPAPȩAPAPȩ Ic?\R}r Ic?!hȩȩȩȩȩȩȩȩȩ ;m8ȩȩȩȩȩȩ ;m8 ;m8ȩ ;m8L9 ;m8L9 ;m8APAPȩAPAPȩȩ 5* G]Customize Characterimk ll km jn io hp g:u*CHf]DOTZAHumans.JackSladeeYdYc]DOTZAHumans.OtisbYaY`]Camo_]Tattoo^]Normal]]Camo\]Bloody[]NormalX]JackW]Otisk'V8WVUB a M2 0XQ:,Iإ}r Ic Ic? IcJq}r}r Ic}r IcJq!h}r IcJq!h}r}r}r}r Ic"C} Ic IcJq"C}"C};&0"C} IcJq"C}"C}"C}"C} Ic? IcJq"C}"C}"C}"C}"C} 5* u` na ob rc pd Me Kf w]DOTZMenu.DOTZLoadMenuIGp]DOTZMenu.DOTZSaveMenus]DOTZMenu.DOTZSettingsMenuIGz]DOTZMenu.DOTZQuitGameConfirmG]They're coming for you...N] You have failed.O]OMGONOS! You're dead!P] Continuee] Load Gamef] Save Gamei] Settingst]Quit|= Admin Menu~]BladeIN_V11.BINAdminMenui}$=s$>$>$?$?8WXb@_R@cc@} q@m@f ^\@ofY@{9SR@w@\E@!XepVp@| Q C6{Y ?? Ic Ic? Ic Ic?<6<<><JqK8 JqK8 yJKOyJKOJqJq ) " #!]]XDOTZCharacters.HumanPawnBaseNTSUY]BladeIN_V11.BladeCTFHUDu]CTFV] Blade's CTFS\X]BladeIN_V11.ZPlayerControllerB@x r F6@hsߊsߊ?sߊsߊ?sߊJqK8 JqK8 yJKOyJKOJqJq ) " #!]]XDOTZCharacters.HumanPawnBaseNMUY]BladeIN_V11.BladeDMHUDu-DMV= Blade's DMS\X]BladeIN_V11.ZPlayerControlleraAEZFWf@E@i F@.@@u R [6pPsK1_L9sߊL9JqO`sߊ?Jqsߊsߊ? Ic?sߊsߊ?sߊsߊsߊsߊsߊ?sߊ?sߊyc1dsߊ6sߊsߊ?sߊsߊ?sߊsߊK8 sߊsߊsߊ?JqsߊsߊsߊsߊL9sߊJqsߊsߊsߊsߊL9sߊ?sߊ?sߊ?sߊJqK8 JqK8 yJKOyJKOJq6Jqsߊsߊsߊ?sߊ666JqsߊsߊsߊsߊL9sߊ?sߊ6> Ic? Ic IcY Ic? Ic? Ic Ic? Ic Ic? Ic? IcJqJqJqJqJqJqmmmJqJqsߊsߊ?sߊ?>sߊsߊsߊE_RsߊsߊJeJesߊsߊsߊsߊL9sߊL9sߊL9JqsߊsߊL9sߊsߊsߊsߊL9sߊL9sߊsߊL9sߊJesߊsߊZJq Icsߊsߊ66Jqc䍤Jqc䍤Jq ) " #!JY IYti)%o is done, like dinner... zombie dinnerZombies are eating %o's brain#%o has become one with the zombies%o bites the dust%o becomes fettucine al dead-o%o takes a nap at Zombie Inn"%o is in a really grave situation%o assumes room temperature%o now shops at Corpses-R-Us%o's liver has been donatedZombies eviscerated %o%o stops at the No Brain Hotel"Please kill %o .. oops, too late.&What does %o want on their tombstone?]]XDOTZCharacters.HumanPawnBaseNTSMUY]BladeIN_V11.BladeINHUDX]BladeIN_V11.ZPlayerController=@Le@@B d@G _@vKZ]O@Ez@@@UN@l} @ Kfdi\RJq * ^"jr$@qY~YacXnml]eL@uiM@G@y@Zh@S@IL@O D@Y@c@N@JtJ}t D E>`@ۛ#]pjpjpj333333pjpj33333333pjpj3333333 Ic?>3 Ic Ict@ Ic?t@? Ic?t@ IcL9t@t@ Ic Ic Ic33 Ict@?3333 IcJq Ic IcJq Ic Ic Ic Ic?66663333333 Ic Ic3 Ic33 Ic33 Ic Ic?33636336636336636336636336333333 Ic666666JqJq33pj3pjpjpj3333333333333pjpj Ic?3333333 Ic?>3 Ic Ic? Ic Ic633 Ic?33333 Ic63333 Ic633333333JqJq333333333? Ic? Ic Ic Jq Ic? )A FS]ECWaiting for New Wave
Press Fire or Alt-Fire to change viewpointP]Press fire to startf= Final Wavee]('The zombie invasion has been defeated!b]L A Gyz`^*xw]UWindowFonts.Tahoma20B$?K&@qGJJDEQ @@EfsSc@XURwT[Z@@x@K@@@@@|bPf D ~2 gT͖ Ic IcL9 IcÚ}r 5* G= Say To AlloO qP ~Q @R 8Wgj@g q 2 iiPuԴI؇ IcL9 IcÚ}r IcL9}rÚ 5* G] Say To Teamog qh ~i @j $>$L=$fff?$L>8WiM@Hmnn^@hr@@y@e@U~V@@AB@e@Z@tz@DT@@@P @M F|{Y}1| 6K*$$$$J.wJ*J@,A, 9?, 7J% u9S6JJ$$$$9?4aPC*BCB+9?,9?9?,9?,Kau$$$$6$9?4aSC*BCB+9?,9?9?,9?,K'a9S6JJw*$$$$6$9?4aZC*BCB+9?,9?9?,9?,K'a9S9D$$$$w*-'w*-'-'*C>-( -e'*C>c
i%;7iai *>C>R
i%7iai{-(1-'*HCa-(-'$A$A$A$A*TD}-(-'-'*HDB-(f 7%aAFDE*FLCC7$ P f %6<c ~6<~Q,Q9D9?9D9?,~~=c $6) bSay$($$(9=Q TeamSay$$$9=Q Login Logout$$$9=Q Killed$$$9=Q $$$9=Q EF?La6LD@?uK VPRTU@Z@SY@r Q A2\k:+;Ud?K8 ߷@K8 ?K8 ߷@  " #!n]diedW] somethingX@W@m@l@`q@}@h@K{pgH@hfu@3s @n@z@`@B@i@v@O@`axW{T|@dL78u~LyM0u%uyu  M@CEL JK@w Ya@Q O@@o k@A @TU@W@T@^D| @r@^@g@S `@esHoT3I%I}H~yHI&AxHI&ZHppHIHI&, HI&IH  f@lmgrzZ @_ j@dW @g@-@L@@s G@@@jAh@i@fFBM@N@i O@k PNQ@RG ]@[@Y@Z@O@Q@vRa`@bK @J @c@gij@b@W nom@@rr@Z vwx}@\ {|}^@QCC h vIFs P@N@O@P@Q@F@@x(Zn;*~{.z(}..L(.L&&LL}.}($z(L}.}NNLR(NLR~(NRM(((M(R((R}Nv{.zM}..MM}.}M}.,M  U@V@W@Y@@I \@X@J SOYh.W%W7XUOOI~UWXIOppOUIW_UUI}WX-aI~UWXBOpOUWO  ^@Z@K `@a@ub@tX@][@d@x@h@i@j@k@l@m@n@o@p@q@r@f@uxe@[ c @l@@|}@AhJN52*zJ& JJ}J&J  w @j@BSM862*zS& SS}S&S  G@C c@KM@y@P@b@@Ts@b@]xv5;Hs%@s7xIppIsxOsI  @@[@]@p@@_Yj#:w>Y pw%fw7pwppwp&dwp&wVp   aqo8^a~qS6asq`(sqa`qa'  @us@@EIC6BEI  @@kwV05zwdw  @dtW4ztt  dI@>F3S>Y&Y n[@?0r* r*r* NnNc,c9D9?9D9?,N S%+%+,z+S+w *-(0{ SL{ Sh{ S{ SU$aA,$r?9??@9?!?9??@9?!$9?S@+%k+,z+a+69=c!a+,$r,@!a+!$+|w *-(69=cK{ a ,$r,@!a !${ a ,$r,@!a !$W{ a ,$r,@!a !${ a ,$r,@!a !$ @@B@[gXy17B, r%:r7BrB%sr7&, %&h&&i,&j,&k,&l,&m,&n,&o,&p, &q[gB&'  I@@@R@yk[5(kSTk $$$kaUkS9?,T9?&k$$$$kaU QzWBL%NzpppppppN
N
N
N
zpppppz**** Game Admin: N (N)>z
Ko7K@%oA%Ao6oAAK6)oAMOTD6<oA9?,L>9?AA o6II6$$$$/a9 7fr*r*r71~r7*1r*1w717  9?1{7 6{79?,~' T{  g6~e6~g9?%g6 e9?%e6b7A766aAlf6*gl9?,ef9?,6aA10-[66  @K V6|oG  " #!~nhO 7%@%&,z36% p6%x M!B !`@%&6%nx!`6%p6% teams: 6)%TeamSay6%p6% says: 6)%Say6%p6%3 &!7 !Z@%&6%3nx!76)%Login6)%Logout !Q3  !_@%&6%p**** 36)%Killed !p 33 U!M$Y%3@%&6%36)%9Wx @%&6%36)%9WxY&6%ppppp6% (type: 9Wx, sender: n)B7&{6%{6&z6%6&A&&X7,7, {6%pw*h6%@6<%9?,  s0=s !Q7,!7%9?@9?,9?%A7&&d7%@%@-' X-e(  @ >7F-a(Wa!A'aXA( A 1a=( B 481516_8475@z G O, 9?, 07.% e9S6.. $$$$ 9? 4aPCCBtCB +9?,9?9?,t9?, $$$$ 1a9S6.. 7aRanking goes here 0123456789 0123456789 0123456789 $$$$6 $ 9? 4aSCCBtCB +9?,9?9?,t9?, $$$$ 1a9S6.. $$$$6 $ 9? 4aZCCBtCB +9?,9?9?,t9?, $$$$ 'a9S9D C N F G @_^@L @D"8~D`pA@rz{|B"Z"G"H" %@UUUUI$IUUUUUUUI$I UUUEI$I UUUEUUUUI$AUUQUUUUI$IUUUUUUUI$I$UUUTUUUUI$IUUUUUUUI$IUUUUUUUI$I$UUUQI$I$UUUQUUUUI$I$UUUTUUUUUUUUUUUUUUUUUUUUI$I$UUUTI$IUUUUUUUUUUUI$I$UUUQUUUUI$IUUUI$I$UUUTI$IUUUI$I$UUUPUUUUUUUUI$I$UUUTI$IUUUI$IUUUUUUUI$IUUUUUUUI$IUUUI$IUUUUUUUI$IUUUUUUUI$IUUUI$I$UUUPUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUI$IUUUUUUUUUUUUUUUIII$IUUU AEEQ AEEQI EEEA$A$QQQQH$I$TTUUH$H$TTTTH DDUUUUUUUUH$HTTTH$H$TTTUII$UI$IUUUH$H$TTTU EEE $IU$A$@TQQUUUUUUUUUUUUUUUUIIUHITH$I$TUUUH$A$TQQQI $UEU@$A$PQQQII$UUUH$I$TUUUH$A$TQQQ $I$EQUU  EEEAUUUUI A$EQQH$H$TTTT AEEQI$I$UUUPIIUH$ITUUH$I$TQUUUUUU A$EEQQII$UUH$I$TUUTH$A$TQQT $A$EQQQ IEI$I$UUUUUUUI$H$UUTUUUUUI$I UU@I$IUUUI$IUUUI$I$UUUPI$AUUQI$I$UUUTII$UUH$I$TUUUH$A$TQQQUUUUUUUUIII$IUUUA$AQQQA$AQQQI$I$UUU@A$PQQI$H$UUTT$I$UUU $AEQI IU@I$IUU I$ADUI$I UUDUUUUIIUUUUIIUUUUUUUUUUUUI$IUUUI$I$UUUPUUUUI EEEIIUUUUA$A$QQQQUUUUA$A$QQQQUUUUI$I UUEH$I$TTUUI$I$UUU@ IPEI UEH$ITUUH$H$TTTPA$I$QUUU IEIIH$I$TUUUH$A$TQQQUUUUH$H$TTTTI$IUU$I$TUUI$A$UTQQA I$QEUI@UUUUUUUUUUUU $ $QUI$I UUU@I$IUUUI$IUUUI$I$UUUPI$IUUU$AATUUUUI UEEH$I$TUUUUUUUUUUUI$I$UUUUUUH$H$TTTUH$H$TTTU I$EUUA$Q@QH$I$TUUUII$UUHI$UUI$@UI$I$UUUI$$UTUA I$QDUUUUUII$UUI$H$UUTTI EEUUUUUUUUI$IUUUUUUUUUUI$ $UUEU $A$EQQUI$I$UUUI$$UTUA$I$QTUUUUUUA$A$QQQUI$I$UUUA$$QTUI$@$UUPUA I$QAUI @$EPUUUUUUUUUH$H$TTTUA I$QEUI @$EPUI$I$UUUI$$UTUA$I$QTUUII$UUUUUI$I$UUUI$$UTUA$I$QTUUA I$QEUI @$EPUI$I$UUUUUUUI$H$UUTTUUUUI$I$UUUUUUUUUUUUUUUA$I$QUUUUUUUUUUU $ $EUEUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUH$I$TQUU $I$EQUUUUUUUUUUI$I$UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUH$I$TUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUI$ $UUPI$$UUUI$I$UUUPUUUUI$ UUEUUUUI$ UUEI$$UUUI$@$UUPQUUUUI$$UUTI$@ UUPEI$IUUI$$UUUI$@ UUPEUUUUI$$UUTI$$UUUI$H$UUTUI$$UUTI$$UUUUUUUI$ $UUQI$@ UUPEUUUUI$H$UUTTUUUUI$H$UUTTI$H$UUTTUUUUI$A$UUQQI$A$UUQQUUUUI$A$UUQTI$A$UUQQUUUUI$IUUI$I$UUUTUUUUI$A$UUQPI$A UUQAUUUUI$A$UUQQI$IUUUI$$UUUI$I$UUUTI$ UUEI$$UUUI$H$UUTQUUUUI$$UUTI$H$UUTQI$IUUI$$UUUI$@ UUPEUUUUI$$UUTI$@ UUPEI$ $UUUI$ UUEI$$UU@UUUUUUUUUI $EEQI $UEQI U IEEUUUUAH$TTI$H$UUTT EEEI$IUUU A$EEQTI EEEUUUUI$I$UUUIIUUUUI$I$UUUI$H$UTTTH$HTTTI$IUUUUUUUH$H$TTTTUUUUIIUH$I$TUUUI$I$UUUUUUUH$HTTTI$IUUUH$H$TTTTH$H$TTTTUUUUA$A$QQQQA$A$QQQQI A$EQPUUUUA$A$QQQQUUUUIIH$A TQQEII UE@$A$PQQQAA$QQI$H$UUTQA$A$QQQQ $A$EQQQUUUUA QEEE EEEEUUUU $EEEQI EEEUUUU IEIIUUUUII EII$UUI$HUUTI$I$UUUUUUU EEEEUUUUUUUUUUUUA$A$QQQQH$H$TTTTI EEEII EIIUHI$TUUH$A$TPQQ EEEEUUUUA QEEE EEEUUUUI$IUUUIIUUUUI$IUUUH$H$TTTUH$H$TTTTUUUUUUUU$H$TTT$I$@UUUII$UI$I$UUUT$IUUH$H$TTTUH$H$TTTTUUUUH$H$TTTTH$H$TTTTI$H$UUTTA$A$QQQQA A$AQQA IQEUUUUA$A$QQQQUUUUII IE $A$EQQQA$A$QQQQA$A$QQQQA IQEA$A$QQQQA$A QQQEUUUU $EEEQ EEE$I$UUUH$I$TUUU EEEI$IUUUIIII$I$UUU@$A$PTQQI$IUUUUUUUI@UUUU EEEEUUUUUUUUUUUUA I$QEUAI$QUPI$AUUA$I QTA I$EEUUUUUU I$EEUU I$EUUII$UUUA$I$QTUUUUUUHI$TUU $I$EPUUII$UUII$UUU $I$EPUUUUUUHI$TUUII$UUUI$I$UTUUH$I$TTUUUUUUUUUUAI$QUU $I$EPUUUUUUH$I$TTUUUUUUH$I$TTUUH$I$TTUUHI$TUUA$I$QTUUA$I$QQUUUUUUH$I$TQUUAI$QUUII$UUUII$UUUUUUH$I$TTUUA$I$QQUUA$I$QQUUUUUU@$I$PQUUI$I$UUUII$UUUH$I$TUUU I$EEUUUUUUUUUUUUUUHI$TUUI$AUUII$UUUUUU I$EUUUUUUHI$TUU $I$EPUUUUUU I$EEUUUUUUUUUUUUUUUUUU $I$UUU$I$UUUH$I$TUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUI$A$UQQQUUUUI$A$UQQQI$A UQQEUUUUI$A$UQQTI$H$UTTQI UEEI$H$UUTTI $UEEQI$ UQEI$IUUUI$H$UQTUI$A$UTQQI$IUUII$UUUII$UUUI A$U@QTIA$UQQI$A UQQEII$UUUI$H$UTTTI AUEUUUUUUUUUUUUUUUUUUUUUUUUI$H$UTTTUUUUUUUUUUUUUUUUUUUUI$A$UQQQUUUUUUUUI$IUUI$I$UPUUUUUUUUUUI UEEEUUUUII$UUUUUUUI$I$UTUUI$H$UTTTUUUUI$A$UQQQUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUA$A$QQQQUUUUA$A$QQQQ IEEI$IUUH$I$TTUUA$A QQQE $A$EQQQH$A$TQQQA$A$QQQTI$I$UUUI A DQDUUUU I$EU $A$EQQTUUUUI UEEH$I$TUUUA$A$QQQQ EEEUUUUH$H$TTTH$I$TTUUH$A$TTQUUUUUUUUUI $UEU$IUUI$H$UTTT$H$PTTH$ TQEEI UEEI$@UUI$IUU$I$TUUA$A$QPQQI A$EQQ@ IPE I@$I$PUUU $H$QTT DAEE EEEI@IIUUUUH$H$TTTTH$HTTT $H$EQTUA$A$QQQQA A$AQQ@ PEEI@II$I$TUUI$H$UTTT $H$QTTH$ TQEE EEEI$@UUI$H$UUTT $H$QTT DAEEUUUUA$A QQQEUUUUA$A$QQQTI$I$UUUI $DDQUUUU EEEH$H$TTTU EEEH$H$TTTUI $EQII$UUI$H$UUTQUUUUH$H$TTTTI$IUUUA$H$QTTUUUUUA$A$QQQQII$UI$I$UUUTH$H$TTTTUUUUUUUUUUUUUUUUI EEE@$IPUUH$H$TTTTH$H$TTTP $EEEQ EEEI$IUUUII$UI$I$UUUTA$A$QQQP$A QQE$I UEIIUUUUH$H$TTTQ  EEEA EEEEIIIIUUUUH$H$TTTT$H$PTTI$H$UTTQA$A$QQQQA$A$QQQQ EEEEIIIIUUUUH$H$TTTTH$H$TTTQ $EEEQ EEEI$IUUUH$H$TTTUH$H$TTTQ  EEEAUUUUI$I$UUU$I$UUUUUUUUUUUA$I$QUUUUUUUI$I$UUUUUUUI$I$UUUUUUUH$I$TUUUUUUU $I$EUUUUUUUH$I$TUUU $I$UUU$I$UUU$I$@UUUA$AQQQUUUUH$ITUUH$H$TTTTUUUUI$IUUUI$IUUUI$IUUUI$I$UUU$I$@UUUH$I$TUUU$I$UUUH$I$TUUUUUUU$I$@UUUUUUU$I$UUUA$I$QUUUI$I$UUU@$I$PUUUI$I$UUUUUUU $HUT A$DEQT $I$EUUUI$I$UUUI$I$UUUI$IUUUH$H$TTTUH$I$TUUU $I$EUUUA$I$QUUUA$I$QUUU $I$EUUUI$I$UUUI$I$UUUUUUUH$I$TUUU $I$UUUH$I$TUUU EEEE$I$@UUUUUUU $I$UUU DEEEUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUI$IUUUI$I$UUUTI$IUUUI$IUUUI$H UTT@I$I$UUUQI$I UUUEI$I$UUUQI$IUUUI$I$UUUQI$I UUUEI$IUUUI$I$UUUQI$IUUUI$I$UUUQI$IUUUI$IUUUI$IUUUIIU@$I$PUUUH$H$TTTH$A$TQQQUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU$A$AQQQII$UI$IUUUH$I$TUUUH$H$TTTTA$A$QQQQ EEEEA QEEI $EEQA QEEE A$ETI EED I$EU $A$EQQTA$ QQEEI EEEUUUU $A$EQQTII AUUUUH$H$TTTTA$AQQQIA$UQUI$$UTUI$I$UTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUA$A$QQQQI$I$UUUI$IUUUH$H$TTTUH$H TTT@A$AQQQ  EEADII$UUA$H$QQTT IEEH$I$TTUU A$DDQQI $EQA$ QQEII$UA$A$QQQTI EI$IUUUIIUUUUH$H$TTTTA$A$QQQQUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUI$ $UUUH$I$TTUUUUUUUUUUII$UUI$@$UUPUH$H$TTUA$H$QQTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUE@I$IAUU mcUUUI$AAUUQ v UUEUAUUI$I'AUWUTmqUUDD=m؈9UUQQܶmÁ8UUm~UU}I$x$AUUTUUUUUmv UUUEI$,UUDemԞUUEimvlUUEUI$H$UUT QUUQQI$UUadm&ÖUUYTm׽UUeQhmmMkUUTUӶ #UU]I$(UUwEI$qUUm۰UUUQ/m۶1UUUT m۶UUUQ m6dUUUmۆUUUTm6UUUQ m۰UUUTIIAI< ]UUEEI$H$UUTH %ATEEP cvuUOy%UUUPWljsASuQCb#6bBUII a۶؂UUUVba[6ZUUQI$IUUU HUAVFlv]eeeSFlFlEEEEIdUe jF|Ue}۞TYT ({DGEE i#A֕I myYY%M$JDVT0 6jAWU av۞REERJAJ!Am۶UUUQ0oUW m]UUQUI I$U@U #H$]AEETUq$IDAUUUUUm6l(UUU5I$I<]UUUPm۶m;]UUU UUUm۶ ĞUUU@I$I]UUU5m؆@]UUU m۶]UUU@k ?UUI$I,]UUU`]UU UUUtUUUTŀm۶UUUT6lۆUUUD`۶UUUEaۆUUUTmۆǖUUUD6l۶m ׽UUU$NAmUWI$I(UUUD߶a۶UUUEaۆ UUU UUU ]UUUpI$IUUUO$IWUUm۶ ]UUU@m۶m#UUUm۶UUUm۶]UUU@UUUU:aAUEE ؖ@Q]:dc؞UEUs8; /68Uq$A%]QQQ8#0;9"!=UUu pGq\EDF96 9_PUU OATTT vڠӜAEYY] ۘmO ]]U`eJJ$AT|TT qqDDDD(+ӜAEEEDK [DFzFl@lUEEEE6j  UMDa,UVAw4=DDD(,AEFFa ۱]Y]TTVeYY eC APUA'qQ]]qA] n;Il]@EL8QU] aؑ]QU\Ql&l‚qYYYUUUUq8I$uUĒ$s@UxQUUUc۶ UUU\ml۶m cJUUU$I$UUU *d؆m׽UUU$I$?UUU $I$UUUE$I'IJ`UUU`۶mTUUU?9$I$BUUU֓$I$SUUUmm׽TUUUqlضmUDUUUPAl۶mӜHUUUmضmTUUUAdضmUUUUbömUUUsvضmÎsUUUqlmYDUUU EUUUҨ؆mUUUZ IJUUUx$I,AVUUe1iv`۶mMkUUU۶mUUU_۶m cUUUWv ۶mZUUU<1l۶m9TUUU  ۶mۂYUUUUUUUI$I$@UUUUH0#ÞUUZ6laUuEU2W]w,ӞAՔVuO$yYAUQP@utգ 'A$Ӝe]QV$gv]ueQ $AQRaIATok$A\^U!-۰mTWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUI$I$@UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@ O@ m#mXUU <=m9UUUm1LGӜUUTƠI$AiGUg|&$ cAv_U79$AuEU3s+v$1TMUYac۶mUUU؟I$XUUUrdlӜGuUU x$I$ATUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU vP@MmvIJUU4aQU\ Pm`IJUUˆl!UYqus`mێsqUUUX$I$ZQUUU$I$AUUUUUUUP /lۆ1U]U%Ib0I$!UcUUP-$w5E)UsP- m;E)uWUQ BH,ق~_@   . :>DJQV\af p z              ) 6 C O Z g sw          '  ' '(' 4' >' H'M'R'W'_' i' s' }'' ' '' '''''' '' ' ' :::::%: 1:9:A:I:O:S:Y: N T ?_?<:w*%w wV.wV*V[w6V *y6V /a6 ?9?d?[d&1d^U9D ? ?U?1b$  q? "b$ ? 1d^Uzy?zU^dy?zU^d10'wy*y\/y U IY> I V GL=F!r\( 9- r* G Y D7s;9:9:$ r'*-h CD-h'r* ' -' t@Qd11D  Po4CrHD .@,Cw*9?:adCB CB9?9?, 1a9S6..-or4a^CB CB/a9 a/a%a-'f%v,a-f%L,f%aQa-g&vsa-g&Lg&a10rf*f%vrg*g&v9?P4afBC BCz9S9D%$9?P9?,A 9?,@9?P9?,A 9?, 9?,F9?P4agBC BC9S9D&$9?,F9?P9?,A 9?,F9?,@9?P9?,A 9?, $$$$V-'<-'9:9:$-'C -(C >c
c%7cac+>C >R
c%+7cac-(-'-'HC a-(E-'$A$A$A$ATD }-(-'-'HD B-( 7%aAmngmfCC 7$  %A6< [9D6<9?[],]9D9?,[9?[= $6) Say$($$(9=] ( TeamSay$$$9=] 2 Login \ Logout$$$9=] Killed$$$9=] $$$9=] gm?fa6fn@? Z va9T&r'*{v,login tvct!Et [ ~qR9 +~ \ `b33j~`?5j9`%j@9`j~9.dztj99%jG.p9.LevelSummary wG*{G{GUntitledMGM9IwG*{GMppM By: GrF*F.p9.Screenshot 'rF*F.pLevelScreenshots.9 'wF*F.9VF +DOTZMenu.DOTZLoadingMenu(LoadingM9VF`@- ] Rx2 + ^ BU1BA _ CgE1CF@'' ` EC&.zi ZEi9:9:$w*k l ma-K  *aa klg/a/![.P 3qa/!F.@ 3a/!C.{ 3m a HR{,HHFfFw -(f  b ~f_k(z@ |@ |@ .DOTZMenu.DOTZGetPassword  z@, Connecting B.H:wB*Ba/!W"DOTZMenu.DOTZMPFailed@ E!W wB*Ba/!W~%.B@~&.B.B@~,~@~J c ]0J%] & Ww.*..-'9:9:$+BladeIN_V11.BINCharSelect , .X( ] d gA$Fa& L>(BladeIN_V11.BINPauseMenu   e d7`#w* g KE2"!w* DK @h {+!RP-' w*w*n'-(  j %P!* l Z "r*  Bm iE +BladeIN_V11.TeamSayGUI n S +BladeIN_V11.ZDOTZMPSay q 1E-' BB w* -u.wu*u1ji%g9?ji.\h-'jCia-( {-'$$ $ $jcDia-( QL1)V  T[w.*.@,p.@&\w*9?:aNC BCB9?9?,1a9S6.."9?4aPC BCB9?9?,1a9S6..w*9?:aMC BCB9?9?,1a9S6..9?4aOC BCB9?9?,1a9S6..w*9?T:aNB CBC~9S9D$9?T9?,A9?,@ 9?T9?,A9?, 9?,F 9?T:aNB CBC9S9D$9?,F 9?T9?,A9?,F 9?,@ 9?T9?,A9?, $$$$-'-'9:9:$-' C-( C>L
_% 7_a_~ >C>R
_%~7_a_M-(-'-' HCa-(-'$A$A$A$A TD}-(-'-' HDB-(T 7%aAN|{ NWCC7$ T % 6<Q o9D6< 9?oZ, Z9D9?,o 9?o=Q $6) P Say$($$(9=Z { TeamSay$$$9=Z Login Logout$$$9=Z Killed$$$9=Z $$$9=Z {N?Wa6W|@?a  r Scw*w*w*(ww*hSRQ s Ike|IQSX[IfQSX[IHQSX[a @( t :^H-C--':w:*w:*)P':r|*|:-B|:-Br:::;|}|(r-(0-'--C By T`7 r* .T{ Bx u Y'-'-(-'` w Lm-'^` z v _h^ y{ tj*** REMOVEMAPtw'*BA%A7B -a(|ABt-a'A_-aABA&&Bb. 6  | ql[w'*added mapqn7nnqnb. 6  l^o igw'*GF%F7G|lFGFGGFGbmoved to mapl>ppp****  switches to map l%*Force Map ChangeXla,@( @ks ^jr* 7% k7ak?>9VPlayNextAnim E Hc trw'*restarted map%*Force Restart.?restart( ~ c-9:9:$a7, B -Y{Hw*w*$?B;(' C A b]9:U&(99:b,  9:b,-*'YY9:b, 9:b,'( F ibWH w'*/a9 H|Hiw.H*kickedH9ppp****  has kicked iHa10 I dc=w'*/a9 h|hdw.h*Yh BYYY~Y:bannedhIP:Y9ppp****  has banned db%b,2zbbCb,2bpDENY,Ybha10 H J _c/w'*--K-_onV_offset PlayersOnly_J**** Player movement only turned_by K m%w'*ended the match!a<pp****  has ended this match.%adminforce M ^t{rs*sa mws*s adminsp=:^sy^W @N L =ppppppppppp9S-9S-9S 9S:9S:9S O 16'2342\@\[f rJ*,r{*OFOt{[& )<\OJ R{rO*\ <O\ \tO .<\OJsO{  S LRkPP/a0 L5LaLa10S T aTe\Pa-` U ftaOfcb V kr]bOkjig X amXN5a`a`-l Y jzSM\ppReduceDamage(9Sj9Vh9Vg)jhgpon [ t%MLtr ] yuI Lyxwv ^ ~pDAK3PreventDeath()~}|{ ]>mJ1LevelStart()/w\* ` lZ)GppLogout(9Vl)w.l*l***lhas left!Z.l-l b "d@DppScoreKill(9V"9V;)r"* r";w;*w;*;9?&e;self_fragSSw"* w;*w"*S;a/!Sw"*"9?&"e"?fragww*d";w"* %l" |B?1QBBSquareButton=BBSquareButtonQBBSquareButton=BBSquareButtonBC-'Z]|V]XYZ[Y_mbq}rzmu c 4_=- ppppppppKilled(Y, Z, 9V}, 9VT)![-U'45}Tw4*w4*Y4w5*w5*Z5w5*5a/!~w4*4a/!z7x <YZzx5f9Ar4545T{x4x!_ x5-'RwR*zRa/!zwR*R%-U(RR -U' -e(%*Everyone is dead e 1Qj;1w1*1a/!>- r1*1%19?x1-'1-(11 a DQJGE. ?(C%C7GQ#VCGCdD-( f A0 8LV- A, Calling MultiTimer while game is ended!!!! Slot=9SA A & K@b#MKK,M@ .M( ? 4Q? ,Ex? <,9-'JZ? A g V5sE%D% E%wkp% Dp Ep -^(a,EA( j U5D&E d D>_: J. D%D7J%=VDJ%D2 k Fyv4FBD%)^% E^'6y%(F' m G\wA2ppEndGameAnnouncement(9VG)vwv*wva/!v-(vv>a,E(a,(JX-(R i HRi( ]F. F6H-IK( n wj+1KWaveComplete()3-^a,E@A(a,@( o DxA-StartWave()-c'8-^'%*Victory!Z[z% Zz-^'-^(DZ[-J]D^wD*GDa/!- GrD*D%D-(DDp!H*%9?&-Z( r d-G*fppPostLogin(9V)-'Gr* w*.A-(-'***has entered!7XPlogged in from l Gq <9:J&(89:G, 9:G, |' @v q =))ppppppppppp9S-9S-9S 9S:9S:9S t p I |  w.I*_.I-r_*(@$?_ i|' ]admin restartmap [admin endmatch Yadmin playersonly $_,admin kickQ2 eb/admin kickbanQ2 m.admin switch=2 r1admin removemap=2==2' }%admin addmap^;=V^;^D' ( x HP,(ru*ua rwu*uconnectionup=:Hu~HK _z O!kA-9:9:$9:9:$ r*r*],]8n9=]r8* Player start not found!!! 3w*w }r*KSaK 8 8 r*pppCouldn't spawn player of type 9V at 9V8q!_ 8.8gh''i Qp883.b u e' ~ [sppRestartPlayer(9V[)J9:9:$O[ .[J[r[*[=ZXDOTZCharacters.JackSladeXDOTZCharacters.PlayerOtis[ { |  } O$ @ ~*-(, B qr?#V VqhL9zhxPh qWPqzh7W&%W &W PostBeginPlay()7%%%o is done, like dinner... zombie dinner&Zombies are eating %o's brain,%o has become one with the zombies,%o bites the dust,%o becomes fettucine al dead-o,%o takes a nap at Zombie Inn,%o is in a really grave situation,%o assumes room temperature,%o now shops at Corpses-R-Us, %o's liver has been donated, Zombies eviscerated %o, %o stops at the No Brain Hotel, Please kill %o .. oops, too late., What does %o want on their tombstone?b(%.U%.-r'{, , , ,,&,,,,&-f' %,,& && #,,,& ppInitialWaveSize=9S)ppWaveSizeIncrement=9S)Z-Z'-^(a,E@9?,(z,  z%z,x%y%y,a49?y'!9:9:$a&  A( sE m,` ys~m?2smm%sr~m?drRm%ru|mR'( @C F D /[W L \]8 -'\R-'$\InitialInPlayOverridea{y9J$\MaxInPlayLimit{9J$\MinInPlayLimit{9J$\InitialWaveSize{9J$\WaveSizeIncrementM{9J$\PerPlayerOverride{c9D9Ly%yc%9?c @M  13487N  2O  5u 69pt?' tu-(r*br*FUFTp-(-'MFpVr*h-(j-("hWjY-w*k`k-'k-(M\O^ R PwgGPsP***P scores! T }dWy}}***}has entered!7}X} P vQR7 1vX$?-( V _3E8r._**** GiveDefaultInventory pawn=None _ S wRY #w-xK( W LQf/a9 c10 Y c0=c & ebb#`ee,`b .`(  c U p^ <9:z&(89:p, 9:p, p' ^ l&'y ylmy9zmxem lLelzm7L&%L &L 9:9:$a& ?( o\ X s j C w.s*v.s-rv*(X$?v k-w* b? p\('? sh[r*.9CXDOTZCharacters.JackSladeHSDawnCharacters.Peterp N? jr*.9CXDOTZCharacters.JackSladeHSDawnCharacters.Roger O? M P? <O Q? ( f `,yo~`?2o``%on~`?dnq`%nu|`q'( v] e' @` d @e @w@h b /L {@?)@A|{?( y] )}-' g >!#AwwA j l :#:9$?(' m k o --X$?`w;(' p n {:+19:{, -*--9:{,:*' v ]dQ]]EDw]*D]TDA zombiewE*zE]***Dkilledz t u { u08Yu & d|b#Gdd,G| .G(  u x y @z @@} V!W WVwD9zwxjw VTjVzw7T&%T &T 9:9:$a& ?( kA e,{yk~e?2kee%kH~e?dH\e%Hu|e\'( @@ W@ / T D @F @E H @G I @K @J M @L N @O @P @Q @R @S @T @@nyHh[wn*n-'nz?n̬?n33?n Y HCT OH,7%%I%%A%%&M7%J%A%& CJ?4^=JK|C}xE-Q'9 Z NI)9:9:$A%7ew.P*.P/w.@*.@/w.{*.{/  \ AJ0 .\9:9:$t%vt7lrAt tE7Aw*}.w}H*}Ha/!B.V}HE X CEBK. .S%%2%2%2/%/%/7K%&Loading Pawns...cvLoading Pawns...c%&C%C7KCCKX&9WCKCK9VCKCj % 7%{w %*2!&Skin9S  p9S   % 7%w %*/$&Clothes9S  p9S  z%T ] 6${i)9:9:$A%%7%g%  ^ ~Iec9:9:$|%Q|7%G|~|% | 7%%~ %g -%9:9:$6N [ >^ 7,E _ N{h FN-G9KP @` QQq(Q-( fclass ZPlayerController extends DOTZPlayerController; var Admin AdminManager; var FileLog AdminLog; var string SwitchMapTarget; const WAITFORPAWN=2342; const ADMINSWITCHMAP=16; replication { reliable if(Role < ROLE_Authority) ServerSetPawnClass, Admin, RestartMap, Switch, Kick, KickBan, EndMatch, PlayersOnly, ServerSetTextures, AddMap; } // TODO: Move all this new admin junk to UZG function String FullTimeDate() // Date/Time in MYSQL format { return ""$Level.Year$"-"$Level.Month$"-"$Level.Day$" "$Level.Hour$":"$Level.Minute$":"$Level.Second; } function alog(string x, optional name tag) { if(AdminLog == None) { AdminLog = spawn(class'FileLog'); } //if(Tag == None) Tag = ''; //Tag = FullTimeDate() @ Tag; if(AdminLog != None) { AdminLog.OpenLog("admin"); AdminLog.Logf(FullTimeDate()$":"@x); AdminLog.CloseLog(); } else { log(x, tag); } } exec function EndMatch() { if(AdminManager != None) { alog(PlayerReplicationInfo.GamerTag@"ended the match", 'Admin'); Level.Game.Broadcast(PlayerReplicationInfo, "**** " $ playerreplicationinfo.gamertag $ " has ended this match."); Level.Game.EndGame(PlayerReplicationInfo, "adminforce"); } } exec function PlayersOnly() { local string blah; if(AdminManager != None) { Level.bPlayersOnly = !Level.bPlayersOnly; if(Level.bPlayersOnly) blah="on"; else blah="off"; alog(PlayerReplicationInfo.GamerTag@"set PlayersOnly"@blah); Level.Game.Broadcast(PlayerReplicationInfo, "**** Player movement only turned"@blah@"by"@PlayerReplicationInfo.Gamertag); } } exec function KickBan( string S ) { local PlayerController P; local string IP; local int j; if(AdminManager != None) { ForEach DynamicActors(class'PlayerController', P) { if ( P.PlayerReplicationInfo.GamerTag ~=S && (NetConnection(P.Player)!=None) ) { IP = P.GetPlayerNetworkAddress(); if( Level.Game.AccessControl.CheckIPPolicy(IP) ) { IP = Left(IP, InStr(IP, ":")); alog(PlayerReplicationInfo.GamerTag@"banned"@P.PlayerReplicationInfo.GamerTag@"IP:"@IP); //Log("Adding IP Ban for: "$IP$" ("@P.PlayerReplicationInfo.GamerTag@")"); Level.Game.Broadcast(playerreplicationinfo, "**** " $ playerreplicationinfo.gamertag $ " has banned " $ S); for(j=0;j<50;j++) if( Level.Game.AccessControl.IPPolicies[j] == "" ) break; if(j < 50) Level.Game.AccessControl.IPPolicies[j] = "DENY,"$IP; Level.Game.AccessControl.SaveConfig(); } P.Destroy(); } } } } exec function Kick( string Opt ) { local PlayerController P; if(AdminManager != None) { foreach DynamicActors(class'PlayerController', P) { if(p.PlayerReplicationInfo.GamerTag~=Opt && (NetConnection(P.Player) != None)) { alog(PlayerReplicationInfo.GamerTag@"kicked"@P.PlayerReplicationInfo.GamerTag); Level.Game.Broadcast(playerreplicationinfo, "**** " $playerreplicationinfo.gamertag $ " has kicked "$opt); p.Destroy(); } } } } exec function RestartMap() { if(AdminManager != None) { alog(PlayerReplicationInfo.GamerTag@"restarted map"); Level.Game.EndGame(None, "Force Restart"); Level.ServerTravel( "?restart", false); } } exec function Switch( string URL ) { local MapList ML; local int i; if(AdminManager != None) { ML = Level.Game.GetMapList(Level.Game.MapListType); for(i = 0; i < ML.Maps.Length; i++) { if(URL ~= ML.Maps[i]) break; } ML.MapNum = i; ML.SaveConfig(); alog(PlayerReplicationInfo.GamerTag@"moved to map"@URL); Level.Game.Broadcast(playerreplicationinfo, "**** " $playerreplicationinfo.gamertag $" switches to map " $ url); Level.Game.EndGame(none, "Force Map Change"); //Level.ServerTravel( URL, false ); SwitchMapTarget = URL; SetMultiTimer(ADMINSWITCHMAP, 5, false); } } exec function AddMap(string URL) { local MapList ML; if(AdminManager != None) { alog(PlayerReplicationInfo.GamerTag@"added map"@URL); ML = Level.Game.GetMapList(Level.Game.MapListType); ML.Maps[ML.Maps.Length] = URL; ML.SaveConfig(); BINPRI(PlayerReplicationInfo).SendMapList(); } } exec function RemoveMap(string URL) { local MapList ML; local int i; local bool bFound; log("*** REMOVEMAP"@URL); if(AdminManager != None) { ML = Level.Game.GetMapList(Level.Game.MapListType); for(i = 0; i < ML.Maps.Length && bFound == false; i++) { if(ML.Maps[i] ~= URL) { bFound = true; } } if(bFound) { ML.Maps.Remove(i-1, 1); ML.SaveConfig(); BINPRI(PlayerReplicationInfo).SendMapList(); return; } } } state Dead { exec function Fire(optional float F) { bBehindView = true; ServerViewNextPlayer(); ServerRestartPlayer(); } exec function AltFire(optional float F) { if(bBehindView == true) bBehindView = false; else bBehindView = true; ServerRestartPlayer(); } Begin: ServerViewNextPlayer(); } function ServerSetPitch(int Pitch){ // a big accessed none fix if(Pawn == none) return; AdvancedPawn(Pawn).AimedPitch = Pitch; Pawn.PostNetReceive(); } function ServerViewNextPlayer() { local Controller C; local Pawn Pick; local bool bFound, bRealSpec; bRealSpec = PlayerReplicationInfo.bOnlySpectator; PlayerReplicationInfo.bOnlySpectator = true; // view next player for ( C=Level.ControllerList; C!=None; C=C.NextController ) { if ( (C.Pawn != None) && Level.Game.CanSpectate(self,true,C.Pawn) ) { if ( Pick == None ) Pick = C.Pawn; if ( bFound ) { Pick = C.Pawn; break; } else bFound = ( ViewTarget == C.Pawn ); } } SetViewTarget(Pick); ClientSetViewTarget(Pick); if ( ViewTarget == self ) bBehindView = false; else bBehindView = true; //bChaseCam; PlayerReplicationInfo.bOnlySpectator = bRealSpec; } simulated event ReceiveLocalizedMessage( class Message, optional int Switch, optional PlayerReplicationInfo RelatedPRI_1, optional PlayerReplicationInfo RelatedPRI_2, optional Object OptionalObject ) { //super.ReceiveLocalizedMessage(Message, switch,RelatedPRI_1, RelatedPRI_2,OptionalObject); super(PlayerController).ReceiveLocalizedMessage(Message, switch, RelatedPRI_1, RelatedPRI_2, OptionalObject); //log("ZPC: RLM("$Message$", "$switch$", "$RelatedPRI_1$", "$RelatedPRI_2$", "$OptionalObject$")"); MPMessage = Message.Static.GetString(Switch, RelatedPRI_1, RelatedPRI_2, OptionalObject); Message.Static.ClientReceive( Self, Switch, RelatedPRI_1, RelatedPRI_2, OptionalObject ); SetMultiTimer(DEATH_MSG, 4, false); } simulated event TeamMessage( PlayerReplicationInfo PRI, coerce string S, name Type ) { if(player != none && player.console != none && player.interactionmaster != none && player.console != player.InteractionMaster.Console) { player.console = player.interactionmaster.console; } if ( myHUD != None ) myHUD.Message( PRI, S, Type ); } function DrawToHud(Canvas c, float scaleX, float scaleY) { local AdvancedPawn ap; if (bClearScreen==true){ c.SetPos(0,0); c.DrawTileScaled(Material'Engine.ConsoleBK', 100, 100); return; } // delegate to the pawn... if ( Pawn != None && !bDisablePawnHud ) { ap = AdvancedPawn( pawn ); if ( ap != None ) ap.drawToHud( c, scaleX, scaleY ); myLifeBar.drawQuantity( pawn.health, c, scaleX, scaleY ); } C.Font = AdvancedHud(Level.GetLocalPlayerController().myHUD). GetSmallFontRef(); //AdvancedHud(Level.GetLocalPlayerController().myHUD).UseMediumFont(C); C.bCenter = true; c.SetPos( scaleX, 375 * scaleY ); C.DrawText(BestActionMessage); //C.DrawText(C.Font); C.bCenter = false; C.Font = Font'Engine.SmallFont'; if (MPMessage != ""){ C.bCenter = true; C.SetDrawColor(240,32,32,200); C.SetPos(scaleX, 910 * scaleY); C.DrawText(MPMessage); C.bCenter = false; //MyHUD.Message(self.PlayerReplicationInfo, MPMessage,'Killed'); //MPMessage = ""; } } exec function ReadyToSay(){ //if (Level.NetMode != NM_StandAlone){ ClientOpenMenu("BladeIN_V11.ZDOTZMPSay"); //} } exec function TSay() { ClientOpenMenu("BladeIN_V11.TeamSayGUI"); } exec function Action(){ // to fix an Accessed None in AdvancedPlayerController if(AdvCheatManager == none) advCheatManager = new(Self) AdvancedCheatClass; super.Action(); } simulated function Destroyed() { AdvCheatManager = None; super.Destroyed(); } // fixes some Accessed None errors simulated event PostNetReceive(){ if (bCloseMenuPending == true && Player !=None && Player.GUIController != None){ Player.GUIController.CloseAll(true); bCloseMenuPending = false; } } exec function SetSensitivityTemp(float F) { // fix an Accessed None in PlayerController if(PlayerInput != None) PlayerInput.UpdateSensitivityTemp(F); } simulated function EndSway() { // fix an Accessed None in AdvPlayerController if(Pawn != none) super.EndSway(); } /*function HandleWalking() { if ( Pawn != None ) //parent specified bRun !=0 to mostly run, we want mostly walk Pawn.SetWalking( (bRun == 0) && !Region.Zone.IsA('WarpZoneInfo') ); }*/ // walking sucks, run button doesn't work in MP simulated event PostNetBeginPlay() { SetMultiTimer(WAITFORPAWN, 0.2, false); PauseMenuMP="BladeIN_V11.BINPauseMenu"; DynamicLoadObject(PauseMenuMP,class'class'); //AdvancedPawn(Pawn).HudCaption = PlayerReplicationInfo.Gamertag; //AdvancedPawn(Pawn).bDisplayKills = true; super.PostNetBeginPlay(); } function MultiTimer(int slotID) { switch(slotID) { case WAITFORPAWN: if(AdvancedPawn(Pawn) != none) { AdvancedPawn(Pawn).HudCaption = PlayerReplicationInfo.Gamertag; AdvancedPawn(Pawn).bDisplayKills = true; } //log(self@"MULTITIMER WAITFORPAWN"); //if(Level.Game.IsA('BladeIN') && Level.NetMode != NM_StandAlone) if(level.netmode == nm_client )//|| level.netmode == nm_standalone) ClientOpenMenu("BladeIN_V11.BINCharSelect"); break; case ADMINSWITCHMAP: Level.ServerTravel(SwitchMapTarget, false); break; } super.MultiTimer(slotID); } exec event SetProgressMessage( int Index, string S, color C ) { local GUIPage topmenu; if(S == "") return; if(s ~= class'AccessControl'.default.NeedPassword || s ~= class'AccessControl'.default.WrongPassword) { Player.GUIController.OpenMenu("DOTZMenu.DOTZGetPassword", class'DOTZMenu.DOTZMPFailed'.default.LastURL); return; } //log(self@"left 10="@left(S,10)); if(left(S, 10) == "Connecting") return; // No "Connecting To..." box topmenu = GUIController(Player.GUIController).TopPage(); if(TopMenu != None && !TopMenu.IsA('DOTZMPFailed')) { Player.GUIController.OpenMenu("DOTZMenu.DOTZMPFailed", S); Player.GUIController.CloseTo('DOTZMPFailed'); return; } else if(TopMenu != None && TopMenu.IsA('DOTZMPFailed')) { if(Index == 0) DOTZMPFailed(TopMenu).ErrorMessage.Caption = S; if(Index == 1) DOTZMPFailed(TopMenu).ErrorMessage.Caption = DOTZMPFailed(TopMenu).ErrorMessage.Caption @ S; } if ( Index < ArrayCount(ProgressMessage) ) { ProgressMessage[Index] = S; ProgressColor[Index] = C; } } event PlayerCalcView(out actor ViewActor, out vector CameraLocation, out rotator CameraRotation ){ super.PlayerCalcView(ViewActor, CameraLocation, CameraRotation); if(Pawn != ViewTarget && bBehindView == false) { // spectating... CameraRotation = ViewTarget.Rotation; } } function ServerSetPawnClass(string inClass, string inCharacter) { local Pawn MyPawn; local vector loc; local rotator rot; local int Health; //log(self@"ServerSetPawnClass"@inClass@inCharacter); if(inCharacter=="") return; SetPawnClass(inClass, inCharacter); if(role == role_authority) { if(pawn != None) { MyPawn = Pawn; loc = MyPawn.location; rot = MyPawn.rotation; Health = MyPawn.Health; UnPossess(); MyPawn.TakeDamage(1000, MyPawn, MyPawn.location, MyPawn.velocity, none); MyPawn.Destroy(); MyPawn = spawn(PawnClass,self,,loc,rot); Possess(MyPawn); if(Level.Game.IsA('BladeIN')) BladeIN(Level.Game).GiveDefaultInventory(MyPawn); else if(Level.Game.IsA('BladeDM')) BladeDM(Level.Game).GiveDefaultInventory(MyPawn); else if(Level.Game.IsA('BladeCTF')) BladeCTF(Level.Game).GiveDefaultInventory(MyPawn); MyPawn.Health = Health; } } } function Possess(Pawn P) { //log(self@"Possess"@P); //self.Pawn = P; super.Possess(P); ResetFOV(); ClientCloseMenu(true, true); //if(Pawn == None) Pawn = P; } function ServerSetTextures(int Head, int Body) { iHeadTexture = Head; iBodyTexture = Body; } exec function ClientPause(){ //if (Level.NetMode == NM_StandAlone){ // Pause(); // } else { ClientOpenMenu(PauseMenuMP); // } } simulated event ClientTravel(string URL, ETravelType TravelType, bool bItems) { local int x; local string Map, MapName; local Texture shot; // TODO: We should use a Material, here, but that requires a custom Loading Menu. local LevelSummary L; //local LevelInfo LI; x = InStr(URL, "?"); // Get the map name, no options if(x > -1) { Map = Mid(URL, 0, x); } else { Map = URL; } x = InStr(Map, ".dz"); if(x > -1) { Map = Mid(Map, 0, x); } L = LevelSummary(DynamicLoadObject(Map $ ".LevelSummary", class'LevelSummary')); if(L != None && L.Title != "" && L.Title != "Untitled") MapName = L.Title; else MapName = Map; if(L != None && L.Author != "") MapName = MapName $ " By: " $ L.Author; // TODO: Is it possible somehow to get the LevelInfo? probably not. /*LI = LevelInfo(DynamicLoadObject(Map $ ".LevelInfo", class'LevelInfo')); if(LI == None) LI = LevelInfo(DynamicLoadObject(Map, class'LevelInfo')); if(LI != None) { shot = Texture(DynamicLoadObject(string(LI.Screenshot), class'Texture', true)); }*/ if(shot == None) { shot = Texture(DynamicLoadObject(Map $ ".Screenshot", class'Texture', true)); } //log(self@"DYNAMICLOADOBJECT FOR SCREENSHOT RETURNS:"@shot); if(Shot == None) { shot = Texture(DynamicLoadObject("LevelScreenshots."$Map, class'Texture', true)); } if(shot != None) shot = Texture(FindObject(string(shot), class'Texture')); //log(self@"FINDOBJECT FOR SCREENSHOT RETURNS:"@shot); //log(self@"CLIENTTRAVEL"@URL@TravelType@bItems); ClientOpenMenu("DOTZMenu.DOTZLoadingMenu", false, "Loading"@MapName, string(shot)); super.ClientTravel(URL, TravelType, bItems); } exec function Menu(string str) { ClientOpenMenu(str); } simulated exec function string Admin( string CommandLine ) { local string Result; //log("AdminManager="@AdminManager); if(AdminManager == None && Left(CommandLine, 6) != "login ") return ""; Result = ConsoleCommand( CommandLine ); //ClientMessage( Result ); TeamMessage(PlayerReplicationInfo, Result, 'AdminCommand'); return result; } // TODO: move this code back to UZGPlayerController, as it gets the admin stuff working right again simulated exec function login(string x) { local bool b; if(level.netmode != NM_Client && AdminManager == None) { b = Level.Game.AccessControl.AdminLogin(self, x); if(b == true) { if(Level.Game.AccessControl.AdminClass == None) Level.Game.AccessControl.AdminClass = class'Engine.Admin'; AdminManager = new(self) Level.Game.AccessControl.AdminClass; //class'UZG.DAAdmin';//Level.Game.AccessControl.AdminClass; PlayerReplicationInfo.bAdmin = true; //log("AdminManager="@AdminManager); } } } // Fixes some Accessed Nones in AdvancedPlayerController exec function Fire( optional float F ) { if ( Level.Pauser == PlayerReplicationInfo ){ SetPause(false); return; } if ( bDemoOwner || (Pawn == None) ) return; super(PlayerController).Fire(F); } exec function AltFire(optional float F) { super(PlayerController).AltFire(F); } // Let's try and make this more efficient function CheckForActionableActor() { local Actor TempActionActor; local Actor BestActionActor; l