Henrybk

Quest mission hunt diff

Jul 6th, 2015
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 16.35 KB | None | 0 0
  1. Index: Receive.pm
  2. ===================================================================
  3. --- Receive.pm  (revision 8978)
  4. +++ Receive.pm  (working copy)
  5. @@ -2066,4 +2066,118 @@
  6.     message TF("Progress bar finished.\n", 'info');
  7.  }
  8.  
  9. +# 02B1
  10. +sub quest_all_list {
  11. +   my ($self, $args) = @_;
  12. +   $questList = {};
  13. +   for (my $i = 8; $i < $args->{amount}*5+8; $i += 5) {
  14. +       my ($questID, $active) = unpack('V C', substr($args->{RAW_MSG}, $i, 5));
  15. +       $questList->{$questID}->{active} = $active;
  16. +       debug "$questID $active\n", "info";
  17. +   }
  18. +}
  19. +
  20. +# 02B2
  21. +# note: this packet shows all quests + their missions and has variable length
  22. +sub quest_all_mission {
  23. +   my ($self, $args) = @_;
  24. +   debug $self->{packet_list}{$args->{switch}}->[0] . " " . join(', ', @{$args}{@{$self->{packet_list}{$args->{switch}}->[2]}}) ."\n";
  25. +   for (my $i = 8; $i < $args->{amount}*104+8; $i += 104) {
  26. +       my ($questID, $time_start, $time, $mission_amount) = unpack('V3 v', substr($args->{RAW_MSG}, $i, 14));
  27. +       my $quest = \%{$questList->{$questID}};
  28. +       $quest->{time_start} = $time_start;
  29. +       $quest->{time} = $time;
  30. +       debug "$questID $time_start $time $mission_amount\n", "info";
  31. +       for (my $j = 0; $j < $mission_amount; $j++) {
  32. +           my ($mobID, $count, $mobName) = unpack('V v Z24', substr($args->{RAW_MSG}, 14+$i+$j*30, 30));
  33. +           my $mission = \%{$quest->{missions}->{$mobID}};
  34. +           $mission->{mobID} = $mobID;
  35. +           $mission->{count} = $count;
  36. +           $mission->{mobName} = bytesToString($mobName);
  37. +           debug "- $mobID $count $mobName\n", "info";
  38. +       }
  39. +   }
  40. +}
  41. +
  42. +# 02B3
  43. +# note: this packet shows all missions for 1 quest and has fixed length
  44. +sub quest_add {
  45. +   my ($self, $args) = @_;
  46. +   my $questID = $args->{questID};
  47. +   my $quest = \%{$questList->{$questID}};
  48. +
  49. +   unless (%$quest) {
  50. +       message TF("Quest: %s has been added.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID), "info";
  51. +   }
  52. +
  53. +   $quest->{time_start} = $args->{time_start};
  54. +   $quest->{time} = $args->{time};
  55. +   $quest->{active} = $args->{active};
  56. +   debug $self->{packet_list}{$args->{switch}}->[0] . " " . join(', ', @{$args}{@{$self->{packet_list}{$args->{switch}}->[2]}}) ."\n";
  57. +   for (my $i = 0; $i < $args->{amount}; $i++) {
  58. +       my ($mobID, $count, $mobName) = unpack('V v Z24', substr($args->{RAW_MSG}, 17+$i*30, 30));
  59. +       my $mission = \%{$quest->{missions}->{$mobID}};
  60. +       $mission->{mobID} = $mobID;
  61. +       $mission->{count} = $count;
  62. +       $mission->{mobName} = bytesToString($mobName);
  63. +       debug "- $mobID $count $mobName\n", "info";
  64. +   }
  65. +}
  66. +
  67. +# 02B4
  68. +sub quest_delete {
  69. +   my ($self, $args) = @_;
  70. +   my $questID = $args->{questID};
  71. +   message TF("Quest: %s has been deleted.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID), "info";
  72. +   delete $questList->{$questID};
  73. +}
  74. +
  75. +sub parse_quest_update_mission_hunt {
  76. +   my ($self, $args) = @_;
  77. +   @{$args->{mobs}} = map {
  78. +       my %result; @result{qw(questID mobID count)} = unpack 'V2 v', $_; \%result
  79. +   } unpack '(a10)*', $args->{mobInfo};
  80. +}
  81. +
  82. +sub reconstruct_quest_update_mission_hunt {
  83. +   my ($self, $args) = @_;
  84. +   $args->{mobInfo} = pack '(a10)*', map { pack 'V2 v', @{$_}{qw(questID mobID count)} } @{$args->{mobs}};
  85. +}
  86. +
  87. +sub parse_quest_update_mission_hunt_v2 {
  88. +   my ($self, $args) = @_;
  89. +   @{$args->{mobs}} = map {
  90. +       my %result; @result{qw(questID mobID goal count)} = unpack 'V2 v2', $_; \%result
  91. +   } unpack '(a12)*', $args->{mobInfo};
  92. +}
  93. +
  94. +sub reconstruct_quest_update_mission_hunt_v2 {
  95. +   my ($self, $args) = @_;
  96. +   $args->{mobInfo} = pack '(a12)*', map { pack 'V2 v2', @{$_}{qw(questID mobID goal count)} } @{$args->{mobs}};
  97. +}
  98. +
  99. +# 02B5
  100. +sub quest_update_mission_hunt {
  101. +   my ($self, $args) = @_;
  102. +   my ($questID, $mobID, $goal, $count) = unpack('V2 v2', substr($args->{RAW_MSG}, 6));
  103. +   my $quest = \%{$questList->{$questID}};
  104. +   my $mission = \%{$quest->{missions}->{$mobID}};
  105. +   $mission->{goal} = $goal;
  106. +   $mission->{count} = $count;
  107. +   debug "- $questID $mobID $count $goal\n", "info";
  108. +}
  109. +
  110. +# 02B7
  111. +sub quest_active {
  112. +   my ($self, $args) = @_;
  113. +   my $questID = $args->{questID};
  114. +
  115. +   message $args->{active}
  116. +       ? TF("Quest %s is now active.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID)
  117. +       : TF("Quest %s is now inactive.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID)
  118. +   , "info";
  119. +
  120. +   $questList->{$args->{questID}}->{active} = $args->{active};
  121. +}
  122. +
  123.  1;
  124. Index: Receive/bRO.pm
  125. ===================================================================
  126. --- Receive/bRO.pm  (revision 8978)
  127. +++ Receive/bRO.pm  (working copy)
  128. @@ -69,7 +69,7 @@
  129.     }
  130.  }
  131.  
  132. -*parse_quest_update_mission_hunt = *Network::Receive::ServerType0::parse_quest_update_mission_hunt_v2;
  133. -*reconstruct_quest_update_mission_hunt = *Network::Receive::ServerType0::reconstruct_quest_update_mission_hunt_v2;
  134. +*parse_quest_update_mission_hunt = *Network::Receive::parse_quest_update_mission_hunt_v2;
  135. +*reconstruct_quest_update_mission_hunt = *Network::Receive::reconstruct_quest_update_mission_hunt_v2;
  136.  
  137.  1;
  138. \ No newline at end of file
  139. Index: Receive/iRO.pm
  140. ===================================================================
  141. --- Receive/iRO.pm  (revision 8978)
  142. +++ Receive/iRO.pm  (working copy)
  143. @@ -63,7 +63,7 @@
  144.     $self->received_characters($args);
  145.  }
  146.  
  147. -*parse_quest_update_mission_hunt = *Network::Receive::ServerType0::parse_quest_update_mission_hunt_v2;
  148. -*reconstruct_quest_update_mission_hunt = *Network::Receive::ServerType0::reconstruct_quest_update_mission_hunt_v2;
  149. +*parse_quest_update_mission_hunt = *Network::Receive::parse_quest_update_mission_hunt_v2;
  150. +*reconstruct_quest_update_mission_hunt = *Network::Receive::reconstruct_quest_update_mission_hunt_v2;
  151.  
  152.  1;
  153. \ No newline at end of file
  154. Index: Receive/kRO/Sakexe_0.pm
  155. ===================================================================
  156. --- Receive/kRO/Sakexe_0.pm (revision 8978)
  157. +++ Receive/kRO/Sakexe_0.pm (working copy)
  158. @@ -6224,100 +6224,6 @@
  159.     }
  160.  }
  161.  
  162. -# 02B1
  163. -sub quest_all_list {
  164. -   my ($self, $args) = @_;
  165. -   $questList = {};
  166. -   for (my $i = 8; $i < $args->{amount}*5+8; $i += 5) {
  167. -       my ($questID, $active) = unpack('V C', substr($args->{RAW_MSG}, $i, 5));
  168. -       $questList->{$questID}->{active} = $active;
  169. -       debug "$questID $active\n", "info";
  170. -   }
  171. -}
  172. -
  173. -# 02B2
  174. -# note: this packet shows all quests + their missions and has variable length
  175. -sub quest_all_mission {
  176. -   my ($self, $args) = @_;
  177. -   debug $self->{packet_list}{$args->{switch}}->[0] . " " . join(', ', @{$args}{@{$self->{packet_list}{$args->{switch}}->[2]}}) ."\n";
  178. -   for (my $i = 8; $i < $args->{amount}*104+8; $i += 104) {
  179. -       my ($questID, $time_start, $time, $mission_amount) = unpack('V3 v', substr($args->{RAW_MSG}, $i, 14));
  180. -       my $quest = \%{$questList->{$questID}};
  181. -       $quest->{time_start} = $time_start;
  182. -       $quest->{time} = $time;
  183. -       debug "$questID $time_start $time $mission_amount\n", "info";
  184. -       for (my $j = 0; $j < $mission_amount; $j++) {
  185. -           my ($mobID, $count, $mobName) = unpack('V v Z24', substr($args->{RAW_MSG}, 14+$i+$j*30, 30));
  186. -           my $mission = \%{$quest->{missions}->{$mobID}};
  187. -           $mission->{mobID} = $mobID;
  188. -           $mission->{count} = $count;
  189. -           $mission->{mobName} = bytesToString($mobName);
  190. -           debug "- $mobID $count $mobName\n", "info";
  191. -       }
  192. -   }
  193. -}
  194. -
  195. -# 02B3
  196. -# note: this packet shows all missions for 1 quest and has fixed length
  197. -sub quest_add {
  198. -   my ($self, $args) = @_;
  199. -   my $questID = $args->{questID};
  200. -   my $quest = \%{$questList->{$questID}};
  201. -
  202. -   unless (%$quest) {
  203. -       message TF("Quest: %s has been added.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID), "info";
  204. -   }
  205. -
  206. -   $quest->{time_start} = $args->{time_start};
  207. -   $quest->{time} = $args->{time};
  208. -   $quest->{active} = $args->{active};
  209. -   debug $self->{packet_list}{$args->{switch}}->[0] . " " . join(', ', @{$args}{@{$self->{packet_list}{$args->{switch}}->[2]}}) ."\n";
  210. -   for (my $i = 0; $i < $args->{amount}; $i++) {
  211. -       my ($mobID, $count, $mobName) = unpack('V v Z24', substr($args->{RAW_MSG}, 17+$i*30, 30));
  212. -       my $mission = \%{$quest->{missions}->{$mobID}};
  213. -       $mission->{mobID} = $mobID;
  214. -       $mission->{count} = $count;
  215. -       $mission->{mobName} = bytesToString($mobName);
  216. -       debug "- $mobID $count $mobName\n", "info";
  217. -   }
  218. -}
  219. -
  220. -# 02B4
  221. -sub quest_delete {
  222. -   my ($self, $args) = @_;
  223. -   my $questID = $args->{questID};
  224. -   message TF("Quest: %s has been deleted.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID), "info";
  225. -   delete $questList->{$questID};
  226. -}
  227. -
  228. -# 02B5
  229. -# TODO: i'm not sure if the order here is the same as the order in quest_objective_update for the objectives, i sure do hope so
  230. -# TODO: nvm previous todo, now we use
  231. -# note: this packet updates the objectives counters
  232. -sub quest_update_mission_hunt {
  233. -   my ($self, $args) = @_;
  234. -   for (my $i = 0; $i < $args->{amount}; $i++) {
  235. -       my ($questID, $mobID, $count) = unpack('V2 v', substr($args->{RAW_MSG}, 6+$i*10, 10));
  236. -       my $mission = \%{$questList->{$questID}->{missions}->{$mobID}};
  237. -       $mission->{count} = $count;
  238. -       $mission->{mobID} = $mobID;
  239. -       debug sprintf ("questID (%d) - mob(%s) count(%d) \n", $questID, monsterName($mobID), $count), "info";
  240. -   }
  241. -}
  242. -
  243. -# 02B7
  244. -sub quest_active {
  245. -   my ($self, $args) = @_;
  246. -   my $questID = $args->{questID};
  247. -
  248. -   message $args->{active}
  249. -       ? TF("Quest %s is now active.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID)
  250. -       : TF("Quest %s is now inactive.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID)
  251. -   , "info";
  252. -
  253. -   $questList->{$args->{questID}}->{active} = $args->{active};
  254. -}
  255. -
  256.  sub GM_req_acc_name {
  257.     my ($self, $args) = @_;
  258.     message TF("The accountName for ID %s is %s.\n", $args->{targetID}, $args->{accountName}), "info";
  259. Index: Receive/kRO/Sakexe_2007_10_02a.pm
  260. ===================================================================
  261. --- Receive/kRO/Sakexe_2007_10_02a.pm   (revision 8978)
  262. +++ Receive/kRO/Sakexe_2007_10_02a.pm   (working copy)
  263. @@ -37,7 +37,7 @@
  264.         '02AD' => ['login_pin_code_request', 'v V', [qw(flag key)]], # 8
  265.         '02B1' => ['quest_all_list', 'v V', [qw(len amount)]], # -1
  266.         '02B2' => ['quest_all_mission', 'v V', [qw(len amount)]], # -1
  267. -       '02B3' => ['quest_add', 'V C V2 v', [qw(questID active time amount)]], # 107
  268. +       '02B3' => ['quest_add', 'V C V2 v', [qw(questID active time_start time amount)]], # 107
  269.         '02B4' => ['quest_delete', 'V', [qw(questID)]], # 6
  270.         '02B5' => ['quest_update_mission_hunt', 'v2 a*', [qw(len amount mobInfo)]],#-1
  271.         '02B7' => ['quest_active', 'V C', [qw(questID active)]], # 7
  272. Index: Receive/pRO.pm
  273. ===================================================================
  274. --- Receive/pRO.pm  (revision 8978)
  275. +++ Receive/pRO.pm  (working copy)
  276. @@ -167,7 +167,7 @@
  277.     }
  278.  }
  279.  
  280. -*parse_quest_update_mission_hunt = *Network::Receive::ServerType0::parse_quest_update_mission_hunt_v2;
  281. -*reconstruct_quest_update_mission_hunt = *Network::Receive::ServerType0::reconstruct_quest_update_mission_hunt_v2;
  282. +*parse_quest_update_mission_hunt = *Network::Receive::parse_quest_update_mission_hunt_v2;
  283. +*reconstruct_quest_update_mission_hunt = *Network::Receive::reconstruct_quest_update_mission_hunt_v2;
  284.  
  285.  1;
  286. \ No newline at end of file
  287. Index: Receive/ServerType0.pm
  288. ===================================================================
  289. --- Receive/ServerType0.pm  (revision 8978)
  290. +++ Receive/ServerType0.pm  (working copy)
  291. @@ -6935,119 +6935,6 @@
  292.     }
  293.  }
  294.  
  295. -# 02B1
  296. -sub quest_all_list {
  297. -   my ($self, $args) = @_;
  298. -   $questList = {};
  299. -   for (my $i = 8; $i < $args->{amount}*5+8; $i += 5) {
  300. -       my ($questID, $active) = unpack('V C', substr($args->{RAW_MSG}, $i, 5));
  301. -       $questList->{$questID}->{active} = $active;
  302. -       debug "$questID $active\n", "info";
  303. -   }
  304. -}
  305. -
  306. -# 02B2
  307. -# note: this packet shows all quests + their missions and has variable length
  308. -sub quest_all_mission {
  309. -   my ($self, $args) = @_;
  310. -   debug $self->{packet_list}{$args->{switch}}->[0] . " " . join(', ', @{$args}{@{$self->{packet_list}{$args->{switch}}->[2]}}) ."\n";
  311. -   for (my $i = 8; $i < $args->{amount}*104+8; $i += 104) {
  312. -       my ($questID, $time_start, $time, $mission_amount) = unpack('V3 v', substr($args->{RAW_MSG}, $i, 14));
  313. -       my $quest = \%{$questList->{$questID}};
  314. -       $quest->{time_start} = $time_start;
  315. -       $quest->{time} = $time;
  316. -       debug "$questID $time_start $time $mission_amount\n", "info";
  317. -       for (my $j = 0; $j < $mission_amount; $j++) {
  318. -           my ($mobID, $count, $mobName) = unpack('V v Z24', substr($args->{RAW_MSG}, 14+$i+$j*30, 30));
  319. -           my $mission = \%{$quest->{missions}->{$mobID}};
  320. -           $mission->{mobID} = $mobID;
  321. -           $mission->{count} = $count;
  322. -           $mission->{mobName} = bytesToString($mobName);
  323. -           debug "- $mobID $count $mobName\n", "info";
  324. -       }
  325. -   }
  326. -}
  327. -
  328. -# 02B3
  329. -# note: this packet shows all missions for 1 quest and has fixed length
  330. -sub quest_add {
  331. -   my ($self, $args) = @_;
  332. -   my $questID = $args->{questID};
  333. -   my $quest = \%{$questList->{$questID}};
  334. -
  335. -   unless (%$quest) {
  336. -       message TF("Quest: %s has been added.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID), "info";
  337. -   }
  338. -
  339. -   $quest->{time_start} = $args->{time_start};
  340. -   $quest->{time} = $args->{time};
  341. -   $quest->{active} = $args->{active};
  342. -   debug $self->{packet_list}{$args->{switch}}->[0] . " " . join(', ', @{$args}{@{$self->{packet_list}{$args->{switch}}->[2]}}) ."\n";
  343. -   for (my $i = 0; $i < $args->{amount}; $i++) {
  344. -       my ($mobID, $count, $mobName) = unpack('V v Z24', substr($args->{RAW_MSG}, 17+$i*30, 30));
  345. -       my $mission = \%{$quest->{missions}->{$mobID}};
  346. -       $mission->{mobID} = $mobID;
  347. -       $mission->{count} = $count;
  348. -       $mission->{mobName} = bytesToString($mobName);
  349. -       debug "- $mobID $count $mobName\n", "info";
  350. -   }
  351. -}
  352. -
  353. -# 02B4
  354. -sub quest_delete {
  355. -   my ($self, $args) = @_;
  356. -   my $questID = $args->{questID};
  357. -   message TF("Quest: %s has been deleted.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID), "info";
  358. -   delete $questList->{$questID};
  359. -}
  360. -
  361. -sub parse_quest_update_mission_hunt {
  362. -   my ($self, $args) = @_;
  363. -   @{$args->{mobs}} = map {
  364. -       my %result; @result{qw(questID mobID count)} = unpack 'V2 v', $_; \%result
  365. -   } unpack '(a10)*', $args->{mobInfo};
  366. -}
  367. -
  368. -sub reconstruct_quest_update_mission_hunt {
  369. -   my ($self, $args) = @_;
  370. -   $args->{mobInfo} = pack '(a10)*', map { pack 'V2 v', @{$_}{qw(questID mobID count)} } @{$args->{mobs}};
  371. -}
  372. -
  373. -sub parse_quest_update_mission_hunt_v2 {
  374. -   my ($self, $args) = @_;
  375. -   @{$args->{mobs}} = map {
  376. -       my %result; @result{qw(questID mobID goal count)} = unpack 'V2 v2', $_; \%result
  377. -   } unpack '(a12)*', $args->{mobInfo};
  378. -}
  379. -
  380. -sub reconstruct_quest_update_mission_hunt_v2 {
  381. -   my ($self, $args) = @_;
  382. -   $args->{mobInfo} = pack '(a12)*', map { pack 'V2 v2', @{$_}{qw(questID mobID goal count)} } @{$args->{mobs}};
  383. -}
  384. -
  385. -# 02B5
  386. -# note: this packet updates the objectives counters
  387. -sub quest_update_mission_hunt {
  388. -   my ($self, $args) = @_;
  389. -   for my $mob (@{$args->{mobs}}) {
  390. -       message TF("Quest [%s] - defeated [%s] progress (%d/%d) \n", $quests_lut{$mob->{questID}} ? $quests_lut{$mob->{questID}}{title} : '',  $questList->{$mob->{questID}}{missions}{$mob->{mobID}}->{mobName}, $mob->{count}, $mob->{goal}), "info";
  391. -       @{$questList->{$mob->{questID}}{missions}{$mob->{mobID}}}{@$_} = @{$mob}{@$_} for [qw(mobID goal count)];
  392. -   }
  393. -}
  394. -
  395. -# 02B7
  396. -sub quest_active {
  397. -   my ($self, $args) = @_;
  398. -   my $questID = $args->{questID};
  399. -
  400. -   message $args->{active}
  401. -       ? TF("Quest %s is now active.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID)
  402. -       : TF("Quest %s is now inactive.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID)
  403. -   , "info";
  404. -
  405. -   $questList->{$args->{questID}}->{active} = $args->{active};
  406. -}
  407. -
  408.  # 018B
  409.  sub quit_response {
  410.     my ($self, $args) = @_;
  411. Index: Receive/twRO.pm
  412. ===================================================================
  413. --- Receive/twRO.pm (revision 8978)
  414. +++ Receive/twRO.pm (working copy)
  415. @@ -51,8 +51,8 @@
  416.     return $self;
  417.  }
  418.  
  419. -*parse_quest_update_mission_hunt = *Network::Receive::ServerType0::parse_quest_update_mission_hunt_v2;
  420. -*reconstruct_quest_update_mission_hunt = *Network::Receive::ServerType0::reconstruct_quest_update_mission_hunt_v2;
  421. +*parse_quest_update_mission_hunt = *Network::Receive::parse_quest_update_mission_hunt_v2;
  422. +*reconstruct_quest_update_mission_hunt = *Network::Receive::reconstruct_quest_update_mission_hunt_v2;
  423.  
  424.  sub sync_received_characters {
  425.     my ($self, $args) = @_;
Advertisement
Add Comment
Please, Sign In to add comment