コード例 #1
0
def GameExpansion():

	version = GemRB.GameGetExpansion()
	if version<3:
		GemRB.GameSetReputation(100)

	if not GameCheck.HasTOB():
		return

	# bgt reuses the tutorial for its soa mode (playmode==0 is bg1)
	bgtSOA = False
	if GemRB.GetVar ("PlayMode") == 1 and (GameCheck.HasBGT() or GameCheck.HasTutu()):
		bgtSOA = True

	# old singleplayer soa or bgt soa/tutorial hybrid
	if version < 5 and (GemRB.GetVar ("PlayMode") == 0 or bgtSOA) and GemRB.GetVar ("oldgame"):
		#upgrade SoA to ToB/SoA
		if GemRB.GameSetExpansion(4):
			GemRB.AddNewArea("xnewarea")
		return

	if not GemRB.GameSetExpansion(5):
		return

	#upgrade to ToB only
	GemRB.SetVar ("SaveDir", 1)
	GemRB.SetMasterScript("BALDUR25","WORLDM25")
	GemRB.SetGlobal("INTOB","GLOBAL",1)
	GemRB.SetGlobal("HADELLESIMEDREAM1","GLOBAL", 1)
	GemRB.SetGlobal("HADELLESIMEDREAM2","GLOBAL", 1)
	GemRB.SetGlobal("HADIMOENDREAM1","GLOBAL", 1)
	GemRB.SetGlobal("HADSLAYERDREAM","GLOBAL", 1)
	GemRB.SetGlobal("HADJONDREAM1","GLOBAL", 1)
	GemRB.SetGlobal("HADJONDREAM2","GLOBAL", 1)
	idx = GemRB.GetPartySize()
	PDialogTable = GemRB.LoadTable ("pdialog")
	
	while idx:
		name = GemRB.GetPlayerName(idx, 2) #scripting name
		# change the override script to the new one
		if name != "none":
			newScript = PDialogTable.GetValue (name.upper(), "25OVERRIDE_SCRIPT_FILE")
			newDialog = PDialogTable.GetValue (name.upper(), "25JOIN_DIALOG_FILE")
			SetPlayerScript (idx, newScript, 0) # 0 is SCR_OVERRIDE, the override script slot
			SetPlayerDialog (idx, newDialog)
		
			if name == "yoshimo":
				RemoveYoshimo(idx)
			elif name == "imoen":
				RemoveImoen(idx)
			elif name == "edwin":
				FixEdwin(idx)
			elif name == "anomen":
				FixAnomen(idx)
		else:
			FixProtagonist(idx)
			GemRB.GameSelectPC (idx, True, SELECT_REPLACE)
		idx=idx-1
	return
コード例 #2
0
ファイル: MessageWindow.py プロジェクト: scriptedfate/gemrb
def GameExpansion():

    version = GemRB.GameGetExpansion()
    if version < 3:
        GemRB.GameSetReputation(100)

    if not GUICommon.HasTOB():
        return

    if version < 5 and not GemRB.GetVar("PlayMode") and GemRB.GetVar(
            "oldgame"):
        #upgrade SoA to ToB/SoA
        if GemRB.GameSetExpansion(4):
            GemRB.AddNewArea("xnewarea")
        return

    if not GemRB.GameSetExpansion(5):
        return

    #upgrade to ToB only
    GemRB.SetVar("SaveDir", 1)
    GemRB.SetMasterScript("BALDUR25", "WORLDM25")
    GemRB.SetGlobal("INTOB", "GLOBAL", 1)
    GemRB.SetGlobal("HADELLESIMEDREAM1", "GLOBAL", 1)
    GemRB.SetGlobal("HADELLESIMEDREAM2", "GLOBAL", 1)
    GemRB.SetGlobal("HADIMOENDREAM1", "GLOBAL", 1)
    GemRB.SetGlobal("HADSLAYERDREAM", "GLOBAL", 1)
    GemRB.SetGlobal("HADJONDREAM1", "GLOBAL", 1)
    GemRB.SetGlobal("HADJONDREAM2", "GLOBAL", 1)
    idx = GemRB.GetPartySize()
    PDialogTable = GemRB.LoadTable("pdialog")

    while idx:
        name = GemRB.GetPlayerName(idx, 2)  #scripting name
        # change the override script to the new one
        newScript = PDialogTable.GetValue("25OVERRIDE_SCRIPT_FILE",
                                          name.upper())
        SetPlayerScript(idx, newScript,
                        0)  # 0 is SCR_OVERRIDE, the override script slot
        if name == "yoshimo":
            RemoveYoshimo(idx)
        elif name == "imoen":
            RemoveImoen(idx)
        elif name == "edwin":
            FixEdwin(idx)
        elif name == "anomen":
            FixAnomen(idx)
        elif name == "none":
            FixProtagonist(idx)
            GemRB.GameSelectPC(idx, True, SELECT_REPLACE)
        idx = idx - 1
    return
コード例 #3
0
ファイル: MessageWindow.py プロジェクト: dhewg/gemrb
def GameExpansion():

	version = GemRB.GameGetExpansion()
	if version<3:
		GemRB.GameSetReputation(100)

	if not GUICommon.HasTOB():
		return

	if GemRB.GetVar("oldgame"):
		#upgrade SoA to ToB/SoA
		if GemRB.GameSetExpansion(4):
			GemRB.AddNewArea("xnewarea")
		return

	if not GemRB.GameSetExpansion(5):
		return

	#upgrade to ToB only
	GemRB.SetMasterScript("BALDUR25","WORLDM25")
	GemRB.SetGlobal("INTOB","GLOBAL",1)
	GemRB.SetGlobal("HADELLESIMEDREAM1","GLOBAL", 1)
	GemRB.SetGlobal("HADELLESIMEDREAM2","GLOBAL", 1)
	GemRB.SetGlobal("HADIMOENDREAM1","GLOBAL", 1)
	GemRB.SetGlobal("HADSLAYERDREAM","GLOBAL", 1)
	GemRB.SetGlobal("HADJONDREAM1","GLOBAL", 1)
	GemRB.SetGlobal("HADJONDREAM2","GLOBAL", 1)
	idx = GemRB.GetPartySize()
	
	while idx:
		name = GemRB.GetPlayerName(idx, 2) #scripting name
		if name == "yoshimo":
			RemoveYoshimo(idx)
		elif name == "imoen":
			RemoveImoen(idx)
		elif name == "edwin":
			FixEdwin(idx)
		elif name == "anomen":
			FixAnomen(idx)
		elif name == "none":
			FixProtagonist(idx)
			GemRB.GameSelectPC (idx, True, SELECT_REPLACE)
		idx=idx-1
	return