def OnPlayerSay( self, player, text ): assert isinstance( player, GEPlayer.CGEMPPlayer ) if not player: return text = text.lower() if text == GEGlobal.SAY_COMMAND1: if self.lld_player_isbaron( player ): self.lld_baron_usevoodoo() else: GEUtil.HudMessage( player, "#GES_GP_LALD_NOTBARON", -1, -1, EP_SHOUT_COLOR, 2.0 ) return True elif text == GEGlobal.SAY_COMMAND2: if player.GetTeamNumber() == GEGlobal.TEAM_SPECTATOR: GEUtil.ClientPrint( player, GEGlobal.HUD_PRINTTALK, "#GES_GP_NORANK" ) else: rank = GEMPGameRules.GetNumActivePlayers() myscore = player.GetMatchScore() for i in range( 32 ): other_plr = GEPlayer.GetMPPlayer( i ) if other_plr and other_plr.GetMatchScore() < myscore: rank -= 1 GEUtil.ClientPrint( player, GEGlobal.HUD_PRINTTALK, "#GES_GP_RANK", str( rank ), str( GEMPGameRules.GetNumActivePlayers() ) ) return True elif LLD_DEBUG: if text == "!baron": baron = self.lld_Baron() if baron != None: GEUtil.ClientPrint( None, GEGlobal.HUD_PRINTTALK, "%d/%d, Baron: %s, Level %d" % ( baron.GetHealth(), baron.GetArmor(), baron.GetCleanPlayerName(), self.baron_level ) ) else: GEUtil.ClientPrint( None, GEGlobal.HUD_PRINTTALK, "There is no Baron Samedi." ) return True if text == "!status" or text == "!state": ep_shout( "Playercount: %d/%d, Bounty: %d, State: %d, Result: %d" % ( GEMPGameRules.GetNumActivePlayers(), GEMPGameRules.GetNumActivePlayers(), self.bounty, self.gamestate, self.result ) ) return True if text == "!embaron": self.lld_embaron_randomly() return True if text == "!embaron_me": self.lld_embaron( player ) return True if text == "!levelup": self.lld_baron_levelup() self.lld_baron_givearsenel() return True if text == "!turbo": player.SetSpeedMultiplier( 1.5 ) return True if text == "!!voodoo": self.lld_baron_usevoodoo() return True return False
def lld_baron_levelup(self): self.baron_level = clamp(self.baron_level + 1, 1, self.BARON_LEVEL_MAX) if self.baron_level <= self.BARON_WEAPON_LIMIT: GEUtil.ClientPrint(None, GEGlobal.HUD_PRINTTALK, plural(self.baron_level, "#GES_GP_LALD_WEAPON"), str(self.baron_level)) else: GEUtil.ClientPrint(None, GEGlobal.HUD_PRINTTALK, "#GES_GP_LALD_DAMAGE", str(self.lld_baron_damageamp()))
def OnPlayerKilled(self, victim, killer, weapon): # Execute default DM scoring behavior GEScenario.OnPlayerKilled(self, victim, killer, weapon) if not victim: return if not self.game_inWaitTime and victim.GetDeaths() >= 2: # Lock the round (if not done already) GERules.LockRound() # Tell everyone who was eliminated GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, "#GES_GP_YOLT_ELIMINATED", victim.GetPlayerName()) # Tell plugins who was eliminated GEUtil.EmitGameplayEvent("yolt_eliminated", str(victim.GetUserID()), str(killer.GetUserID() if killer else -1)) # Tell the victim they are eliminated GEUtil.PopupMessage(victim, "#GES_GPH_ELIMINATED_TITLE", "#GES_GPH_ELIMINATED") # Mark as eliminated by death self.pltracker[victim][TR_WASINPLAY] = True # Decrease the foes, eliminate the victim self.yolt_DecreaseFoes(victim)
def OnRoundBegin(self): self.__debug = GEUtil.GetCVarValue("lc_debug") == 1 if self.__debug: GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, self.TAG + "Debugging Enabled") else: GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, self.TAG + "Debugging Disabled") GERules.GetRadar().SetForceRadar(True) GERules.ResetAllPlayersScores() self.hacker_canArm = GEUtil.GetCVarValue("lc_hackerdefense") == 1 self.game_roundCount += 1 self.lc_DerobeHacker() self.lc_InitRound() self.lc_ChooseHacker() self.lc_CreateHackingTool()
def DecrementJanus(self): if self.JanusLevel == 0 or GERules.GetNumInRoundTeamPlayers( GEGlobal.TEAM_JANUS) == 1: return # Decrement Janus' level self.JanusLevel -= 1 for player in GetPlayers(): if player.GetUID() == self.OurumovUID: self.PrintCurLevel(player) GEUtil.PlaySoundToPlayer(player, "GEGamePlay.Token_Grab") elif self.IsInPlay(player): if player.GetTeamNumber() == GEGlobal.TEAM_JANUS: self.PrintCurLevel(player) self.GivePlayerWeapons(player) GEUtil.PlaySoundToPlayer(player, "GEGamePlay.Level_Down") elif player.GetTeamNumber() == GEGlobal.TEAM_MI6: lvl = self.JanusLevel GEUtil.ClientPrint( player, GEGlobal.HUD_PRINTTALK, "^rJanus ^1spent a level: ^y%s" % janusWeaponList[lvl][1]) GEUtil.PlaySoundToPlayer(player, "GEGamePlay.Token_Drop_Friend")
def OnTokenDropped(self, token, player): self.hacker_hasTool = False GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, self.TAG + " The Insta-Hack has been destroyed") GEUtil.HudMessage(None, "The Insta-Hack has been destroyed!", -1, 0.65, self.COLOR_NOTICE, 4.0, 1) GEUtil.PlaySoundTo(None, "GEGamePlay.Token_Drop_Friend") GERules.GetTokenMgr().RemoveTokenType(self.TOOL_CLASSNAME)
def PrintCurLevel(self, player): if not player: return if player.GetTeamNumber() == GEGlobal.TEAM_MI6: lvl = self.MI6Level GEUtil.ClientPrint( player, GEGlobal.HUD_PRINTTALK, "^lLevel %i: ^y%s" % (lvl + 1, mi6WeaponList[lvl][1])) elif player.GetTeamNumber() == GEGlobal.TEAM_JANUS: lvl = self.JanusLevel GEUtil.ClientPrint( player, GEGlobal.HUD_PRINTTALK, "^lLevel %i: ^y%s" % (lvl + 1, janusWeaponList[lvl][1])) elif player.GetTeamNumber() == GEGlobal.TEAM_SPECTATOR: GEUtil.ClientPrint(player, GEGlobal.HUD_PRINTTALK, "^lYou are not in play.")
def PrintCurLevel(self, player): if not player: return lvl = self.GetLevel(player) name = GEWeapon.WeaponPrintName(weaponList[lvl][0]) GEUtil.ClientPrint(player, GEGlobal.HUD_PRINTTALK, "#GES_GP_GUNGAME_LEVEL", str(lvl + 1), name)
def PrintFragMessages(self, killer, teamName, teamScore): if not self.FirstBlood and self.FragLimit > 1: GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, "#GES_GP_TDM_FIRSTBLOOD", teamName) self.PlayTeamSounds(killer.GetTeamNumber()) self.FirstBlood = True if not self.LateAttendance: scoreToWin = self.FragLimit - teamScore if scoreToWin == 0: GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, "#GES_GP_TDM_WON", teamName) elif scoreToWin <= 3: GEUtil.ClientPrint( None, Glb.HUD_PRINTTALK, plural(scoreToWin, "#GES_GP_TDM_FRAGS_LEFT"), teamName, str(scoreToWin)) self.PlayTeamSounds(killer.GetTeamNumber())
def OnTokenPicked(self, token, player): self.hacker_hasTool = True GEUtil.PlaySoundTo(player, "GEGamePlay.Token_Grab") GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, self.TAG + " The hacker picked up the Insta-Hack") GEUtil.HudMessage(self.team_hacker, "The hacker has the Insta-Hack, protect them at all costs!", -1, 0.65, self.COLOR_NOTICE, 4.0, 1) GEUtil.HudMessage(self.team_preventor, "Warning! The hacker has the Insta-Hack!!", -1, 0.65, self.COLOR_NOTICE, 4.0, 1) GEUtil.PlaySoundTo(self.team_hacker, "GEGamePlay.Token_Grab") GEUtil.PlaySoundTo(self.team_preventor, "GEGamePlay.Token_Grab_Enemy") GERules.GetRadar().DropRadarContact(token)
def addPlayerList(self, player): if GEMPGameRules.IsTeamplay(): self.playerList += [player] if player.GetTeamNumber() == GEGlobal.TEAM_JANUS: self.numJanus += 1 elif player.GetTeamNumber() == GEGlobal.TEAM_MI6: self.numMI6 += 1 else: self.playerList += [player] if not GEEntity.GetUID( player ) in self.playerTimers: GEUtil.ClientPrint(GEEntity.GetUID( player ), GEGlobal.HUD_PRINTTALK, str(self.playerTimers)) self.playerTimers[GEEntity.GetUID( player )] = 0
def OnTokenDropped( self, token, player ): self.aug_holder = None self.lld_progress() radar = GEMPGameRules.GetRadar() radar.DropRadarContact( player ) radar.AddRadarContact( token, GEGlobal.RADAR_TYPE_TOKEN, True, self.RADAR_AUG_ICON ) color = self.RADAR_SCARAMANGA color[3] = 120.0 radar.SetupObjective( token, GEGlobal.TEAM_NONE, "", "", color ) GEUtil.ClientPrint( None, GEGlobal.HUD_PRINTTALK, "#GES_GP_MWGG_DROPPED", player.GetPlayerName() )
def OnTokenDropped(self, token, player): radar = GEMPGameRules.GetRadar() radar.DropRadarContact(player) radar.AddRadarContact(token, GEGlobal.RADAR_TYPE_TOKEN, True, "ge_radar_gg") radar.SetupObjective(token, GEGlobal.TEAM_NONE, "", "", self.gg_dropped_color) GEUtil.ClientPrint(None, GEGlobal.HUD_PRINTTALK, "#GES_GP_MWGG_DROPPED", player.GetCleanPlayerName()) player.SetScoreBoardColor(GEGlobal.SB_COLOR_NORMAL) self.gg_owner = None
def OnPlayerSay(self, player, text): # TODO: Remove me on release if text == "!debug": self.__debug = not self.__debug if self.__debug: GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, self.TAG + "Debugging Enabled") else: GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, self.TAG + "Debugging Disabled") return True elif text == "!voodoo": if player.GetUID( ) == self.hacker_playerUID and self.hacker_hasTool and self.game_currTerminalUID: self.lc_OnHackCompleted() self.timer_hacking.Stop() GERules.GetTokenMgr().RemoveTokenType(self.TOOL_CLASSNAME) return True return False
def lld_eliminateplayer( self, player ): if self.gamestate == self.GAMESTATE_OPEN: self.lld_authorize_everyone() self.gamestate = self.GAMESTATE_SHUT if self.gamestate == self.GAMESTATE_SHUT and player != None: if self.pltracker.GetValue( player, TR_INROUND ): GEUtil.ClientPrint( None, GEGlobal.HUD_PRINTTALK, "#GES_GP_YOLT_ELIMINATED", player.GetPlayerName() ) GEUtil.PopupMessage( player, "#GES_GPH_ELIMINATED_TITLE", "#GES_GPH_ELIMINATED" ) self.pltracker.SetValue( player, TR_INROUND, False ) player.SetScoreBoardColor( GEGlobal.SB_COLOR_ELIMINATED ) self.lld_result_test() self.lld_baron_speedamp() self.lld_progress()
def OnTokenPicked( self, token, player ): self.aug_holder = player self.lld_progress() player.SetScoreBoardColor( GEGlobal.SB_COLOR_GOLD ) radar = GEMPGameRules.GetRadar() radar.DropRadarContact( token ) radar.AddRadarContact( player, GEGlobal.RADAR_TYPE_PLAYER, True, "", self.RADAR_SCARAMANGA ) radar.SetupObjective( player, GEGlobal.TEAM_NONE, "", "", self.RADAR_SCARAMANGA ) GEUtil.PlaySoundTo( player, "GEGamePlay.Token_Grab" ) GEUtil.ClientPrint( None, GEGlobal.HUD_PRINTTALK, "#GES_GP_MWGG_PICKED", player.GetPlayerName() ) GEUtil.HudMessage( player, "#GES_GP_MWGG_HAVEGG", -1, 0.75, self.RADAR_SCARAMANGA, 3.0 ) GEUtil.EmitGameplayEvent( "lald_ggpickup", str( player.GetUserID() ) )
def OnPlayerKilled(self, victim, killer, weapon): if not victim: return if not killer or victim == killer: # Death by world or suicide if victim == self.gg_owner: GEUtil.EmitGameplayEvent("mwgg_suicide", str(victim.GetUserID())) GEUtil.ClientPrint(None, GEGlobal.HUD_PRINTTALK, "#GES_GP_MWGG_SUICIDE") victim.AddRoundScore(-1) else: # Regular kill if victim == self.gg_owner: GEUtil.EmitGameplayEvent("mwgg_killed", str(victim.GetUserID()), str(killer.GetUserID())) GEUtil.ClientPrint(None, GEGlobal.HUD_PRINTTALK, "#GES_GP_MWGG_KILLED", killer.GetCleanPlayerName()) killer.AddRoundScore(1)
def OnTokenPicked(self, token, player): radar = GEMPGameRules.GetRadar() radar.DropRadarContact(token) radar.AddRadarContact(player, GEGlobal.RADAR_TYPE_PLAYER, True, "", self.gg_owner_color) radar.SetupObjective(player, GEGlobal.TEAM_NONE, "", "", self.gg_held_color) GEUtil.PlaySoundTo(player, "GEGamePlay.Token_Grab") GEUtil.ClientPrint(None, GEGlobal.HUD_PRINTTALK, "#GES_GP_MWGG_PICKED", player.GetCleanPlayerName()) GEUtil.EmitGameplayEvent("mwgg_ggpickup", str(player.GetUserID())) GEUtil.HudMessage(player, "#GES_GP_MWGG_HAVEGG", -1, 0.75, self.gg_owner_color, 3.0) radar.SetPlayerRangeMod(player, 0.5) player.SetScoreBoardColor(GEGlobal.SB_COLOR_GOLD) self.gg_owner = player.GetUID()
def PrintWeapons(self, player): if not player: return if player.GetTeamNumber() == GEGlobal.TEAM_MI6: mi6Weapons = "" for i in range(len(mi6WeaponList)): mi6Weapons += "Level %i: %s\n" % (i + 1, mi6WeaponList[i][1]) GEUtil.PopupMessage(player, "MI6's Weapons", mi6Weapons) elif player.GetTeamNumber() == GEGlobal.TEAM_JANUS: janusWeapons = "" for i in range(len(janusWeaponList)): janusWeapons += "Level %i: %s\n" % (i + 1, janusWeaponList[i][1]) GEUtil.PopupMessage(player, "Janus' Weapons", janusWeapons) elif player.GetTeamNumber() == GEGlobal.TEAM_SPECTATOR: GEUtil.ClientPrint(player, GEGlobal.HUD_PRINTTALK, "^lYou are not in play.")
def OnPlayerSay(self, player, text): if text == "!version": GEUtil.ClientPrint(player, GEGlobal.HUD_PRINTTALK, CasinoRoyaleLTKVersion) elif text == "!voodoo": if self.playerTracker.GetValue( player, self.USED_SKIP): GEUtil.PlaySoundToPlayer( player, "Buttons.beep_denied", False ) else: if self.isRoundActive and player.GetTeamNumber() != GEGlobal.TEAM_SPECTATOR: GEUtil.EmitGameplayEvent( "cr_skipused", "%i" % player.GetUserID() ) name = player.GetPlayerName() GEUtil.HudMessage( None, name + " skipped to the next weapon!", -1, self.skipTextYPos, self.skipMsgColor, 3.0, self.skipMSgChannel ) self.playerTracker.SetValue( player, self.USED_SKIP, True) self.showSkipText(player) self.weaponTimer = 0 return True return False
def OnPlayerSpawn( self, player ): assert isinstance( player, GEPlayer.CGEMPPlayer ) self.lld_progress() self.lld_costume_failsafe( player ) if self.lld_player_isbaron( player ): self.lld_baron_spawn( player ) if self.baron_health_cache >= 0: player.SetHealth( clamp( self.baron_health_cache, 0, 160 ) ) self.baron_health_cache = -1 else: player.SetSpeedMultiplier( 1.0 ) player.SetScoreBoardColor( GEGlobal.SB_COLOR_NORMAL ) if not self.pltracker[player][TR_INROUND]: if self.gamestate >= self.GAMESTATE_SHUT: GEUtil.ClientPrint( None, GEGlobal.HUD_PRINTTALK, "#GES_GP_NOJOIN", player.GetPlayerName() ) player.SetScoreBoardColor( GEGlobal.SB_COLOR_ELIMINATED ) else: self.lld_authorize_player( player )
def OnPlayerSpawn(self, player): if player.GetTeamNumber() != GEGlobal.TEAM_SPECTATOR: self.pltracker[player][self.TR_SPAWNED] = True # Reset scoreboard color and max speed for player, and make sure they can't go above max health and armor. player.SetScoreBoardColor(GEGlobal.SB_COLOR_NORMAL) player.SetMaxHealth(int(GEGlobal.GE_MAX_HEALTH)) player.SetMaxArmor(int(GEGlobal.GE_MAX_ARMOR)) player.SetSpeedMultiplier(1.0) if player.IsInitialSpawn(): if not self.IsInPlay(player): GEUtil.PopupMessage(player, "#GES_GPH_CANTJOIN_TITLE", "#GES_GPH_CANTJOIN") GEUtil.PopupMessage(player, "#GES_GPH_OBJECTIVE", "Pick up the Briefcase, then kill other players to eliminate them. " "\nLast agent standing wins the round!") GEUtil.PopupMessage(player, "#GES_GPH_RADAR", "Dropped Briefcase = Blue Square \nBriefcase Holder = Blue Dot") GEUtil.ClientPrint(player, GEGlobal.HUD_PRINTTALK, "^yIf you experience any bugs or have suggestions, " "please report them on GitHub. https://git.io/fpih1")
def IncrementMI6(self): if self.MI6Level == mi6MaxLevel or GERules.GetNumInRoundTeamPlayers( GEGlobal.TEAM_MI6) == 1: return # Increment MI6's level self.MI6Level += 1 for player in GetPlayers(): if player.GetUID() == self.BondUID: self.PrintCurLevel(player) GEUtil.PlaySoundToPlayer(player, "GEGamePlay.Token_Grab") elif self.IsInPlay(player): if player.GetTeamNumber() == GEGlobal.TEAM_MI6: self.PrintCurLevel(player) self.GivePlayerWeapons(player) GEUtil.PlaySoundToPlayer(player, "GEGamePlay.Level_Up") elif player.GetTeamNumber() == GEGlobal.TEAM_JANUS: lvl = self.MI6Level GEUtil.ClientPrint( player, GEGlobal.HUD_PRINTTALK, "^iMI6 ^1leveled up: ^y%s" % mi6WeaponList[lvl][1]) GEUtil.PlaySoundToPlayer(player, "GEGamePlay.Token_Drop_Friend")
def OnPlayerSay(self, player, text): if text == "!version": GEUtil.ClientPrint(None, GEGlobal.HUD_PRINTTALK, HoldTheBriefcaseVersion)
def OnPlayerSay(self, player, text): if self.RoundActive: text = text.lower() if text == "!level": self.PrintCurLevel(player) return True elif text == "!weapons": self.PrintWeapons(player) return True elif text == "!voodoo": if self.Adrenaline: if player.GetUID() == self.BondUID: if self.BondAdrenalineTimer < self.BondAdrenalineTimerCopy: GEUtil.ClientPrint( player, GEGlobal.HUD_PRINTTALK, "^lYour adrenaline shot is depleted.") elif not self.RoundActive: GEUtil.ClientPrint(player, GEGlobal.HUD_PRINTTALK, "^lThe round is inactive.") else: player.SetSpeedMultiplier(1.5) self.pltracker.SetValue(player, self.TR_ADRENALINE, True) GEUtil.ClientPrint( None, GEGlobal.HUD_PRINTTALK, "^iJames Bond ^1injected an adrenaline shot!") GEUtil.PlaySoundToPlayer( player, "GEGamePlay.Token_Grab_Enemy") return True elif player.GetUID() == self.OurumovUID: if self.OurumovAdrenalineTimer < self.OurumovAdrenalineTimerCopy: GEUtil.ClientPrint( player, GEGlobal.HUD_PRINTTALK, "^lYour adrenaline shot is depleted.") elif not self.RoundActive: GEUtil.ClientPrint(player, GEGlobal.HUD_PRINTTALK, "^lThe round is inactive.") else: player.SetSpeedMultiplier(1.5) self.pltracker.SetValue(player, self.TR_ADRENALINE, True) GEUtil.ClientPrint( None, GEGlobal.HUD_PRINTTALK, "^rGeneral Ourumov ^1injected an adrenaline shot!" ) GEUtil.PlaySoundToPlayer( player, "GEGamePlay.Token_Grab_Enemy") return True else: GEUtil.ClientPrint(player, GEGlobal.HUD_PRINTTALK, "^lYou are not the VIP.") return True elif not self.Adrenaline: if player.GetUID() == self.BondUID or player.GetUID( ) == self.OurumovUID: GEUtil.ClientPrint(player, GEGlobal.HUD_PRINTTALK, "^lAdrenaline is disabled.") else: GEUtil.ClientPrint(player, GEGlobal.HUD_PRINTTALK, "^lYou are not the VIP.") return True return False
def OnPlayerSay(self, player, text): if text == "!version": GEUtil.ClientPrint(player, GEGlobal.HUD_PRINTTALK, UplinkVersion)
def OnPlayerSay(self, player, text): if text == "!version": GEUtil.ClientPrint(None, GEGlobal.HUD_PRINTTALK, IAmInvincibleVersion)
def OnPlayerKilled(self, victim, killer, weapon): if self.WaitingForPlayers or self.warmupTimer.IsInWarmup( ) or not victim: return kL = self.GetLevel(killer) vL = self.GetLevel(victim) name = weapon.GetClassname().lower() if name.startswith("npc_"): if name == "npc_grenade": name = "weapon_grenade" elif name == "npc_rocket": name = "weapon_rocket_launcher" elif name == "npc_shell": name = "weapon_grenade_launcher" elif name == "npc_mine_remote": name = "weapon_remotemine" elif name == "npc_mine_timed": name = "weapon_timedmine" elif name == "npc_mine_proximity": name = "weapon_proximitymine" if not killer or victim == killer: # World kill or suicide if vL > 0: self.IncrementLevel(victim, -1) GEUtil.PlaySoundTo(victim, "GEGamePlay.Token_Drop_Enemy") GEUtil.EmitGameplayEvent("ar_levelchange", str(victim.GetUserID()), str(vL + 1), "suicide") elif name == weaponList[kL][ 0] or name == "weapon_knife" or name == "weapon_slappers": # Normal kill if name == "weapon_knife" and vL > 0: self.IncrementLevel(victim, -1) GEUtil.ClientPrint(None, GEGlobal.HUD_PRINTTALK, "#GES_GP_GUNGAME_KNIFED", victim.GetCleanPlayerName()) GEUtil.PlaySoundTo(victim, "GEGamePlay.Token_Drop_Enemy") GEUtil.EmitGameplayEvent("ar_levelchange", str(victim.GetUserID()), str(vL + 1), "knifed") elif name == "weapon_slappers": if vL > 0: self.IncrementLevel(victim, -1) GEUtil.ClientPrint(None, GEGlobal.HUD_PRINTTALK, "#GES_GP_GUNGAME_SLAPPED", victim.GetCleanPlayerName(), killer.GetCleanPlayerName()) GEUtil.PlaySoundTo(victim, "GEGamePlay.Token_Drop_Enemy") GEUtil.EmitGameplayEvent("ar_levelchange", str(victim.GetUserID()), str(vL + 1), "slapped") else: GEUtil.ClientPrint(None, GEGlobal.HUD_PRINTTALK, "#GES_GP_GUNGAME_SLAPPED_NOLOSS", victim.GetCleanPlayerName(), killer.GetCleanPlayerName()) killer.SetArmor(int(GEGlobal.GE_MAX_ARMOR)) self.IncrementLevel(killer, 1) GEUtil.EmitGameplayEvent("ar_levelchange", str(killer.GetUserID()), str(self.GetLevel(killer) + 1)) if self.GetLevel(killer) < maxLevel: GEUtil.PlaySoundTo(killer, "GEGamePlay.Token_Grab") elif self.GetLevel(killer) == maxLevel: GEUtil.ClientPrint(None, GEGlobal.HUD_PRINTTALK, "#GES_GP_AR_FINALWEAPON", killer.GetCleanPlayerName()) GEUtil.PlaySoundTo(killer, "GEGamePlay.Token_Grab_Enemy") if self.GetLevel(killer) <= maxLevel: self.PrintCurLevel(killer) self.GivePlayerWeapons(killer) elif not GERules.IsIntermission(): GERules.EndRound()
def ep_shout( msg ): GEUtil.ClientPrint( None, GEGlobal.HUD_PRINTTALK, msg ) GEUtil.HudMessage( None, msg, -1, -1, EP_SHOUT_COLOR, 2.0 ) return msg
def OnPlayerSay(self, player, text): assert isinstance(text, str) assert isinstance(player, GEPlayer.CGEMPPlayer) text = text.lower() if text == Glb.SAY_COMMAND1: player.ForceRespawn() elif text == Glb.SAY_COMMAND2: self.do_token_test = not self.do_token_test if self.do_token_test: GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, "^mToken Testing Enabled") else: GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, "^mToken Testing Disabled") elif text == "!endround": self.EndRound = not self.EndRound if self.EndRound: GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, "^mRound ending enabled") else: GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, "^mRound ending disabled") elif text == "!endmatch": self.EndMatch = not self.EndMatch if self.EndMatch: GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, "^mMatch ending enabled") else: GEUtil.ClientPrint(None, Glb.HUD_PRINTTALK, "^mMatch ending disabled") elif text == "!doendround": GERules.EndRound(True) elif text == "!doendmatch": GERules.EndMatch() elif text == "!message": GEUtil.PopupMessage(None, "Test Message 1", "This is a test of the popup message system!") GEUtil.PopupMessage(None, "Test Message 2", "This is a test of the popup message system!", "mwgg_goal") GEUtil.PopupMessage(None, "Test Message 3", "#GES_GPH_ELIMINATED") elif text == "!droptoken": weap = player.GetActiveWeapon() if weap and GERules.GetTokenMgr().IsValidToken( weap.GetClassname()): GERules.GetTokenMgr().TransferToken(weap, None) elif text == "!te": GEUtil.CreateTempEnt(TE.RING, origin=player.GetAbsOrigin(), radius_start=110, radius_end=130, width=3, color=Color(255, 0, 0, 120), framerate=10, amplitude=0.2) elif text == "!dump": for plr in GetPlayers(): r = random.random() if r < 0.5: self.pltracker.SetValue(plr, "testing", True) else: self.pltracker.SetValue(plr, "testing", False) self.pltracker.DumpData() elif text == "!msgtest": pos = GEUtil.Vector(player.GetAbsOrigin()) pos[2] += 20 # This purposefully doesn't do anything player.SetAbsOrigin(pos) GEUtil.HudMessage(None, "%s\n^rRight^| Align" % player.GetSteamID(), -0.05, -1, Color(255, 255, 255, 255)) GEUtil.HudMessage(None, "%s\n^cBottom^| Align" % pos, 0.05, -0.05, Color(255, 255, 255, 255)) else: return False return True