Notes
Please before doing this backup any files changed at least till this is tested to work for everyone. I am using the original kit release so your code could be slightly different. Thanks.
--Xerves
Instructions
test.game\client\ui\momGameProfiles.cs
Add the following profile. This will specific a new StatText? that centers. Probably something already out there that did this, but I thought it was for good measure and you now have added a GUI Profile :-)
if(!isObject(MoMStatTextCenter)) new GuiControlProfile ("MoMStatTextCenter")
{
fontType = "Arial";
fontSize = 14;
fontColor = "255 255 255"; // default color (death msgs, scoring, inventory)
fontColors[1] = "255 0 0"; // client join/drop, tournament mode
fontColors[2] = "0 255 0"; // gameplay, admin/voting, pack/deployable
fontColors[3] = "200 200 200"; // team chat, spam protection message, client tasks
fontColors[4] = "255 255 0"; // global chat
fontColors[5] = "200 200 50 200"; // used in single player game
// WARNING! Colors 6-9 are reserved for name coloring
justify = "center";
autoSizeWidth = true;
autoSizeHeight = true;
};
mud/client/gui/skillinfo.py
Might I add if anyone reads this, this info really needs to be in the skill prototype if you ask me, I don't know why this is located here... There is even this comment to fix it :-) #fix me this should be coming from world server!
Near the bottom I replaced the getSkillInfo function with this:
def GetSkillInfo(name):
if not SKILLINFOS.has_key(name):
SKILLINFOS[name]=SkillInfo(name,True,"enhancedmeleeupgrade")
return SKILLINFOS[name]
This will return an icon. I don't remember if there was one specified here earlier. The default one is the sword you see in my picture I posted. You can add icons for any skill here the same as you do in the tutorial for the new skill you added.
mud/client/gui/partyWnd.py
This is the core part that replaces the button rendering and push code. This changes nothing besides the fact the buttons show up. I decided to grey out (same as a button pushed down) the passive skills. You might choose another method for this if you wish (my suggestion is to put borders on your icons). All functions work the same (double click to macro) and the shift clicks work as normal. The information pushed to the little window with the icon and name is in the next bit of code after this.
You need to replace the skillPane class with this one. I would recommend commenting out the whole one just in case you need to go back or look at it. The whole thing has been updated pretty much so adding in little bits to add/remove would take forever.
class SkillPane:
def __init__(self):
self.skillButtons = dict((x,TGEObject("SKILLBUTTON%i"%x)) for x in xrange(0,17))
self.skillTextInfo = dict((x,TGEObject("SkillText%i"%x)) for x in xrange(0,17))
self.skillText = TGEObject("SKILLPANE_SKILLTEXT")
self.skillPic = TGEObject("SKILLPANE_SKILLPIC")
self.skillName = {}
self.swapSlot = -1
self.currentPage = 0
def setFromCharacterInfo(self,cinfo):
self.charInfo = cinfo
skills = cinfo.SKILLS.keys()
sindex = self.currentPage*17
x = 0
if not len(skills):
return
skills.sort()
askills = []
for sk in skills:
askills.append(sk)
self.skillName[x] = sk
x = x+1
x = 0
for x in xrange(sindex,sindex+17):
button = self.skillButtons[x-sindex]
textstat = self.skillTextInfo[x-sindex]
button.pulseGreen = False
button.SetValue(0)
button.toggleLocked = False
if x < len(askills):
skinfo = GetSkillInfo(askills[x])
textstat.setText(str(cinfo.SKILLS[askills[x]]))
icon = skinfo.icon
if icon.startswith("SPELLICON_"):
split = icon.split("_")
index = int(split[2])
u0 = (float(index%6)*40.0)/256.0
v0 = (float(index/6)*40.0)/256.0
u1 = (40.0/256.0)
v1 = (40.0/256.0)
button.setBitmapUV("~/data/ui/icons/spells0%s"%split[1],u0,v0,u1,v1)
else:
button.setBitmap("~/data/ui/icons/%s"%icon)
if cinfo.SKILLREUSE.has_key(askills[x]) or cinfo.DEAD or skinfo.passive:
button.setValue(1)
button.toggleLocked = True
else:
button.SetValue(0)
button.toggleLocked = False
else:
button.SetBitmap("")
textstat.setText("")
TGEObject("SKILLPANE_PAGETEXT").setText("Page %i"%(self.currentPage+1))
def onSkillButton(self,slot):
bnum = slot;
slot = self.currentPage * 17 + slot
#Skillname has a list of a all skills, the rest is a partial
if slot+1 > len(self.skillName):
return;
if int(self.skillButtons[bnum].toggleLocked):
#already down
return
skill = self.skillName[slot]
skinfo = GetSkillInfo(skill)
if skinfo.passive:
return
self.skillButtons[bnum].toggleLocked = True
self.skillButtons[bnum].setValue(1)
macro.AttachMacroButtons()
macro.EnableSkillMacro(PARTYWND.curIndex,skill,False)
PyDoCommand(['PyDoCommand','/SKILL %i %s'%(PARTYWND.curIndex,skill)],False)
def onSkillButtonAlt(self,index):
slot = self.currentPage * 17 + index
button = self.skillButtons[index]
skillname = self.skillName[slot]
skinfo = GetSkillInfo(skillname)
if skinfo.passive:
return
macro.SetCursorMacro("SKILL",skillname,button,PARTYWND.curIndex)
return
# shift-single-click to jump to related encyc entry
def onSkillButtonShift(self,index):
try:
slot = self.currentPage * 17 + index
skillName = "Skill%s"%GetTWikiName(self.skillName[slot])
from encyclopediaWnd import ENCWND
if not ENCWND.setPage(skillName):
TGECall("MessageBoxOK","Invalid Link","Sorry, you just stumbled upon an invalid encyclopedia link, page %s not found."%skillName)
else:
TGEEval("canvas.pushDialog(EncyclopediaWnd);")
except KeyError:
pass
return
# shift-right-click to enter item name/link in chat line
def onSkillButtonShiftRight(self,index):
try:
slot = self.currentPage * 17 + index
skillName = self.skillName[slot]
from mud.client.gui.tomeGui import TOMEGUI
commandCtrl = TOMEGUI.tomeCommandCtrl
txt = ""
if not commandCtrl.visible:
TGECall("PushChatGui")
commandCtrl.visible = True
commandCtrl.makeFirstResponder(True)
else:
txt = commandCtrl.GetValue()
commandCtrl.SetValue("%s <%s>"%(txt,skillName))
except KeyError:
pass
return
In the getMouseOverItem function I believe I made the following change. It might not be needed. Replace the skill code there with these 4 lines
elif PARTYWND.paneSkills.mouseOver:
for slot,button in PARTYWND.skillPane.skillButtons.iteritems():
if button.mouseOver:
return ('SKILL',slot)
mud/client/gui/itemInfoWnd.py
This renders the information like the skills/items pane do with the icon and name in the upper left hand box. I removed the right click function for the time being though.
Add the following to the includes near the top
from skillinfo import GetSkillInfo
Find the following near the beginning of the itemInfoWnd class
#spell slots
self.spellButtons = dict((i,TGEObject("SPELLPANE_SPELL%i"%i)) for i in xrange(0,25))
Add the following afterwards
#skill slots
self.skillButtons = dict((i,TGEObject("SKILLBUTTON%i"%i)) for i in xrange(0,17))
#on partywnd skillpane
self.skillText = TGEObject("SKILLPANE_SKILLTEXT")
self.skillPic = TGEObject("SKILLPANE_SKILLPIC")
In the tick function after isSpell = False add the following
isSkill = False
A bit further down find the following code
if not found:
#not an inventory item, check skills or spells
sindex = PARTYWND.spellPane.currentPage*25
for slot,button in self.spellButtons.iteritems():
if int(button.mouseOver):
if cinfo.SPELLS.has_key(slot+sindex):
found = True
ghost = cinfo.SPELLS[slot+sindex]
isSpell = True
break
else:
break
After it add the following
sindex = PARTYWND.skillPane.currentPage*17
for slot,button in self.skillButtons.iteritems():
if int(button.mouseOver):
skills = cinfo.SKILLS.keys()
skills.sort()
askills = []
for sk in skills:
askills.append(sk)
if slot+sindex < len(askills):
found = True
ghost = askills[slot+sindex]
svalue = cinfo.SKILLS[askills[slot+sindex]]
isSkill = True
break
else:
break
Just a few lines down find the following code
if ghost:
if isSpell:
self.setSpell(ghost)
else:
self.setItem(ghost,isLoot,isCraft,isBank)
Change it to the following
if ghost:
if isSpell:
self.setSpell(ghost)
elif isSkill:
self.setSkill(ghost, svalue)
else:
self.setItem(ghost,isLoot,isCraft,isBank)
Before the def setItem function down a bit below add the following function for setItem
def setSkill(self,ghost,svalue):
if self.ghost == ghost:
return
self.isItem = False
self.isLoot = False
self.isCraft = False
self.ghost = ghost
self.skillText.setText(TEXT_HEADER+ghost+"\n"+str(svalue))
skinfo = GetSkillInfo(ghost)
icon = skinfo.icon
if icon.startswith("SPELLICON_"):
split = icon.split("_")
index=int(split[2])
u0=(float(index%6)*40.0)/256.0
v0=(float(index/6)*40.0)/256.0
u1=(40.0/256.0)
v1=(40.0/256.0)
self.skillPic.SetBitmapUV("~/data/ui/icons/spells0%s"%split[1],u0,v0,u1,v1)
self.lastBitmap = ""
else:
self.skillPic.SetBitmap("~/data/ui/icons/%s"%icon)
self.lastBitmap = ""
A bit further down in the setItem function find the following code
TGEEval(eval)
TGEObject("NPCWnd_InvItemBitmap").SetBitmap("")
eval = 'NPCWnd_INVITEMNAME.setText("");'
TGEEval(eval)
self.spellText.setText("")
self.spellPic.SetBitmap("")
Below it add the following
self.skillText.setText("")
self.skillPic.SetBitmap("")
test.game\client\ui\partyWnd.gui
You need to replace all of the skillPane section here. I will post it all here, it is a lot of lines of GUI fun :-)
new GuiControl(SkillsPane) {
profile = "MoMWndProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "8 69";
extent = "336 290";
minExtent = "8 2";
visible = "0";
new GuiChunkedBitmapCtrl() {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "4 -1";
extent = "336 289";
minExtent = "8 2";
visible = "1";
bitmap = "~/data/ui/elements/skillbook";
useVariable = "0";
tile = "0";
};
new GuiTextCtrl(SKILLPANE_PAGETEXT) {
profile = "MoMStatText";
horizSizing = "right";
vertSizing = "bottom";
position = "157 247";
extent = "33 18";
minExtent = "8 2";
visible = "1";
text = "Page 1";
maxLength = "255";
dropShadow = "1";
};
new GuiTextCtrl(SkillText0) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "48 172";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText1) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "84 172";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText2) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "120 172";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText3) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "84 222";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText4) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "120 222";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText5) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "188 65";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText6) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "224 65";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText7) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "260 65";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText8) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "188 115";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText9) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "224 115";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText10) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "260 115";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText11) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "188 165";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText12) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "224 165";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText13) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "260 165";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText14) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "188 215";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText15) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "224 215";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiTextCtrl(SkillText16) {
profile = "MoMStatTextCenter";
horizSizing = "right";
vertSizing = "bottom";
position = "260 215";
extent = "34 14";
minExtent = "34 2";
visible = "1";
text = "14";
maxLength = "3";
dropShadow = "0";
};
new GuiBitmapButtonCtrl(SKILLBUTTON0) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "48 137";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(0);";
altCommand = "Py::OnSkillButtonAlt(0);";
shiftCommand = "Py::OnSkillButtonShift(0);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(0);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON1) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "84 137";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(1);";
altCommand = "Py::OnSkillButtonAlt(1);";
shiftCommand = "Py::OnSkillButtonShift(1);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(1);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON2) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "120 137";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(2);";
altCommand = "Py::OnSkillButtonAlt(2);";
shiftCommand = "Py::OnSkillButtonShift(2);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(2);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON3) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "84 187";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(3);";
altCommand = "Py::OnSkillButtonAlt(3);";
shiftCommand = "Py::OnSkillButtonShift(3);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(3);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON4) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "120 187";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(4);";
altCommand = "Py::OnSkillButtonAlt(4);";
shiftCommand = "Py::OnSkillButtonShift(4);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(4);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON5) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "188 30";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(5);";
altCommand = "Py::OnSkillButtonAlt(5);";
shiftCommand = "Py::OnSkillButtonShift(5);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(5);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON6) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "224 30";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(6);";
altCommand = "Py::OnSkillButtonAlt(6);";
shiftCommand = "Py::OnSkillButtonShift(6);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(6);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON7) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "260 30";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(7);";
altCommand = "Py::OnSkillButtonAlt(7);";
shiftCommand = "Py::OnSkillButtonShift(7);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(7);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON8) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "188 80";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(8);";
altCommand = "Py::OnSkillButtonAlt(8);";
shiftCommand = "Py::OnSkillButtonShift(8);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(8);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON9) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "224 80";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(9);";
altCommand = "Py::OnSkillButtonAlt(9);";
shiftCommand = "Py::OnSkillButtonShift(9);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(9);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON10) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "260 80";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(10);";
altCommand = "Py::OnSkillButtonAlt(10);";
shiftCommand = "Py::OnSkillButtonShift(10);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(10);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON11) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "188 130";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(11);";
altCommand = "Py::OnSkillButtonAlt(11);";
shiftCommand = "Py::OnSkillButtonShift(11);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(11);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON12) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "224 130";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(12);";
altCommand = "Py::OnSkillButtonAlt(12);";
shiftCommand = "Py::OnSkillButtonShift(12);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(12);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON13) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "260 130";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(13);";
altCommand = "Py::OnSkillButtonAlt(13);";
shiftCommand = "Py::OnSkillButtonShift(13);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(13);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON14) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "188 180";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(14);";
altCommand = "Py::OnSkillButtonAlt(14);";
shiftCommand = "Py::OnSkillButtonShift(14);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(14);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON15) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "224 180";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(15);";
altCommand = "Py::OnSkillButtonAlt(15);";
shiftCommand = "Py::OnSkillButtonShift(15);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(15);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiBitmapButtonCtrl(SKILLBUTTON16) {
profile = "InvButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "260 180";
extent = "34 34";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButton(16);";
altCommand = "Py::OnSkillButtonAlt(16);";
shiftCommand = "Py::OnSkillButtonShift(16);";
shiftRightCommand = "Py::OnSkillButtonShiftRight(16);";
toolTip = "Skill Button - (Right click for info, Double click to pick up and place in macro)";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
number = "-1";
hasStateBitmaps = "0";
u0 = "0";
u1 = "1";
v0 = "0";
v1 = "1";
};
new GuiButtonCtrl(SKILLBUTTONNEXT) {
profile = "MenuButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "266 230";
extent = "20 20";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButtonNext();";
toolTip = "Next Skill Page";
text = ">";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
};
new GuiControl() {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "47 22";
extent = "107 110";
minExtent = "8 2";
visible = "1";
new GuiMLTextCtrl(SKILLPANE_SKILLTEXT) {
profile = "MoMStatText";
horizSizing = "center";
vertSizing = "bottom";
position = "5 60";
extent = "96 14";
minExtent = "8 2";
visible = "1";
lineSpacing = "2";
allowColorChars = "0";
maxChars = "-1";
};
new GuiBitmapCtrl(SKILLPANE_SKILLPIC) {
profile = "GuiDefaultProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "28 7";
extent = "50 50";
minExtent = "8 2";
visible = "1";
wrap = "0";
modulation = "1.000000 1.000000 1.000000 1.000000";
};
};
new GuiButtonCtrl(SKILLBUTTONPREV) {
profile = "MenuButtonProfile";
horizSizing = "right";
vertSizing = "bottom";
position = "55 230";
extent = "20 20";
minExtent = "8 2";
visible = "1";
command = "Py::OnSkillButtonPrev();";
toolTip = "Previous Skill Page";
text = "<";
mouseOver = "0";
hotKey = "-1";
toggleLocked = "0";
pulseRed = "0";
pulseGreen = "0";
groupNum = "-1";
buttonType = "PushButton";
};
};

