MRMJ-1: Messenger & Skills fixes
This commit is contained in:
@@ -305,10 +305,15 @@ class Interface(object):
|
||||
self.whisperDialogDict = {}
|
||||
self.privateShopAdvertisementBoardDict = {}
|
||||
|
||||
if app.FIX_MESSENGER_ACTION_SYNC:
|
||||
self.wndMessenger.InitializeHandler()
|
||||
|
||||
self.wndInventory.SetItemToolTip(self.tooltipItem)
|
||||
|
||||
if app.ENABLE_DRAGON_SOUL_SYSTEM:
|
||||
self.wndDragonSoul.SetItemToolTip(self.tooltipItem)
|
||||
self.wndDragonSoulRefine.SetItemToolTip(self.tooltipItem)
|
||||
|
||||
self.wndSafebox.SetItemToolTip(self.tooltipItem)
|
||||
self.wndCube.SetItemToolTip(self.tooltipItem)
|
||||
self.wndCubeResult.SetItemToolTip(self.tooltipItem)
|
||||
@@ -535,6 +540,11 @@ class Interface(object):
|
||||
def OnChangeCurrentSkill(self, skillSlotNumber):
|
||||
self.wndTaskBar.OnChangeCurrentSkill(skillSlotNumber)
|
||||
|
||||
if app.FIX_REFRESH_SKILL_COOLDOWN:
|
||||
def SkillClearCoolTime(self, slotIndex):
|
||||
self.wndCharacter.SkillClearCoolTime(slotIndex)
|
||||
self.wndTaskBar.SkillClearCoolTime(slotIndex)
|
||||
|
||||
def SelectMouseButtonEvent(self, dir, event):
|
||||
self.wndTaskBar.SelectMouseButtonEvent(dir, event)
|
||||
|
||||
@@ -564,7 +574,7 @@ class Interface(object):
|
||||
if app.ENABLE_DRAGON_SOUL_SYSTEM:
|
||||
self.wndDragonSoul.RefreshItemSlot()
|
||||
|
||||
def RefreshCharacter(self): ## Character 페이지의 얼굴, Inventory 페이지의 전신 그림 등의 Refresh
|
||||
def RefreshCharacter(self): ## Character <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>, Inventory <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD> Refresh
|
||||
self.wndCharacter.RefreshCharacter()
|
||||
self.wndTaskBar.RefreshQuickSlot()
|
||||
|
||||
@@ -696,7 +706,7 @@ class Interface(object):
|
||||
def RemovePartyMember(self, pid):
|
||||
self.wndParty.RemovePartyMember(pid)
|
||||
|
||||
##!! 20061026.levites.퀘스트_위치_보정
|
||||
##!! 20061026.levites.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ_<EFBFBD><EFBFBD>ġ_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
self.__ArrangeQuestButton()
|
||||
|
||||
def LinkPartyMember(self, pid, vid):
|
||||
@@ -711,7 +721,7 @@ class Interface(object):
|
||||
def ExitParty(self):
|
||||
self.wndParty.ExitParty()
|
||||
|
||||
##!! 20061026.levites.퀘스트_위치_보정
|
||||
##!! 20061026.levites.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ_<EFBFBD><EFBFBD>ġ_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
self.__ArrangeQuestButton()
|
||||
|
||||
def PartyHealReady(self):
|
||||
@@ -874,7 +884,7 @@ class Interface(object):
|
||||
if True == self.wndChat.IsEditMode():
|
||||
self.wndChat.CloseChat()
|
||||
else:
|
||||
# 웹페이지가 열렸을때는 채팅 입력이 안됨
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ä<><C3A4> <20>Է<EFBFBD><D4B7><EFBFBD> <20>ȵ<EFBFBD>
|
||||
if self.wndWeb and self.wndWeb.IsShow():
|
||||
pass
|
||||
else:
|
||||
@@ -975,7 +985,7 @@ class Interface(object):
|
||||
else:
|
||||
self.wndExpandedTaskBar.Close()
|
||||
|
||||
# 용혼석
|
||||
# <EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>
|
||||
def DragonSoulActivate(self, deck):
|
||||
if app.ENABLE_DRAGON_SOUL_SYSTEM:
|
||||
self.wndDragonSoul.ActivateDragonSoulByExtern(deck)
|
||||
@@ -1046,7 +1056,7 @@ class Interface(object):
|
||||
if True == self.wndDragonSoulRefine.IsShow():
|
||||
self.wndDragonSoulRefine.Close()
|
||||
|
||||
# 용혼석 끝
|
||||
# <EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD> <20><>
|
||||
|
||||
def ToggleGuildWindow(self):
|
||||
if not self.wndGuild.IsShow():
|
||||
@@ -1096,7 +1106,7 @@ class Interface(object):
|
||||
def OpenWebWindow(self, url):
|
||||
self.wndWeb.Open(url)
|
||||
|
||||
# 웹페이지를 열면 채팅을 닫는다
|
||||
# <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ä<><C3A4><EFBFBD><EFBFBD> <20>ݴ´<DDB4>
|
||||
self.wndChat.CloseChat()
|
||||
|
||||
# show GIFT
|
||||
@@ -1124,9 +1134,9 @@ class Interface(object):
|
||||
def SucceedCubeWork(self, itemVnum, count):
|
||||
self.wndCube.Clear()
|
||||
|
||||
print "큐브 제작 성공! [%d:%d]" % (itemVnum, count)
|
||||
print "ť<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>! [%d:%d]" % (itemVnum, count)
|
||||
|
||||
if 0: # 결과 메시지 출력은 생략 한다
|
||||
if 0: # <EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>
|
||||
self.wndCubeResult.SetPosition(*self.wndCube.GetGlobalPosition())
|
||||
self.wndCubeResult.SetCubeResultItem(itemVnum, count)
|
||||
self.wndCubeResult.Open()
|
||||
@@ -1289,7 +1299,7 @@ class Interface(object):
|
||||
btn = uiWhisper.WhisperButton()
|
||||
|
||||
# QUEST_LETTER_IMAGE
|
||||
##!! 20061026.levites.퀘스트_이미지_교체
|
||||
##!! 20061026.levites.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ_<EFBFBD>̹<EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD>ü
|
||||
import item
|
||||
if "item"==iconType:
|
||||
item.SelectItem(int(iconName))
|
||||
@@ -1336,7 +1346,7 @@ class Interface(object):
|
||||
screenWidth = wndMgr.GetScreenWidth()
|
||||
screenHeight = wndMgr.GetScreenHeight()
|
||||
|
||||
##!! 20061026.levites.퀘스트_위치_보정
|
||||
##!! 20061026.levites.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ_<EFBFBD><EFBFBD>ġ_<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if self.wndParty.IsShow():
|
||||
xPos = 100 + 30
|
||||
else:
|
||||
@@ -1390,8 +1400,8 @@ class Interface(object):
|
||||
def __InitWhisper(self):
|
||||
chat.InitWhisper(self)
|
||||
|
||||
## 채팅창의 "메시지 보내기"를 눌렀을때 이름 없는 대화창을 여는 함수
|
||||
## 이름이 없기 때문에 기존의 WhisperDialogDict 와 별도로 관리된다.
|
||||
## ä<EFBFBD><EFBFBD>â<EFBFBD><EFBFBD> "<22><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ȭâ<C8AD><C3A2> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
|
||||
## <EFBFBD≯<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WhisperDialogDict <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>.
|
||||
def OpenWhisperDialogWithoutTarget(self):
|
||||
if not self.dlgWhisperWithoutTarget:
|
||||
dlgWhisper = uiWhisper.WhisperDialog(self.MinimizeWhisperDialog, self.CloseWhisperDialog)
|
||||
@@ -1408,7 +1418,7 @@ class Interface(object):
|
||||
self.dlgWhisperWithoutTarget.SetTop()
|
||||
self.dlgWhisperWithoutTarget.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)
|
||||
|
||||
## 이름 없는 대화창에서 이름을 결정했을때 WhisperDialogDict에 창을 넣어주는 함수
|
||||
## <EFBFBD≯<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ȭâ<C8AD><C3A2><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WhisperDialogDict<EFBFBD><EFBFBD> â<><C3A2> <20>־<EFBFBD><D6BE>ִ<EFBFBD> <20>Լ<EFBFBD>
|
||||
def RegisterTemporaryWhisperDialog(self, name):
|
||||
if not self.dlgWhisperWithoutTarget:
|
||||
return
|
||||
@@ -1427,7 +1437,7 @@ class Interface(object):
|
||||
self.dlgWhisperWithoutTarget = None
|
||||
self.__CheckGameMaster(name)
|
||||
|
||||
## 캐릭터 메뉴의 1:1 대화 하기를 눌렀을때 이름을 가지고 바로 창을 여는 함수
|
||||
## ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><DEB4><EFBFBD> 1:1 <20><>ȭ <20>ϱ⸦ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٷ<EFBFBD> â<><C3A2> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
|
||||
def OpenWhisperDialog(self, name):
|
||||
if not self.whisperDialogDict.has_key(name):
|
||||
dlg = self.__MakeWhisperDialog(name)
|
||||
@@ -1440,7 +1450,7 @@ class Interface(object):
|
||||
if 0 != btn:
|
||||
self.__DestroyWhisperButton(btn)
|
||||
|
||||
## 다른 캐릭터로부터 메세지를 받았을때 일단 버튼만 띄워 두는 함수
|
||||
## <EFBFBD>ٸ<EFBFBD> ij<><C4B3><EFBFBD>ͷκ<CDB7><CEBA><EFBFBD> <20><EFBFBD><DEBC><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><DEBE><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20><>ư<EFBFBD><C6B0> <20><><EFBFBD> <20>δ<EFBFBD> <20>Լ<EFBFBD>
|
||||
def RecvWhisper(self, name):
|
||||
if not self.whisperDialogDict.has_key(name):
|
||||
btn = self.__FindWhisperButton(name)
|
||||
@@ -1459,7 +1469,7 @@ class Interface(object):
|
||||
def MakeWhisperButton(self, name):
|
||||
self.__MakeWhisperButton(name)
|
||||
|
||||
## 버튼을 눌렀을때 창을 여는 함수
|
||||
## <EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20><><EFBFBD><EFBFBD> <20>Լ<EFBFBD>
|
||||
def ShowWhisperDialog(self, btn):
|
||||
try:
|
||||
self.__MakeWhisperDialog(btn.name)
|
||||
@@ -1471,11 +1481,11 @@ class Interface(object):
|
||||
import dbg
|
||||
dbg.TraceError("interface.ShowWhisperDialog - Failed to find key")
|
||||
|
||||
## 버튼 초기화
|
||||
## <EFBFBD><EFBFBD>ư <20>ʱ<EFBFBD>ȭ
|
||||
self.__DestroyWhisperButton(btn)
|
||||
|
||||
## WhisperDialog 창에서 최소화 명령을 수행했을때 호출되는 함수
|
||||
## 창을 최소화 합니다.
|
||||
## WhisperDialog â<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ּ<EFBFBD>ȭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3>Ǵ<EFBFBD> <20>Լ<EFBFBD>
|
||||
## â<EFBFBD><EFBFBD> <20>ּ<EFBFBD>ȭ <20>մϴ<D5B4>.
|
||||
def MinimizeWhisperDialog(self, name):
|
||||
|
||||
if 0 != name:
|
||||
@@ -1483,8 +1493,8 @@ class Interface(object):
|
||||
|
||||
self.CloseWhisperDialog(name)
|
||||
|
||||
## WhisperDialog 창에서 닫기 명령을 수행했을때 호출되는 함수
|
||||
## 창을 지웁니다.
|
||||
## WhisperDialog â<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ݱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȣ<><C8A3>Ǵ<EFBFBD> <20>Լ<EFBFBD>
|
||||
## â<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
def CloseWhisperDialog(self, name):
|
||||
|
||||
if 0 == name:
|
||||
@@ -1503,7 +1513,7 @@ class Interface(object):
|
||||
import dbg
|
||||
dbg.TraceError("interface.CloseWhisperDialog - Failed to find key")
|
||||
|
||||
## 버튼의 개수가 바뀌었을때 버튼을 재정렬 하는 함수
|
||||
## <EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٲ<EFBFBD><D9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ϴ<EFBFBD> <20>Լ<EFBFBD>
|
||||
def __ArrangeWhisperButton(self):
|
||||
|
||||
screenWidth = wndMgr.GetScreenWidth()
|
||||
@@ -1520,9 +1530,9 @@ class Interface(object):
|
||||
button.SetPosition(xPos + (int(count/yCount) * -50), yPos + (count%yCount * 63))
|
||||
count += 1
|
||||
|
||||
## 이름으로 Whisper 버튼을 찾아 리턴해 주는 함수
|
||||
## 버튼은 딕셔너리로 하지 않는 것은 정렬 되어 버려 순서가 유지 되지 않으며
|
||||
## 이로 인해 ToolTip들이 다른 버튼들에 의해 가려지기 때문이다.
|
||||
## <EFBFBD≯<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Whisper <EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD> ã<><C3A3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20>Լ<EFBFBD>
|
||||
## <EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD> <20><>ųʸ<C5B3><CAB8><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
## <EFBFBD>̷<EFBFBD> <20><><EFBFBD><EFBFBD> ToolTip<69><70><EFBFBD><EFBFBD> <20>ٸ<EFBFBD> <20><>ư<EFBFBD>鿡 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>̴<EFBFBD>.
|
||||
def __FindWhisperButton(self, name):
|
||||
for button in self.whisperButtonList:
|
||||
if button.name == name:
|
||||
@@ -1530,7 +1540,7 @@ class Interface(object):
|
||||
|
||||
return 0
|
||||
|
||||
## 창을 만듭니다.
|
||||
## â<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
def __MakeWhisperDialog(self, name):
|
||||
dlgWhisper = uiWhisper.WhisperDialog(self.MinimizeWhisperDialog, self.CloseWhisperDialog)
|
||||
dlgWhisper.BindInterface(self)
|
||||
@@ -1542,7 +1552,7 @@ class Interface(object):
|
||||
|
||||
return dlgWhisper
|
||||
|
||||
## 버튼을 만듭니다.
|
||||
## <EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
def __MakeWhisperButton(self, name):
|
||||
whisperButton = uiWhisper.WhisperButton()
|
||||
whisperButton.SetUpVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
|
||||
|
||||
Reference in New Issue
Block a user