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
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
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