update with ambush

This commit is contained in:
shoopea 2019-10-20 17:03:54 +08:00
parent 99b211e4d9
commit c7bc56a06b
3 changed files with 140 additions and 130 deletions

259
def.go
View File

@ -395,135 +395,136 @@ const (
castleShark = 6
castleWolf = 7
objSubTypeUser = 101
objSubTypeGuild = 201
objSubTypeMessageUnknown = 301
objSubTypeMessageWar = 302 // from Chat Wars Reports (not done)
objSubTypeMessageMiniWar = 303 // FIXME DELETE
objSubTypeMessageGuildWar = 304 // from Chat Wars Reports (not done)
objSubTypeMessageReportReq = 305 // /report (done)
objSubTypeMessageReportAck = 306 // result from /report (done)
objSubTypeMessageGReportReq = 307 // /g_report (done)
objSubTypeMessageGReportAck = 308 // result from /g_report (not done)
objSubTypeMessageQuestResult = 309 // result from going to quest (not done)
objSubTypeMessageDuelFight = 310 // result from going to duel fight (done)
objSubTypeMessageHeroReq = 311 // /hero (done)
objSubTypeMessageHeroAck = 312 // result from /hero (not done)
objSubTypeMessageMeReq = 313 // 🏅Me (done)
objSubTypeMessageMeAck = 314 // result from 🏅Me (done)
objSubTypeMessageInventoryReq = 315 // /inv (done)
objSubTypeMessageInventoryAck = 316 // result from /inv (not done)
objSubTypeMessagePillageInc = 317 // random incoming pillage (done)
objSubTypeMessagePillageGo = 318 // ack from /go (done)
objSubTypeMessagePillageTimeout = 319 // ack from lack of /go (done)
objSubTypeMessagePillageWin = 320 // pillage successfully intercepted (done)
objSubTypeMessagePillageLoss = 321 // pillage not intercepted (done)
objSubTypeMessageTributeInc = 322 // request for a /pledge (not done)
objSubTypeMessageTributeAck = 323 // pledge accepted (not done)
objSubTypeMessageAuctionAnnounce = 324 // from Boris and Co, Ltd (done)
objSubTypeMessageAuctionUpdReq = 325 // /l_123456 msg (not done)
objSubTypeMessageAuctionUpdAck = 326 // result from /l_123456 (not done)
objSubTypeMessageTimeAck = 327 // result from /time (done)
objSubTypeMessageTimeReq = 328 // /time (done)
objSubTypeMessageGo = 329 // /go (done)
objSubTypeMessagePledge = 330 // /pledge (done)
objSubTypeMessageGoQuestReq = 331 // 🌲Forest or 🍄Swamp or ⛰Valley (not done)
objSubTypeMessageGoFastFight = 332 // ▶Fast fight (not done)
objSubTypeMessageGoArena = 333 // 📯Arena (not done)
objSubTypeMessageTop = 334 // any /topXX (not done)
objSubTypeMessageMenu = 335 // main menu (not done)
objSubTypeMessageBuyReq = 336 // /wtb_xx (done)
objSubTypeMessageSellReq = 337 // /wts_xx (done)
objSubTypeMessageOrderbookReq = 338 // /t_xx (done)
objSubTypeMessageOrderbookAck = 339 // orderbook summary (not done)
objSubTypeMessageWithdrawReq = 340 // /g_withdraw (done)
objSubTypeMessageWithdrawCode = 341 // code to receive (done)
objSubTypeMessageWithdrawRcv = 342 // Withdraw "received" msg (done)
objSubTypeMessageStockReq = 343 // /stock (done)
objSubTypeMessageStockAck = 344 // result from /stock (not done)
objSubTypeMessageMiscReq = 345 // /misc (done)
objSubTypeMessageMiscAck = 346 // result from /misc (not done)
objSubTypeMessageUnionWar = 347 // from Chat Wars Reports (not done)
objSubTypeMessageTUReportReq = 348 // /tu_report (not done)
objSubTypeMessageTUReportAck = 349 // result from /tu_report (not done)
objSubTypeMessageTimeout = 350 // generic timeout for action
objSubTypeMessageGoQuestAck = 351 // confirm quest destination/busyness (done)
objSubTypeMessageGRolesReq = 352 // /g_roles (done)
objSubTypeMessageGRolesAck = 353 // result from /g_roles (done)
objSubTypeMessageGStockResReq = 354 // /g_stock_res (done)
objSubTypeMessageGStockAlchReq = 355 // /g_stock_alch (done)
objSubTypeMessageGStockMiscReq = 356 // /g_stock_misc (done)
objSubTypeMessageGStockRecReq = 357 // /g_stock_rec (done)
objSubTypeMessageGStockPartReq = 358 // /g_stock_parts (done)
objSubTypeMessageGStockOthReq = 359 // /g_stock_other (done)
objSubTypeMessageGStockAnyAck = 360 // result from any /g_stock_xxx (done)
objSubTypeMessageGStockReq = 361 // /g_stock (done)
objSubTypeMessageGStockAck = 362 // result from /g_stock (done)
objSubTypeMessageBusy = 363 // too busy now
objSubTypeMessageResStockReq = 364 // 📦Resources or /stock (done)
objSubTypeMessageAlchStockReq = 365 // ⚗Alchemy (done)
objSubTypeMessageMiscStockReq = 366 // 🗃Misc or /misc (done)
objSubTypeMessageEquipStockReq = 367 // 🏷Equipment (done)
objSubTypeMessageCraftStockReq = 368 // ⚒Crafting (done)
objSubTypeMessageStockEmpty = 369 // [empty] (done)
objSubTypeMessageStockAnyAck = 370 // list of stock (done)
objSubTypeMessageGDepositReq = 371 // /g_deposit xx y (done)
objSubTypeMessageGDepositAck = 372 // Deposited successfully: xx (y) (done)
objSubTypeMessageAttackReq = 373 // Attack (done)
objSubTypeMessageAttackAck = 374 // Read for attack, select target (done)
objSubTypeMessageAttackTargetReq = 375 // Castle selection (done)
objSubTypeMessageAttackTargetAck = 376 // Castle confirmation (done)
objSubTypeMessageDefendReq = 377 // Defend (done)
objSubTypeMessageDefendAck = 378 // Defend confirmation (done)
objSubTypeMessageBack = 379 // Back (done)
objSubTypeMessageCastleReq = 380 // Castle (done)
objSubTypeMessageCastleAck = 381 // Castle msg (not done)
objSubTypeMessageExchangeReq = 382 // ⚖Exchange (done)
objSubTypeMessageExchangeAck = 383 // List of deals (done)
objSubTypeMessageEquipGearReq = 384 // /on_item (done)
objSubTypeMessageEquipGearAck = 385 // Item equipped (done)
objSubTypeMessageUnequipGearReq = 386 // /off_item (done)
objSubTypeMessageUnequipGearAck = 387 // Item unequipped (done)
objSubTypeMessageNoStamina = 388 // Not enough stamina. (done)
objSubTypeMessageOrderbookSearch = 389 // /t <something>
objSubTypeMessageQuestReq = 390 // quest
objSubTypeMessageQuestAck = 391 // forest/swamp/valley/arena
objSubTypeMessageBattle = 392 // wind is howling
objSubTypeMessageOrderCancelReq = 393 // /rm_xxx
objSubTypeMessageOrderCancelAck = 394 // Cancelling order
objSubTypeMessageStaminaRestored = 395 // Stamina Restored
objSubTypeMessageTopReq = 394
objSubTypeJobPillage = 601
objSubTypeJobTribute = 602
objSubTypeJobStatus = 603
objSubTypeJobGWithdraw = 604
objSubTypeJobGStock = 605
objSubTypeJobRescanMsg = 606
objSubTypeJobSetJobDone = 607
objSubTypeJobMsgClient = 608
objSubTypeJobMsgRefresh = 609
objSubTypeJobBackupExport = 610
objSubTypeJobBackupImport = 611
objSubTypeJobGDeposit = 612
objSubTypeJobGDepositForward = 613
objSubTypeJobSaveRes = 614
objSubTypeJobVaultUserStatus = 615
objSubTypeJobVaultItemStatus = 616
objSubTypeItemResource = 701
objSubTypeItemAlch = 702
objSubTypeItemMisc = 703
objSubTypeItemRecipe = 704
objSubTypeItemPart = 705
objSubTypeItemOther = 706
objSubTypeItemUnique = 707
objSubTypeCastle = 801
objSubTypeFair = 901
objSubTypeUnion = 1001
objSubTypeTribute = 1101
objSubTypeExperience = 1201
objSubTypeQuestForest = 1301
objSubTypeQuestSwamp = 1302
objSubTypeQuestValley = 1303
objSubTypeUser = 101
objSubTypeGuild = 201
objSubTypeMessageUnknown = 301
objSubTypeMessageWar = 302 // from Chat Wars Reports (not done)
objSubTypeMessageMiniWar = 303 // FIXME DELETE
objSubTypeMessageGuildWar = 304 // from Chat Wars Reports (not done)
objSubTypeMessageReportReq = 305 // /report (done)
objSubTypeMessageReportAck = 306 // result from /report (done)
objSubTypeMessageGReportReq = 307 // /g_report (done)
objSubTypeMessageGReportAck = 308 // result from /g_report (not done)
objSubTypeMessageQuestResult = 309 // result from going to quest (not done)
objSubTypeMessageDuelFight = 310 // result from going to duel fight (done)
objSubTypeMessageHeroReq = 311 // /hero (done)
objSubTypeMessageHeroAck = 312 // result from /hero (not done)
objSubTypeMessageMeReq = 313 // 🏅Me (done)
objSubTypeMessageMeAck = 314 // result from 🏅Me (done)
objSubTypeMessageInventoryReq = 315 // /inv (done)
objSubTypeMessageInventoryAck = 316 // result from /inv (not done)
objSubTypeMessagePillageInc = 317 // random incoming pillage (done)
objSubTypeMessagePillageGo = 318 // ack from /go (done)
objSubTypeMessagePillageTimeout = 319 // ack from lack of /go (done)
objSubTypeMessagePillageWin = 320 // pillage successfully intercepted (done)
objSubTypeMessagePillageLoss = 321 // pillage not intercepted (done)
objSubTypeMessageTributeInc = 322 // request for a /pledge (not done)
objSubTypeMessageTributeAck = 323 // pledge accepted (not done)
objSubTypeMessageAuctionAnnounce = 324 // from Boris and Co, Ltd (done)
objSubTypeMessageAuctionUpdReq = 325 // /l_123456 msg (not done)
objSubTypeMessageAuctionUpdAck = 326 // result from /l_123456 (not done)
objSubTypeMessageTimeAck = 327 // result from /time (done)
objSubTypeMessageTimeReq = 328 // /time (done)
objSubTypeMessageGo = 329 // /go (done)
objSubTypeMessagePledge = 330 // /pledge (done)
objSubTypeMessageGoQuestReq = 331 // 🌲Forest or 🍄Swamp or ⛰Valley (not done)
objSubTypeMessageGoFastFight = 332 // ▶Fast fight (not done)
objSubTypeMessageGoArena = 333 // 📯Arena (not done)
objSubTypeMessageTop = 334 // any /topXX (not done)
objSubTypeMessageMenu = 335 // main menu (not done)
objSubTypeMessageBuyReq = 336 // /wtb_xx (done)
objSubTypeMessageSellReq = 337 // /wts_xx (done)
objSubTypeMessageOrderbookReq = 338 // /t_xx (done)
objSubTypeMessageOrderbookAck = 339 // orderbook summary (not done)
objSubTypeMessageWithdrawReq = 340 // /g_withdraw (done)
objSubTypeMessageWithdrawCode = 341 // code to receive (done)
objSubTypeMessageWithdrawRcv = 342 // Withdraw "received" msg (done)
objSubTypeMessageStockReq = 343 // /stock (done)
objSubTypeMessageStockAck = 344 // result from /stock (not done)
objSubTypeMessageMiscReq = 345 // /misc (done)
objSubTypeMessageMiscAck = 346 // result from /misc (not done)
objSubTypeMessageUnionWar = 347 // from Chat Wars Reports (not done)
objSubTypeMessageTUReportReq = 348 // /tu_report (not done)
objSubTypeMessageTUReportAck = 349 // result from /tu_report (not done)
objSubTypeMessageTimeout = 350 // generic timeout for action
objSubTypeMessageGoQuestAck = 351 // confirm quest destination/busyness (done)
objSubTypeMessageGRolesReq = 352 // /g_roles (done)
objSubTypeMessageGRolesAck = 353 // result from /g_roles (done)
objSubTypeMessageGStockResReq = 354 // /g_stock_res (done)
objSubTypeMessageGStockAlchReq = 355 // /g_stock_alch (done)
objSubTypeMessageGStockMiscReq = 356 // /g_stock_misc (done)
objSubTypeMessageGStockRecReq = 357 // /g_stock_rec (done)
objSubTypeMessageGStockPartReq = 358 // /g_stock_parts (done)
objSubTypeMessageGStockOthReq = 359 // /g_stock_other (done)
objSubTypeMessageGStockAnyAck = 360 // result from any /g_stock_xxx (done)
objSubTypeMessageGStockReq = 361 // /g_stock (done)
objSubTypeMessageGStockAck = 362 // result from /g_stock (done)
objSubTypeMessageBusy = 363 // too busy now
objSubTypeMessageResStockReq = 364 // 📦Resources or /stock (done)
objSubTypeMessageAlchStockReq = 365 // ⚗Alchemy (done)
objSubTypeMessageMiscStockReq = 366 // 🗃Misc or /misc (done)
objSubTypeMessageEquipStockReq = 367 // 🏷Equipment (done)
objSubTypeMessageCraftStockReq = 368 // ⚒Crafting (done)
objSubTypeMessageStockEmpty = 369 // [empty] (done)
objSubTypeMessageStockAnyAck = 370 // list of stock (done)
objSubTypeMessageGDepositReq = 371 // /g_deposit xx y (done)
objSubTypeMessageGDepositAck = 372 // Deposited successfully: xx (y) (done)
objSubTypeMessageAttackReq = 373 // Attack (done)
objSubTypeMessageAttackAck = 374 // Read for attack, select target (done)
objSubTypeMessageAttackTargetReq = 375 // Castle selection (done)
objSubTypeMessageAttackTargetAck = 376 // Castle confirmation (done)
objSubTypeMessageDefendReq = 377 // Defend (done)
objSubTypeMessageDefendAck = 378 // Defend confirmation (done)
objSubTypeMessageBack = 379 // Back (done)
objSubTypeMessageCastleReq = 380 // Castle (done)
objSubTypeMessageCastleAck = 381 // Castle msg (not done)
objSubTypeMessageExchangeReq = 382 // ⚖Exchange (done)
objSubTypeMessageExchangeAck = 383 // List of deals (done)
objSubTypeMessageEquipGearReq = 384 // /on_item (done)
objSubTypeMessageEquipGearAck = 385 // Item equipped (done)
objSubTypeMessageUnequipGearReq = 386 // /off_item (done)
objSubTypeMessageUnequipGearAck = 387 // Item unequipped (done)
objSubTypeMessageNoStamina = 388 // Not enough stamina. (done)
objSubTypeMessageOrderbookSearch = 389 // /t <something>
objSubTypeMessageQuestReq = 390 // quest
objSubTypeMessageQuestAck = 391 // forest/swamp/valley/arena
objSubTypeMessageBattle = 392 // wind is howling
objSubTypeMessageOrderCancelReq = 393 // /rm_xxx
objSubTypeMessageOrderCancelAck = 394 // Cancelling order
objSubTypeMessageStaminaRestored = 395 // Stamina Restored
objSubTypeMessageTopReq = 396
objSubTypeMessageQuestResultAmbush = 397 // result from going to quest with ambush (not done)
objSubTypeJobPillage = 601
objSubTypeJobTribute = 602
objSubTypeJobStatus = 603
objSubTypeJobGWithdraw = 604
objSubTypeJobGStock = 605
objSubTypeJobRescanMsg = 606
objSubTypeJobSetJobDone = 607
objSubTypeJobMsgClient = 608
objSubTypeJobMsgRefresh = 609
objSubTypeJobBackupExport = 610
objSubTypeJobBackupImport = 611
objSubTypeJobGDeposit = 612
objSubTypeJobGDepositForward = 613
objSubTypeJobSaveRes = 614
objSubTypeJobVaultUserStatus = 615
objSubTypeJobVaultItemStatus = 616
objSubTypeItemResource = 701
objSubTypeItemAlch = 702
objSubTypeItemMisc = 703
objSubTypeItemRecipe = 704
objSubTypeItemPart = 705
objSubTypeItemOther = 706
objSubTypeItemUnique = 707
objSubTypeCastle = 801
objSubTypeFair = 901
objSubTypeUnion = 1001
objSubTypeTribute = 1101
objSubTypeExperience = 1201
objSubTypeQuestForest = 1301
objSubTypeQuestSwamp = 1302
objSubTypeQuestValley = 1303
objJobStatusCallBack = -1
objJobStatusNew = 0

View File

@ -364,7 +364,15 @@ func resetMsgParsingRules() {
`Foray is a dangerous activity\\. Someone can notice you and may beat you up\\. But if you go unnoticed, you will acquire a lot of loot\\.\\n\\n` +
`📯Arena (🔒){0,1}\\n` +
`Arena isn't a place for the weak\\. Here you fight against other players and if you stand victorious, you acquire precious experience\\.$")
,(5000, ` + strconv.Itoa(objSubTypeMessageQuestResultAmbush) + `, "Quest Res with Ambush and loot", "^You met some hostile creatures\\. Be careful:\\n` +
`(?P<Monsters>(([0-9] x ){0,1}[a-zA-Z ]* lvl\\.[0-9]*\\n{0,1})+)\\n` +
`It's an ambush! Loot is locked till the end of the fight:\\n` +
`(?P<Loot>([a-zA-Z ]* \\([0-9]+\\)\\n{0,1})+*)\\n` +
`/fight_[a-zA-Z0-9]+$")
,(5000, ` + strconv.Itoa(objSubTypeMessageQuestResultAmbush) + `, "Quest Res with Ambush and no loot", "^You met some hostile creatures\\. Be careful:\\n` +
`(?P<Monsters>(([0-9] x ){0,1}[a-zA-Z ]* lvl\\.[0-9]*\\n{0,1})+)\\n` +
`It's an ambush!\\n\\n` +
`/fight_[a-zA-Z0-9]+$")
;`)
failOnError(err, "resetMsgParsingRules : populate table msg_rules")

1
sql.go
View File

@ -464,6 +464,7 @@ func initDB() {
,(` + strconv.Itoa(objSubTypeMessageGReportReq) + `, "g_report_req", "Player guilds war report request", ` + strconv.Itoa(objTypeMessage) + `)
,(` + strconv.Itoa(objSubTypeMessageGReportAck) + `, "g_report_ack", "Player guilds war report ack", ` + strconv.Itoa(objTypeMessage) + `)
,(` + strconv.Itoa(objSubTypeMessageQuestResult) + `, "quest_res", "Quest result", ` + strconv.Itoa(objTypeMessage) + `)
,(` + strconv.Itoa(objSubTypeMessageQuestResultAmbush) + `, "quest_res_ambush", "Quest result with Ambush", ` + strconv.Itoa(objTypeMessage) + `)
,(` + strconv.Itoa(objSubTypeMessageDuelFight) + `, "duel_fight", "Duel fight result", ` + strconv.Itoa(objTypeMessage) + `)
,(` + strconv.Itoa(objSubTypeMessageHeroReq) + `, "hero_req", "Hero summary request", ` + strconv.Itoa(objTypeMessage) + `)
,(` + strconv.Itoa(objSubTypeMessageHeroAck) + `, "hero_ack", "Hero summary ack", ` + strconv.Itoa(objTypeMessage) + `)