From 309454e67a69b7b590e7c488582961836494400c Mon Sep 17 00:00:00 2001 From: shoopea Date: Thu, 3 Oct 2019 11:35:24 +0800 Subject: [PATCH] setup for quest result messages --- def.go | 9 +++++++++ msg.go | 7 +++++++ workers.go | 3 +++ 3 files changed, 19 insertions(+) diff --git a/def.go b/def.go index ce99ac7..d0284c8 100644 --- a/def.go +++ b/def.go @@ -190,6 +190,15 @@ type ChatWarsMessageGoQuestAck struct { Duration time.Duration `json:"duration"` } +type ChatWarsMessagesQuestRes struct { + Msg *ChatWarsMessage `json:"msg"` + Gold int64 `json:"gold"` + Exp int64 `json:"exp"` + Loot []ChatWarsItems `json:"loot"` + RegenStamina bool `json:"regen_stamina"` + LostTorch bool `json:"lost_torch"` +} + type ChatWarsMessageDuelFight struct { ObjID64 int64 `json:"obj_id"` WinCastle string `json:"win_castle"` diff --git a/msg.go b/msg.go index e4bafe9..3dd51b7 100644 --- a/msg.go +++ b/msg.go @@ -55,6 +55,13 @@ func parseSubTypeMessageExchangeAck(m *ChatWarsMessage, r *regexp.Regexp) (*Chat return &cwm, nil } +func parseSubTypeMessageQuestResult(m *ChatWarsMessage, r *regexp.Regexp) (*ChatWarsMessageQuestResult, error) { + cwm := ChatWarsMessageQuestResult{} + + cwm.Msg = m + return &cwm, nil +} + func parseSubTypeMessageStockAnyAck(m *ChatWarsMessage, r *regexp.Regexp) (*ChatWarsMessageStockAnyAck, error) { cwm := ChatWarsMessageStockAnyAck{} items := []ChatWarsItems{} diff --git a/workers.go b/workers.go index f80963a..44aaaac 100644 --- a/workers.go +++ b/workers.go @@ -474,6 +474,9 @@ func SQLIdentifyMsgWorker(id int, objIds <-chan int64) { case objSubTypeMessageExchangeAck: _, err := parseSubTypeMessageExchangeAck(m, rule.re) logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Parsing objSubTypeMessageExchangeAck.") + case objSubTypeMessageQuestResult: + _, err := parseSubTypeMessageQuestResult(m, rule.re) + logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Parsing objSubTypeMessageQuestResult.") default: //log.Printf("SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Unknwon message type in rule %d : %d (%d)\n%s\n", msgParsingRules[i].ID, msgParsingRules[i].MsgTypeID, objId, m.Text) }