You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
470 lines
22 KiB
470 lines
22 KiB
14 years ago
|
""" *==LICENSE==*
|
||
|
|
||
|
CyanWorlds.com Engine - MMOG client, server and tools
|
||
|
Copyright (C) 2011 Cyan Worlds, Inc.
|
||
|
|
||
|
This program is free software: you can redistribute it and/or modify
|
||
|
it under the terms of the GNU General Public License as published by
|
||
|
the Free Software Foundation, either version 3 of the License, or
|
||
|
(at your option) any later version.
|
||
|
|
||
|
This program is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
GNU General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License
|
||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
|
|
||
|
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||
|
or by snail mail at:
|
||
|
Cyan Worlds, Inc.
|
||
|
14617 N Newport Hwy
|
||
|
Mead, WA 99021
|
||
|
|
||
|
*==LICENSE==* """
|
||
|
"""
|
||
|
This module is contains the datatypes and constants for
|
||
|
interfacing with the KI subsytem
|
||
|
"""
|
||
|
|
||
|
# OnKIMsg and PtSendKIMessage command types
|
||
|
kEnterChatMode=1 # start chat mode on KI, 'value' doesn't matter
|
||
|
kSetChatFadeDelay=2 # set the chat fade time, 'value' is the delay in seconds
|
||
|
kSetTextChatAdminMode=3 # set self to be admin mode, 'value' is 1 to go into Admin mode, 0 remove
|
||
|
kDisableKIandBB=4 # disable the KI and the blackbar, 'value' doesn't matter
|
||
|
kEnableKIandBB=5 # enable the KI and the blackbar, 'value' doesn't matter
|
||
|
kYesNoDialog=6 # request that the KI put up a yes/no dialog for someone else
|
||
|
kAddPlayerDevice=7 # add player interactive device to list of devices, 'value' is device name
|
||
|
kRemovePlayerDevice=8 # remove player interactive device from list, 'value' is device name
|
||
|
kUpgradeKILevel=9 # upgrade new level of KI (if already at that level, nevermind), 'value' is the new level
|
||
|
kDowngradeKILevel=10 # remove (drop) the KI level (if not at that level, nevermind), 'value' is the level to remove
|
||
|
kRateIt=11 # request for the KI to ask the user to Rate something
|
||
|
kSetPrivateChatChannel=12 # sets the private chat channel to number, for private rooms
|
||
|
kUnsetPrivateChatChannel=13 # undoes the the private chat channel.
|
||
|
kStartBookAlert=14 # start the book alert
|
||
|
kMiniBigKIToggle=15 # shortcut to toggling the miniKI/bigKI
|
||
|
kKIPutAway=16 # shortcut to hiding all of the KI
|
||
|
kChatAreaPageUp=17 # shortcut to paging up the chat area
|
||
|
kChatAreaPageDown=18 # shortcut to paging down the chat area
|
||
|
kChatAreaGoToBegin=19 # shortcut to going to the beginning of the chat area
|
||
|
kChatAreaGoToEnd=20 # shortcut to going to the end of the chat area
|
||
|
kKITakePicture=21 # shortcut to taking a picture in the KI
|
||
|
kKICreateJournalNote=22 # shortcut to creating a journal note in the KI
|
||
|
kKIToggleFade=23 # shortcut to toggle fade mode in the miniKI (only if miniKI only)
|
||
|
kKIToggleFadeEnable=24 # shortcut to toggling the enable flag for fading chat
|
||
|
kKIChatStatusMsg=25 # display a status message (net propagated) in the chat window
|
||
|
kKILocalChatStatusMsg=26 # display a status message (local only) in the chat window
|
||
|
kKIUpSizeFont=27 # up size the font in the KI (chatarea)
|
||
|
kKIDownSizeFont=28 # down size the font in the KI (chatarea)
|
||
|
kKIOpenYeehsaBook=29 # open the Yeehsa book, if not already open
|
||
|
kKIOpenKI=30 # open the KI a little at a time
|
||
|
kKIShowCCRHelp=31 # show the CCR help dialog
|
||
|
kKICreateMarker=32 # create a marker
|
||
|
kKICreateMarkerFolder=33 # create a marker folder(node) game in the current Age's journal folder
|
||
|
kKILocalChatErrorMsg=34 # display an error message (local only) in the chat window
|
||
|
kKIPhasedAllOn=35 # turn on all the phased KI functionality
|
||
|
kKIPhasedAllOff=36 # turn off all the phased KI functionality
|
||
|
kKIOKDialog=37 # display an OK dialog box (localized)
|
||
|
kDisableYeeshaBook=38 # don't allow linking with the Yeesha book (gameplay)
|
||
|
kEnableYeeshaBook=39 # re-allow linking with the Yeesha book
|
||
|
kQuitDialog=40 # put up Quit dialog
|
||
|
kTempDisableKIandBB=41 # temp disable KI and blackbar (done by av system)
|
||
|
kTempEnableKIandBB=42 # temp re-enable the KI and blackbar (done by av system)
|
||
|
kDisableEntireYeeshaBook=43 # disable the entire Yeeshabook, not for gameplay, but prevent linking
|
||
|
kEnableEntireYeeshaBook=44 # enable the entire Yeeshabook, not for gameplay
|
||
|
kKIOKDialogNoQuit=45 # display OK dialog in the KI without quiting afterwards
|
||
|
kGZUpdated=46 # the GZ game was updated
|
||
|
kGZInRange=47 # a GZ marker is in range
|
||
|
kGZOutRange=48 # GZ markers are out of range
|
||
|
kUpgradeKIMarkerLevel=49 # upgrade the KI marker level
|
||
|
kKIShowMiniKI=50 # force the miniKI up
|
||
|
kGZFlashUpdate=51 # flash update to the GZ display on the miniKI (without saving)
|
||
|
kStartJournalAlert = 52 # start the journal alert
|
||
|
kAddJournalBook = 53 # add the journal book to the BB
|
||
|
kRemoveJournalBook = 54 # remove the journal book from the BB
|
||
|
kKIOpenJournalBook = 55 # show the journal book
|
||
|
kMGStartCGZGame = 56 # Start CGZ Marker Game
|
||
|
kMGStopCGZGame = 57 # Stop CGZ Marker Game
|
||
|
kKICreateMarkerNode = 58 #Creates the marker game vault Node
|
||
|
kStartKIAlert = 59 # start the KI alert
|
||
|
kUpdatePelletScore = 60 # Updates the pellet score
|
||
|
kFriendInviteSent = 61 # Result of friend invite received
|
||
|
kRegisterImager = 62 # Imagers send to register themselves with the KI
|
||
|
|
||
|
# kUpgradeKILevel and kDowngradeKILevel levels
|
||
|
kNanoKI=0
|
||
|
kMicroKI=1
|
||
|
kNormalKI=2
|
||
|
kLowestKILevel = kNanoKI
|
||
|
kHighestKILevel = kNormalKI
|
||
|
|
||
|
# Upgrade levels for the KI marker
|
||
|
kKIMarkerNotUpgraded = 0
|
||
|
kKIMarkerFirstLevel = 1 # can play marker tag, but no GPS, can play first set of GZMarkers
|
||
|
kKIMarkerSecondLevel = 2 # can get to back room in GreatZero and play second set of GZmarkers
|
||
|
kKIMarkerNormalLevel = 3 # complete both GZmarker trials - has GPS
|
||
|
|
||
|
# GZ Marker and Calibration GZ Marker status
|
||
|
kGZMarkerInactive = "0"
|
||
|
kGZMarkerAvailable = "1"
|
||
|
kGZMarkerCaptured = "2"
|
||
|
kGZMarkerUploaded = "3"
|
||
|
|
||
|
# Calibration GZ Marker Games
|
||
|
kCGZMarkerInactive = "0"
|
||
|
kCGZMarkerAvailable = "1"
|
||
|
kCGZMarkerCaptured = "2"
|
||
|
kCGZMarkerUploaded = "3"
|
||
|
gCGZAllStates = [ kCGZMarkerInactive, kCGZMarkerAvailable, kCGZMarkerCaptured, kCGZMarkerUploaded ]
|
||
|
kCGZFirstGame = 0
|
||
|
kCGZFinalGame = 3
|
||
|
kCGZToransGame = 0
|
||
|
kCGZHSpansGame = 1
|
||
|
kCGZVSpansGame = 2
|
||
|
kCGZActivateGZ = 3
|
||
|
|
||
|
|
||
|
# -- chronicle names and types
|
||
|
kChronicleKILevel = "PlayerKILevel"
|
||
|
kChronicleKILevelType = 2
|
||
|
kChronicleCensorLevel = "PlayerCensorLevel"
|
||
|
kChronicleCensorLevelType = 2
|
||
|
kChronicleKIMarkerLevel = "KIMarkerLevel"
|
||
|
kChronicleKIMarkerLevelType = 2
|
||
|
kChronicleGZGames = "GZGames"
|
||
|
kChronicleGZGamesType = 1
|
||
|
kChronicleGZMarkersAquired = "GZMarkersAquired"
|
||
|
kChronicleGZMarkersAquiredType = 1
|
||
|
kChronicleCalGZMarkersAquired = "CalGZMarkers"
|
||
|
kChronicleCalGZMarkersAquiredType = 1
|
||
|
|
||
|
|
||
|
def PtDetermineKILevel():
|
||
|
"Get the KILevel"
|
||
|
# assume that they have none...
|
||
|
import Plasma
|
||
|
import string
|
||
|
vault = Plasma.ptVault()
|
||
|
entry = vault.findChronicleEntry(kChronicleKILevel)
|
||
|
if type(entry) != type(None):
|
||
|
level = string.atoi(entry.chronicleGetValue())
|
||
|
# make sure it is a valid level
|
||
|
if level >= kLowestKILevel and level <= kHighestKILevel:
|
||
|
return level
|
||
|
# if couldn't be determine... just assume lowest form
|
||
|
return kNanoKI
|
||
|
|
||
|
def PtDetermineCensorLevel():
|
||
|
"Get the KILevel"
|
||
|
# assume that they have none...
|
||
|
import Plasma
|
||
|
import string
|
||
|
vault = Plasma.ptVault()
|
||
|
entry = vault.findChronicleEntry(kChronicleCensorLevel)
|
||
|
if type(entry) != type(None):
|
||
|
level = string.atoi(entry.chronicleGetValue())
|
||
|
return level
|
||
|
# if couldn't be determine... just assume lowest form
|
||
|
return 0
|
||
|
|
||
|
def PtDetermineKIMarkerLevel():
|
||
|
"Get the KIMarkerLevel"
|
||
|
# assume that they have none...
|
||
|
import Plasma
|
||
|
import string
|
||
|
vault = Plasma.ptVault()
|
||
|
entry = vault.findChronicleEntry(kChronicleKIMarkerLevel)
|
||
|
if type(entry) != type(None):
|
||
|
level = string.atoi(entry.chronicleGetValue())
|
||
|
return level
|
||
|
# if couldn't be determine... just assume lowest form
|
||
|
return kKIMarkerNotUpgraded
|
||
|
|
||
|
def PtGetCGZGameState(whichGame):
|
||
|
"Get the CGZ Game level"
|
||
|
# assume that they have none...
|
||
|
import Plasma
|
||
|
import PlasmaTypes
|
||
|
if whichGame >= kCGZFirstGame and whichGame <= kCGZFinalGame:
|
||
|
vault = Plasma.ptVault()
|
||
|
entry = vault.findChronicleEntry(kChronicleCalGZMarkersAquired)
|
||
|
if type(entry) != type(None):
|
||
|
allStates = entry.chronicleGetValue()
|
||
|
PlasmaTypes.PtDebugPrint("PlasmaKITypes:PtGetCGZGameLevel current chronicle is %s"%(allStates),level=PlasmaTypes.kDebugDumpLevel)
|
||
|
state = kCGZMarkerInactive # assume inactive
|
||
|
try:
|
||
|
state = allStates[whichGame]
|
||
|
except LookupError:
|
||
|
PlasmaTypes.PtDebugPrint("PlasmaKITypes:PtGetCGZGameLevel - CGZ marker game not there? chron=%s"%(allStates),level=PlasmaTypes.kErrorLevel)
|
||
|
pass
|
||
|
return state
|
||
|
else:
|
||
|
PlasmaTypes.PtDebugPrint("PlasmaKITypes:PtGetCGZGameLevel no chronicle yet",level=PlasmaTypes.kDebugDumpLevel)
|
||
|
else:
|
||
|
PlasmaTypes.PtDebugPrint("PlasmaKITypes:PtGetCGZGameLevel - invalid CGZ game of %d"%(whichGame),level=PlasmaTypes.kErrorLevel)
|
||
|
pass
|
||
|
# if couldn't be determine... just assume lowest form
|
||
|
return kCGZMarkerInactive
|
||
|
|
||
|
def PtSetCGZGameState(whichGame,state):
|
||
|
"Get the CGZ Game level"
|
||
|
# assume that they have none...
|
||
|
import Plasma
|
||
|
import PlasmaTypes
|
||
|
if whichGame >= kCGZFirstGame and whichGame <= kCGZFinalGame:
|
||
|
if type(state) == type("") and state in gCGZAllStates:
|
||
|
PlasmaTypes.PtDebugPrint("PlasmaKITypes:PtSetCGZGameLevel - setting game %d to %s"%(whichGame,state),level=PlasmaTypes.kDebugDumpLevel)
|
||
|
vault = Plasma.ptVault()
|
||
|
entry = vault.findChronicleEntry(kChronicleCalGZMarkersAquired)
|
||
|
if type(entry) != type(None):
|
||
|
allStates = entry.chronicleGetValue()
|
||
|
newStates = ""
|
||
|
for idx in range(kCGZFinalGame+1):
|
||
|
if idx == whichGame:
|
||
|
newStates += state
|
||
|
else:
|
||
|
try:
|
||
|
newStates += allStates[idx]
|
||
|
except LookupError:
|
||
|
newStates += kCGZMarkerInactive
|
||
|
# make sure we get whatever is beyond this
|
||
|
newStates += allStates[kCGZFinalGame+1:]
|
||
|
entry.chronicleSetValue(newStates)
|
||
|
entry.save()
|
||
|
else:
|
||
|
# create a new one
|
||
|
newStates = ""
|
||
|
for idx in range(kCGZFinalGame+1):
|
||
|
if idx == whichGame:
|
||
|
newStates += state
|
||
|
else:
|
||
|
newStates += kCGZMarkerInactive
|
||
|
vault.addChronicleEntry(kChronicleCalGZMarkersAquired,kChronicleCalGZMarkersAquiredType,newStates)
|
||
|
else:
|
||
|
PlasmaTypes.PtDebugPrint("PlasmaKITypes:PtSetCGZGameLevel - invalid CGZ game state of:",state,level=PlasmaTypes.kErrorLevel)
|
||
|
pass
|
||
|
else:
|
||
|
PlasmaTypes.PtDebugPrint("PlasmaKITypes:PtSetCGZGameLevel - invalid CGZ game of %d"%(whichGame),level=PlasmaTypes.kErrorLevel)
|
||
|
pass
|
||
|
|
||
|
def PtWhichCGZPlaying():
|
||
|
"Has the player completed the CGZ stuff"
|
||
|
import Plasma
|
||
|
whichGame = -1
|
||
|
state = kCGZMarkerInactive
|
||
|
vault = Plasma.ptVault()
|
||
|
entry = vault.findChronicleEntry(kChronicleCalGZMarkersAquired)
|
||
|
if type(entry) != type(None):
|
||
|
allStates = entry.chronicleGetValue()
|
||
|
if len(allStates) > kCGZFinalGame:
|
||
|
state = kCGZMarkerUploaded
|
||
|
for i in range(kCGZFinalGame+1):
|
||
|
if allStates[i] == kCGZMarkerAvailable or allStates[i] == kCGZMarkerCaptured:
|
||
|
whichGame = i
|
||
|
state = allStates[i]
|
||
|
break
|
||
|
if allStates[i] != kCGZMarkerUploaded:
|
||
|
state = kCGZMarkerInactive
|
||
|
return (whichGame,state)
|
||
|
|
||
|
def PtIsCGZDone():
|
||
|
"Has the player completed the CGZ stuff"
|
||
|
import Plasma
|
||
|
isDone = 0
|
||
|
vault = Plasma.ptVault()
|
||
|
entry = vault.findChronicleEntry(kChronicleCalGZMarkersAquired)
|
||
|
if type(entry) != type(None):
|
||
|
allStates = entry.chronicleGetValue()
|
||
|
if len(allStates) > kCGZFinalGame:
|
||
|
# assume that we are going to find them all
|
||
|
isDone = 1
|
||
|
for i in range(kCGZFinalGame+1):
|
||
|
if allStates[i] != kCGZMarkerUploaded:
|
||
|
isDone = 0
|
||
|
break
|
||
|
return isDone
|
||
|
|
||
|
def PtDetermineGZ():
|
||
|
"Get the current GZ states"
|
||
|
import Plasma
|
||
|
import PlasmaTypes
|
||
|
import string
|
||
|
GZPlaying = 0
|
||
|
MarkerToGetColor = 'off'
|
||
|
MarkerGottenColor = 'off'
|
||
|
MarkerToGetNumber = 0
|
||
|
MarkerGottenNumber = 0
|
||
|
KIMarkerLevel = PtDetermineKIMarkerLevel()
|
||
|
if KIMarkerLevel > kKIMarkerNotUpgraded:
|
||
|
# see if they are playing a CGZ game
|
||
|
(whichGame,state) = PtWhichCGZPlaying()
|
||
|
if KIMarkerLevel < kKIMarkerNormalLevel or (KIMarkerLevel == kKIMarkerNormalLevel and whichGame != -1):
|
||
|
vault = Plasma.ptVault()
|
||
|
# is there a chronicle for the GZ games?
|
||
|
entry = vault.findChronicleEntry(kChronicleGZGames)
|
||
|
if type(entry) != type(None):
|
||
|
gameString = entry.chronicleGetValue()
|
||
|
PlasmaTypes.PtDebugPrint("PtDetermineGZ: - game string is %s" % (gameString),level=PlasmaTypes.kDebugDumpLevel)
|
||
|
args = gameString.split()
|
||
|
if len(args) == 3:
|
||
|
try:
|
||
|
GZPlaying = string.atoi(args[0])
|
||
|
colors = args[1].split(':')
|
||
|
MarkerGottenColor = colors[0]
|
||
|
MarkerToGetColor = colors[1]
|
||
|
outof = args[2].split(':')
|
||
|
MarkerGottenNumber = string.atoi(outof[0])
|
||
|
MarkerToGetNumber = string.atoi(outof[1])
|
||
|
except ValueError:
|
||
|
PlasmaTypes.PtDebugPrint("xKI:GZ - error trying to read GZGames Chronicle",level=PlasmaTypes.kErrorLevel)
|
||
|
# we don't know which one it errored on, so just reset them all
|
||
|
GZPlaying = 0
|
||
|
MarkerToGetColor = 'off'
|
||
|
MarkerGottenColor = 'off'
|
||
|
MarkerToGetNumber = 0
|
||
|
MarkerGottenNumber = 0
|
||
|
else:
|
||
|
PlasmaTypes.PtDebugPrint("xKI:GZ - error GZGames string formation error",level=PlasmaTypes.kErrorLevel)
|
||
|
pass
|
||
|
else:
|
||
|
# can't be playing a GZGame!
|
||
|
# ...might be a MarkerTag game... let the KI determine that.
|
||
|
pass
|
||
|
PlasmaTypes.PtDebugPrint("PtDetermineGZ: - returning game=%d colors=%s:%s markers=%d:%d" % (GZPlaying, MarkerGottenColor, MarkerToGetColor ,MarkerGottenNumber, MarkerToGetNumber),level=PlasmaTypes.kDebugDumpLevel)
|
||
|
return (GZPlaying,MarkerGottenColor,MarkerToGetColor,MarkerGottenNumber,MarkerToGetNumber)
|
||
|
|
||
|
def PtCaptureGZMarker(GZMarkerInRange):
|
||
|
import Plasma
|
||
|
import PlasmaTypes
|
||
|
# get current GZ Game state
|
||
|
(GZPlaying,MarkerGottenColor,MarkerToGetColor,MarkerGottenNumber,MarkerToGetNumber) = PtDetermineGZ()
|
||
|
# make sure there is room for the capture marker
|
||
|
if GZPlaying and MarkerToGetNumber > MarkerGottenNumber:
|
||
|
# set the marker status to 'gotten'
|
||
|
# ...in the GZ marker chronicle
|
||
|
vault = Plasma.ptVault()
|
||
|
# is there a chronicle for the GZ games?
|
||
|
entry = vault.findChronicleEntry(kChronicleGZMarkersAquired)
|
||
|
if type(entry) != type(None):
|
||
|
markers = entry.chronicleGetValue()
|
||
|
markerIdx = GZMarkerInRange - 1
|
||
|
if markerIdx >= 0 and markerIdx < len(markers):
|
||
|
# Set the marker to "captured"
|
||
|
PlasmaTypes.PtDebugPrint("PtCaptureGZMarker: starting with '%s' changing %d to '%s'" % (markers,GZMarkerInRange,kGZMarkerCaptured),level=PlasmaTypes.kDebugDumpLevel)
|
||
|
if len(markers)-(markerIdx+1) != 0:
|
||
|
markers = markers[:markerIdx] + kGZMarkerCaptured + markers[-(len(markers)-(markerIdx+1)):]
|
||
|
else:
|
||
|
markers = markers[:markerIdx] + kGZMarkerCaptured
|
||
|
#PlasmaTypes.PtDebugPrint("xKI: out string is '%s'" % (markers),level=PlasmaTypes.kDebugDumpLevel)
|
||
|
entry.chronicleSetValue(markers)
|
||
|
entry.save()
|
||
|
# update the marker Gotten count
|
||
|
totalGotten = markers.count(kGZMarkerCaptured)
|
||
|
KIMarkerLevel = PtDetermineKIMarkerLevel()
|
||
|
if KIMarkerLevel > kKIMarkerFirstLevel:
|
||
|
# if this is the second wave of markers (or beyond)
|
||
|
totalGotten -= 5
|
||
|
if totalGotten < 0:
|
||
|
totalGotten = 0
|
||
|
if totalGotten > MarkerToGetNumber:
|
||
|
totalGotten = MarkerToGetNumber
|
||
|
MarkerGottenNumber = totalGotten
|
||
|
# save update to chronicle
|
||
|
PtUpdateGZGamesChonicles(GZPlaying,MarkerGottenColor,MarkerToGetColor,MarkerGottenNumber,MarkerToGetNumber)
|
||
|
else:
|
||
|
PlasmaTypes.PtDebugPrint("PtCaptureGZMarker: invalid marker serial number of %d" % (gGZMarkerInRange),level=PlasmaTypes.kErrorLevel )
|
||
|
pass
|
||
|
else:
|
||
|
PlasmaTypes.PtDebugPrint("PtCaptureGZMarker: no chronicle entry found",level=PlasmaTypes.kErrorLevel )
|
||
|
pass
|
||
|
else:
|
||
|
PlasmaTypes.PtDebugPrint("PtCaptureGZMarker: no game or this game is complete",level=PlasmaTypes.kErrorLevel )
|
||
|
pass
|
||
|
|
||
|
def PtVerifyGZMarker():
|
||
|
import Plasma
|
||
|
import PlasmaTypes
|
||
|
# get current GZ Game state
|
||
|
(GZPlaying,MarkerGottenColor,MarkerToGetColor,MarkerGottenNumber,MarkerToGetNumber) = PtDetermineGZ()
|
||
|
# make sure there is room for the capture marker
|
||
|
if GZPlaying:
|
||
|
# set the marker status to 'gotten'
|
||
|
# ...in the GZ marker chronicle
|
||
|
vault = Plasma.ptVault()
|
||
|
# is there a chronicle for the GZ games?
|
||
|
entry = vault.findChronicleEntry(kChronicleGZMarkersAquired)
|
||
|
if type(entry) != type(None):
|
||
|
markers = entry.chronicleGetValue()
|
||
|
# get what was really gotten
|
||
|
totalGotten = markers.count(kGZMarkerCaptured)
|
||
|
KIMarkerLevel = PtDetermineKIMarkerLevel()
|
||
|
if KIMarkerLevel > kKIMarkerFirstLevel:
|
||
|
# if this is the second wave of markers (or beyond)
|
||
|
totalGotten -= 5
|
||
|
if totalGotten < 0:
|
||
|
totalGotten = 0
|
||
|
if totalGotten > MarkerToGetNumber:
|
||
|
totalGotten = MarkerToGetNumber
|
||
|
if totalGotten != MarkerGottenNumber:
|
||
|
PlasmaTypes.PtDebugPrint("PtVerifyGZMarker: Error! Gotten different than real. They say=%d We say=%d"%(MarkerGottenNumber,totalGotten),level=PlasmaTypes.kErrorLevel )
|
||
|
MarkerGottenNumber = totalGotten
|
||
|
# save update to chronicle
|
||
|
PtUpdateGZGamesChonicles(GZPlaying,MarkerGottenColor,MarkerToGetColor,MarkerGottenNumber,MarkerToGetNumber)
|
||
|
Plasma.PtSendKIMessage(kGZUpdated,0)
|
||
|
return (GZPlaying,MarkerGottenColor,MarkerToGetColor,MarkerGottenNumber,MarkerToGetNumber)
|
||
|
|
||
|
def PtUpdateGZGamesChonicles(GZPlaying,MarkerGottenColor,MarkerToGetColor,MarkerGottenNumber,MarkerToGetNumber):
|
||
|
"Update the GZ chronicle variable"
|
||
|
import Plasma
|
||
|
import PlasmaTypes
|
||
|
vault = Plasma.ptVault()
|
||
|
# is there a chronicle for the GZ games?
|
||
|
entry = vault.findChronicleEntry(kChronicleGZGames)
|
||
|
try:
|
||
|
upstring = "%d %s:%s %d:%d" % (GZPlaying,MarkerGottenColor,MarkerToGetColor,MarkerGottenNumber,MarkerToGetNumber)
|
||
|
if type(entry) != type(None):
|
||
|
entry.chronicleSetValue(upstring)
|
||
|
entry.save()
|
||
|
else:
|
||
|
# if there is none, then just add another entry
|
||
|
vault.addChronicleEntry(kChronicleGZGames,kChronicleGZGamesType,upstring)
|
||
|
except TypeError:
|
||
|
if type(GZPlaying) != type(0):
|
||
|
PlasmaTypes.PtDebugPrint("PtUpdateGZGamesChronicle: GZPlaying wrong type (should be integer)",level=PlasmaTypes.kErrorLevel )
|
||
|
pass
|
||
|
if type(MarkerToGetColor) != type(""):
|
||
|
PlasmaTypes.PtDebugPrint("PtUpdateGZGamesChronicle: GZPlaying wrong type (should be string)",level=PlasmaTypes.kErrorLevel )
|
||
|
pass
|
||
|
if type(MarkerGottenColor) != type(""):
|
||
|
PlasmaTypes.PtDebugPrint("PtUpdateGZGamesChronicle: GZPlaying wrong type (should be string)",level=PlasmaTypes.kErrorLevel )
|
||
|
pass
|
||
|
if type(MarkerToGetNumber) != type(0):
|
||
|
PlasmaTypes.PtDebugPrint("PtUpdateGZGamesChronicle: GZPlaying wrong type (should be integer)",level=PlasmaTypes.kErrorLevel )
|
||
|
pass
|
||
|
if type(MarkerGottenNumber) != type(0):
|
||
|
PlasmaTypes.PtDebugPrint("PtUpdateGZGamesChronicle: GZPlaying wrong type (should be integer)",level=PlasmaTypes.kErrorLevel )
|
||
|
pass
|
||
|
pass
|
||
|
|
||
|
|
||
|
# OnRTChat flags
|
||
|
# NOTE: kRTChatInterAge = 8 is being used in cyMisc.cpp SendRTChat (hard coded) so don't change here unless you change that too
|
||
|
kRTChatPrivate=1
|
||
|
kRTChatAdmin=2
|
||
|
kRTChatPrivateAdmin=3
|
||
|
kRTChatInterAge=8
|
||
|
kRTChatStatusMsg=16
|
||
|
kRTChatNeighborsMsg=32
|
||
|
|
||
|
# flags channel mask
|
||
|
kRTChatFlagMask = 65535
|
||
|
kRTChatChannelMask = 65280
|
||
|
kRTChatNoChannel = 255
|
||
|
|
||
|
# OnCCRMsg flags
|
||
|
kCCRBeginCommunication=1
|
||
|
kCCRChat=2
|
||
|
kCCREndCommunication=3
|
||
|
kCCRReturnChatMsg=4
|