diff --git a/def.go b/def.go index 0245a5d..28e8aa2 100644 --- a/def.go +++ b/def.go @@ -437,6 +437,13 @@ const ( objSubTypeMessageStockAnyAck = 370 // list of stock (done) objSubTypeMessageGDepositReq = 371 // /g_deposit xx y (done) objSubTypeMessageGDepositAck = 372 // Deposited successfully: xx (y) (done) + objSubTypeMessageAttackReq = 373 + objSubTypeMessageAttackAck = 374 + objSubTypeMessageAttackTargetReq = 375 + objSubTypeMessageAttackTargetAck = 376 + objSubTypeMessageDefendReq = 377 + objSubTypeMessageDefendAck = 378 + objSubTypeMessageBack = 379 objSubTypeJobPillage = 601 objSubTypeJobTribute = 602 objSubTypeJobStatus = 603 diff --git a/rules.go b/rules.go index 3a10afd..4584375 100644 --- a/rules.go +++ b/rules.go @@ -204,6 +204,15 @@ func resetMsgParsingRules() { ,(5000, ` + strconv.Itoa(objSubTypeMessageGDepositReq) + `, "GDeposit Req", "^/g_deposit (?P[a-z0-9]+) (?P[0-9]+)$") ,(5000, ` + strconv.Itoa(objSubTypeMessageGDepositAck) + `, "GDeposit Ack #2", "^Deposited successfully: (?P.*) \\((?P[0-9]+)\\)$") ,(5000, ` + strconv.Itoa(objSubTypeMessageGDepositAck) + `, "GDeposit Ack #1", "^Deposited (?P.*) \\((?P[0-9]+)\\) successfully$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageAttackReq) + `, "Castle Attack Req", "^βš”Attack$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageAttackAck) + `, "Castle Attack Ack", "^Ha, bold enough? Choose an enemy!$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageAttackTargetReq) + `, "Castle Attack Target Req", "^(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageAttackTargetAck) + `, "Castle Attack Target Ack", "^You are ready to strike. The next battle is in .*.\\n\\n` + + `πŸ’¬ Pass the waiting for the battle outcome chatting with players from other castles at @chatwarscommunity πŸ’¬$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageDefendReq) + `, "Defend Req", "^πŸ›‘Defend$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageDefendAck) + `, "Defend Ack", "^You joined the defensive formations. The next battle is in .*.\\n\\n` + + `πŸ’¬ Pass the waiting for the battle outcome chatting with players from other castles at @chatwarscommunity πŸ’¬$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageBack) + `, "Back", "^Deposited (?P.*) \\((?P[0-9]+)\\) successfully$") ;`) failOnError(err, "resetMsgParsingRules : populate table msg_rules") } diff --git a/sql.go b/sql.go index 4131f36..cf5f67c 100644 --- a/sql.go +++ b/sql.go @@ -526,6 +526,13 @@ func initDB() { ,(` + strconv.Itoa(objSubTypeMessageStockAnyAck) + `, "stock_any_ack", "Stock Any Ack", ` + strconv.Itoa(objTypeMessage) + `) ,(` + strconv.Itoa(objSubTypeMessageGDepositReq) + `, "g_deposit_req", "GDeposit Req", ` + strconv.Itoa(objTypeMessage) + `) ,(` + strconv.Itoa(objSubTypeMessageGDepositAck) + `, "g_deposit_ack", "GDeposit Ack", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageAttackReq) + `, "castle_attack_req", "Castle Attack Req", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageAttackAck) + `, "castle_attack_ack", "Castle Attack Ack", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageAttackTargetReq) + `, "castle_target_req", "Castle Target Req", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageAttackTargetAck) + `, "castle_target_ack", "Castle Target Ack", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageDefendReq) + `, "castle_def_req", "Castle Defense Req", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageDefendAck) + `, "castle_def_ack", "Castle Defense Ack", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageBack) + `, "back", "Back", ` + strconv.Itoa(objTypeMessage) + `) ,(` + strconv.Itoa(objSubTypeJobPillage) + `, "job_pillage", "Pillage job", ` + strconv.Itoa(objTypeJob) + `) ,(` + strconv.Itoa(objSubTypeJobTribute) + `, "job_tribute", "Tribute job", ` + strconv.Itoa(objTypeJob) + `) ,(` + strconv.Itoa(objSubTypeJobWithdrawal) + `, "job_withdraw", "Withdrawal job", ` + strconv.Itoa(objTypeJob) + `)