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
Beispiel #2
0
 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()))
Beispiel #3
0
    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()
Beispiel #5
0
    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)
Beispiel #7
0
    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.")
Beispiel #8
0
    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)
Beispiel #9
0
    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)
Beispiel #11
0
		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() )
Beispiel #13
0
    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() ) )
Beispiel #17
0
    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)
Beispiel #18
0
    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()
Beispiel #19
0
    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 )
Beispiel #22
0
    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")
Beispiel #23
0
    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)
Beispiel #25
0
    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
Beispiel #26
0
 def OnPlayerSay(self, player, text):
     if text == "!version":
         GEUtil.ClientPrint(player, GEGlobal.HUD_PRINTTALK, UplinkVersion)
Beispiel #27
0
 def OnPlayerSay(self, player, text):
     if text == "!version":
         GEUtil.ClientPrint(None, GEGlobal.HUD_PRINTTALK,
                            IAmInvincibleVersion)
Beispiel #28
0
    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