From: <lyn...@us...> - 2009-05-13 18:37:22
|
Revision: 5956 http://gemrb.svn.sourceforge.net/gemrb/?rev=5956&view=rev Author: lynxlupodian Date: 2009-05-13 18:36:58 +0000 (Wed, 13 May 2009) Log Message: ----------- bg2::cg: applied mattinm's patch for better handling of priest spell types Modified Paths: -------------- gemrb/trunk/gemrb/GUIScripts/bg2/CharGen6.py Modified: gemrb/trunk/gemrb/GUIScripts/bg2/CharGen6.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/bg2/CharGen6.py 2009-05-13 14:42:10 UTC (rev 5955) +++ gemrb/trunk/gemrb/GUIScripts/bg2/CharGen6.py 2009-05-13 18:36:58 UTC (rev 5956) @@ -75,23 +75,16 @@ # learn divine spells if appropriate ClassSkillsTable = GemRB.LoadTableObject ("clskills") - #change this to GetPlayerStat once IE_CLASS is directly stored - ClassTable = GemRB.LoadTableObject ("classes") - ClassIndex = GemRB.GetVar ("Class")-1 - Class = ClassTable.GetValue (ClassIndex, 5) - MyChar = GemRB.GetVar ("Slot") - TableName = ClassSkillsTable.GetValue (Class, 1, 0) + Class = GemRB.GetPlayerStat (MyChar, IE_CLASS) + TableName = ClassSkillsTable.GetValue (Class, 1, 0) # cleric spells - if TableName == "*": - # it isn't a cleric or paladin, so check for druids and rangers + if TableName == "*": # only druid spells or no spells at all TableName = ClassSkillsTable.GetValue (Class, 0, 0) ClassFlag = 0x4000 - else: - ClassFlag = 0x8000 - # check for cleric/rangers, who get access to all the spells - # possibly redundant block (see SPL bit 0x0020) - if TableName == "MXSPLPRS" and ClassSkillsTable.GetValue (Class, 0, 0) != "*": + elif ClassSkillsTable.GetValue (Class, 0, 0) != "*": # cleric and druid spells ClassFlag = 0 + else: # only cleric spells + ClassFlag = 0x8000 # nulify the memorizable spell counts for type in [ "MXSPLPRS", "MXSPLPAL", "MXSPLRAN", "MXSPLDRU" ]: @@ -100,9 +93,9 @@ UnsetupSpellLevels (MyChar, type, IE_SPELL_TYPE_WIZARD, 1) if TableName != "*": - SetupSpellLevels(MyChar, TableName, IE_SPELL_TYPE_PRIEST, 1) - Learnable = GetLearnablePriestSpells( ClassFlag, GemRB.GetVar ("Alignment"), 1) + SetupSpellLevels (MyChar, TableName, IE_SPELL_TYPE_PRIEST, 1) + Learnable = GetLearnablePriestSpells (ClassFlag, GemRB.GetPlayerStat (MyChar, IE_ALIGNMENT), 1) for i in range(len(Learnable) ): - GemRB.LearnSpell (MyChar, Learnable[i], 0) + GemRB.LearnSpell (MyChar, Learnable[i], IE_SPELL_TYPE_PRIEST) return This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |