Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: Receive.pm
- ===================================================================
- --- Receive.pm (revision 8978)
- +++ Receive.pm (working copy)
- @@ -2066,4 +2066,118 @@
- message TF("Progress bar finished.\n", 'info');
- }
- +# 02B1
- +sub quest_all_list {
- + my ($self, $args) = @_;
- + $questList = {};
- + for (my $i = 8; $i < $args->{amount}*5+8; $i += 5) {
- + my ($questID, $active) = unpack('V C', substr($args->{RAW_MSG}, $i, 5));
- + $questList->{$questID}->{active} = $active;
- + debug "$questID $active\n", "info";
- + }
- +}
- +
- +# 02B2
- +# note: this packet shows all quests + their missions and has variable length
- +sub quest_all_mission {
- + my ($self, $args) = @_;
- + debug $self->{packet_list}{$args->{switch}}->[0] . " " . join(', ', @{$args}{@{$self->{packet_list}{$args->{switch}}->[2]}}) ."\n";
- + for (my $i = 8; $i < $args->{amount}*104+8; $i += 104) {
- + my ($questID, $time_start, $time, $mission_amount) = unpack('V3 v', substr($args->{RAW_MSG}, $i, 14));
- + my $quest = \%{$questList->{$questID}};
- + $quest->{time_start} = $time_start;
- + $quest->{time} = $time;
- + debug "$questID $time_start $time $mission_amount\n", "info";
- + for (my $j = 0; $j < $mission_amount; $j++) {
- + my ($mobID, $count, $mobName) = unpack('V v Z24', substr($args->{RAW_MSG}, 14+$i+$j*30, 30));
- + my $mission = \%{$quest->{missions}->{$mobID}};
- + $mission->{mobID} = $mobID;
- + $mission->{count} = $count;
- + $mission->{mobName} = bytesToString($mobName);
- + debug "- $mobID $count $mobName\n", "info";
- + }
- + }
- +}
- +
- +# 02B3
- +# note: this packet shows all missions for 1 quest and has fixed length
- +sub quest_add {
- + my ($self, $args) = @_;
- + my $questID = $args->{questID};
- + my $quest = \%{$questList->{$questID}};
- +
- + unless (%$quest) {
- + message TF("Quest: %s has been added.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID), "info";
- + }
- +
- + $quest->{time_start} = $args->{time_start};
- + $quest->{time} = $args->{time};
- + $quest->{active} = $args->{active};
- + debug $self->{packet_list}{$args->{switch}}->[0] . " " . join(', ', @{$args}{@{$self->{packet_list}{$args->{switch}}->[2]}}) ."\n";
- + for (my $i = 0; $i < $args->{amount}; $i++) {
- + my ($mobID, $count, $mobName) = unpack('V v Z24', substr($args->{RAW_MSG}, 17+$i*30, 30));
- + my $mission = \%{$quest->{missions}->{$mobID}};
- + $mission->{mobID} = $mobID;
- + $mission->{count} = $count;
- + $mission->{mobName} = bytesToString($mobName);
- + debug "- $mobID $count $mobName\n", "info";
- + }
- +}
- +
- +# 02B4
- +sub quest_delete {
- + my ($self, $args) = @_;
- + my $questID = $args->{questID};
- + message TF("Quest: %s has been deleted.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID), "info";
- + delete $questList->{$questID};
- +}
- +
- +sub parse_quest_update_mission_hunt {
- + my ($self, $args) = @_;
- + @{$args->{mobs}} = map {
- + my %result; @result{qw(questID mobID count)} = unpack 'V2 v', $_; \%result
- + } unpack '(a10)*', $args->{mobInfo};
- +}
- +
- +sub reconstruct_quest_update_mission_hunt {
- + my ($self, $args) = @_;
- + $args->{mobInfo} = pack '(a10)*', map { pack 'V2 v', @{$_}{qw(questID mobID count)} } @{$args->{mobs}};
- +}
- +
- +sub parse_quest_update_mission_hunt_v2 {
- + my ($self, $args) = @_;
- + @{$args->{mobs}} = map {
- + my %result; @result{qw(questID mobID goal count)} = unpack 'V2 v2', $_; \%result
- + } unpack '(a12)*', $args->{mobInfo};
- +}
- +
- +sub reconstruct_quest_update_mission_hunt_v2 {
- + my ($self, $args) = @_;
- + $args->{mobInfo} = pack '(a12)*', map { pack 'V2 v2', @{$_}{qw(questID mobID goal count)} } @{$args->{mobs}};
- +}
- +
- +# 02B5
- +sub quest_update_mission_hunt {
- + my ($self, $args) = @_;
- + my ($questID, $mobID, $goal, $count) = unpack('V2 v2', substr($args->{RAW_MSG}, 6));
- + my $quest = \%{$questList->{$questID}};
- + my $mission = \%{$quest->{missions}->{$mobID}};
- + $mission->{goal} = $goal;
- + $mission->{count} = $count;
- + debug "- $questID $mobID $count $goal\n", "info";
- +}
- +
- +# 02B7
- +sub quest_active {
- + my ($self, $args) = @_;
- + my $questID = $args->{questID};
- +
- + message $args->{active}
- + ? TF("Quest %s is now active.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID)
- + : TF("Quest %s is now inactive.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID)
- + , "info";
- +
- + $questList->{$args->{questID}}->{active} = $args->{active};
- +}
- +
- 1;
- Index: Receive/bRO.pm
- ===================================================================
- --- Receive/bRO.pm (revision 8978)
- +++ Receive/bRO.pm (working copy)
- @@ -69,7 +69,7 @@
- }
- }
- -*parse_quest_update_mission_hunt = *Network::Receive::ServerType0::parse_quest_update_mission_hunt_v2;
- -*reconstruct_quest_update_mission_hunt = *Network::Receive::ServerType0::reconstruct_quest_update_mission_hunt_v2;
- +*parse_quest_update_mission_hunt = *Network::Receive::parse_quest_update_mission_hunt_v2;
- +*reconstruct_quest_update_mission_hunt = *Network::Receive::reconstruct_quest_update_mission_hunt_v2;
- 1;
- \ No newline at end of file
- Index: Receive/iRO.pm
- ===================================================================
- --- Receive/iRO.pm (revision 8978)
- +++ Receive/iRO.pm (working copy)
- @@ -63,7 +63,7 @@
- $self->received_characters($args);
- }
- -*parse_quest_update_mission_hunt = *Network::Receive::ServerType0::parse_quest_update_mission_hunt_v2;
- -*reconstruct_quest_update_mission_hunt = *Network::Receive::ServerType0::reconstruct_quest_update_mission_hunt_v2;
- +*parse_quest_update_mission_hunt = *Network::Receive::parse_quest_update_mission_hunt_v2;
- +*reconstruct_quest_update_mission_hunt = *Network::Receive::reconstruct_quest_update_mission_hunt_v2;
- 1;
- \ No newline at end of file
- Index: Receive/kRO/Sakexe_0.pm
- ===================================================================
- --- Receive/kRO/Sakexe_0.pm (revision 8978)
- +++ Receive/kRO/Sakexe_0.pm (working copy)
- @@ -6224,100 +6224,6 @@
- }
- }
- -# 02B1
- -sub quest_all_list {
- - my ($self, $args) = @_;
- - $questList = {};
- - for (my $i = 8; $i < $args->{amount}*5+8; $i += 5) {
- - my ($questID, $active) = unpack('V C', substr($args->{RAW_MSG}, $i, 5));
- - $questList->{$questID}->{active} = $active;
- - debug "$questID $active\n", "info";
- - }
- -}
- -
- -# 02B2
- -# note: this packet shows all quests + their missions and has variable length
- -sub quest_all_mission {
- - my ($self, $args) = @_;
- - debug $self->{packet_list}{$args->{switch}}->[0] . " " . join(', ', @{$args}{@{$self->{packet_list}{$args->{switch}}->[2]}}) ."\n";
- - for (my $i = 8; $i < $args->{amount}*104+8; $i += 104) {
- - my ($questID, $time_start, $time, $mission_amount) = unpack('V3 v', substr($args->{RAW_MSG}, $i, 14));
- - my $quest = \%{$questList->{$questID}};
- - $quest->{time_start} = $time_start;
- - $quest->{time} = $time;
- - debug "$questID $time_start $time $mission_amount\n", "info";
- - for (my $j = 0; $j < $mission_amount; $j++) {
- - my ($mobID, $count, $mobName) = unpack('V v Z24', substr($args->{RAW_MSG}, 14+$i+$j*30, 30));
- - my $mission = \%{$quest->{missions}->{$mobID}};
- - $mission->{mobID} = $mobID;
- - $mission->{count} = $count;
- - $mission->{mobName} = bytesToString($mobName);
- - debug "- $mobID $count $mobName\n", "info";
- - }
- - }
- -}
- -
- -# 02B3
- -# note: this packet shows all missions for 1 quest and has fixed length
- -sub quest_add {
- - my ($self, $args) = @_;
- - my $questID = $args->{questID};
- - my $quest = \%{$questList->{$questID}};
- -
- - unless (%$quest) {
- - message TF("Quest: %s has been added.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID), "info";
- - }
- -
- - $quest->{time_start} = $args->{time_start};
- - $quest->{time} = $args->{time};
- - $quest->{active} = $args->{active};
- - debug $self->{packet_list}{$args->{switch}}->[0] . " " . join(', ', @{$args}{@{$self->{packet_list}{$args->{switch}}->[2]}}) ."\n";
- - for (my $i = 0; $i < $args->{amount}; $i++) {
- - my ($mobID, $count, $mobName) = unpack('V v Z24', substr($args->{RAW_MSG}, 17+$i*30, 30));
- - my $mission = \%{$quest->{missions}->{$mobID}};
- - $mission->{mobID} = $mobID;
- - $mission->{count} = $count;
- - $mission->{mobName} = bytesToString($mobName);
- - debug "- $mobID $count $mobName\n", "info";
- - }
- -}
- -
- -# 02B4
- -sub quest_delete {
- - my ($self, $args) = @_;
- - my $questID = $args->{questID};
- - message TF("Quest: %s has been deleted.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID), "info";
- - delete $questList->{$questID};
- -}
- -
- -# 02B5
- -# 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
- -# TODO: nvm previous todo, now we use
- -# note: this packet updates the objectives counters
- -sub quest_update_mission_hunt {
- - my ($self, $args) = @_;
- - for (my $i = 0; $i < $args->{amount}; $i++) {
- - my ($questID, $mobID, $count) = unpack('V2 v', substr($args->{RAW_MSG}, 6+$i*10, 10));
- - my $mission = \%{$questList->{$questID}->{missions}->{$mobID}};
- - $mission->{count} = $count;
- - $mission->{mobID} = $mobID;
- - debug sprintf ("questID (%d) - mob(%s) count(%d) \n", $questID, monsterName($mobID), $count), "info";
- - }
- -}
- -
- -# 02B7
- -sub quest_active {
- - my ($self, $args) = @_;
- - my $questID = $args->{questID};
- -
- - message $args->{active}
- - ? TF("Quest %s is now active.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID)
- - : TF("Quest %s is now inactive.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID)
- - , "info";
- -
- - $questList->{$args->{questID}}->{active} = $args->{active};
- -}
- -
- sub GM_req_acc_name {
- my ($self, $args) = @_;
- message TF("The accountName for ID %s is %s.\n", $args->{targetID}, $args->{accountName}), "info";
- Index: Receive/kRO/Sakexe_2007_10_02a.pm
- ===================================================================
- --- Receive/kRO/Sakexe_2007_10_02a.pm (revision 8978)
- +++ Receive/kRO/Sakexe_2007_10_02a.pm (working copy)
- @@ -37,7 +37,7 @@
- '02AD' => ['login_pin_code_request', 'v V', [qw(flag key)]], # 8
- '02B1' => ['quest_all_list', 'v V', [qw(len amount)]], # -1
- '02B2' => ['quest_all_mission', 'v V', [qw(len amount)]], # -1
- - '02B3' => ['quest_add', 'V C V2 v', [qw(questID active time amount)]], # 107
- + '02B3' => ['quest_add', 'V C V2 v', [qw(questID active time_start time amount)]], # 107
- '02B4' => ['quest_delete', 'V', [qw(questID)]], # 6
- '02B5' => ['quest_update_mission_hunt', 'v2 a*', [qw(len amount mobInfo)]],#-1
- '02B7' => ['quest_active', 'V C', [qw(questID active)]], # 7
- Index: Receive/pRO.pm
- ===================================================================
- --- Receive/pRO.pm (revision 8978)
- +++ Receive/pRO.pm (working copy)
- @@ -167,7 +167,7 @@
- }
- }
- -*parse_quest_update_mission_hunt = *Network::Receive::ServerType0::parse_quest_update_mission_hunt_v2;
- -*reconstruct_quest_update_mission_hunt = *Network::Receive::ServerType0::reconstruct_quest_update_mission_hunt_v2;
- +*parse_quest_update_mission_hunt = *Network::Receive::parse_quest_update_mission_hunt_v2;
- +*reconstruct_quest_update_mission_hunt = *Network::Receive::reconstruct_quest_update_mission_hunt_v2;
- 1;
- \ No newline at end of file
- Index: Receive/ServerType0.pm
- ===================================================================
- --- Receive/ServerType0.pm (revision 8978)
- +++ Receive/ServerType0.pm (working copy)
- @@ -6935,119 +6935,6 @@
- }
- }
- -# 02B1
- -sub quest_all_list {
- - my ($self, $args) = @_;
- - $questList = {};
- - for (my $i = 8; $i < $args->{amount}*5+8; $i += 5) {
- - my ($questID, $active) = unpack('V C', substr($args->{RAW_MSG}, $i, 5));
- - $questList->{$questID}->{active} = $active;
- - debug "$questID $active\n", "info";
- - }
- -}
- -
- -# 02B2
- -# note: this packet shows all quests + their missions and has variable length
- -sub quest_all_mission {
- - my ($self, $args) = @_;
- - debug $self->{packet_list}{$args->{switch}}->[0] . " " . join(', ', @{$args}{@{$self->{packet_list}{$args->{switch}}->[2]}}) ."\n";
- - for (my $i = 8; $i < $args->{amount}*104+8; $i += 104) {
- - my ($questID, $time_start, $time, $mission_amount) = unpack('V3 v', substr($args->{RAW_MSG}, $i, 14));
- - my $quest = \%{$questList->{$questID}};
- - $quest->{time_start} = $time_start;
- - $quest->{time} = $time;
- - debug "$questID $time_start $time $mission_amount\n", "info";
- - for (my $j = 0; $j < $mission_amount; $j++) {
- - my ($mobID, $count, $mobName) = unpack('V v Z24', substr($args->{RAW_MSG}, 14+$i+$j*30, 30));
- - my $mission = \%{$quest->{missions}->{$mobID}};
- - $mission->{mobID} = $mobID;
- - $mission->{count} = $count;
- - $mission->{mobName} = bytesToString($mobName);
- - debug "- $mobID $count $mobName\n", "info";
- - }
- - }
- -}
- -
- -# 02B3
- -# note: this packet shows all missions for 1 quest and has fixed length
- -sub quest_add {
- - my ($self, $args) = @_;
- - my $questID = $args->{questID};
- - my $quest = \%{$questList->{$questID}};
- -
- - unless (%$quest) {
- - message TF("Quest: %s has been added.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID), "info";
- - }
- -
- - $quest->{time_start} = $args->{time_start};
- - $quest->{time} = $args->{time};
- - $quest->{active} = $args->{active};
- - debug $self->{packet_list}{$args->{switch}}->[0] . " " . join(', ', @{$args}{@{$self->{packet_list}{$args->{switch}}->[2]}}) ."\n";
- - for (my $i = 0; $i < $args->{amount}; $i++) {
- - my ($mobID, $count, $mobName) = unpack('V v Z24', substr($args->{RAW_MSG}, 17+$i*30, 30));
- - my $mission = \%{$quest->{missions}->{$mobID}};
- - $mission->{mobID} = $mobID;
- - $mission->{count} = $count;
- - $mission->{mobName} = bytesToString($mobName);
- - debug "- $mobID $count $mobName\n", "info";
- - }
- -}
- -
- -# 02B4
- -sub quest_delete {
- - my ($self, $args) = @_;
- - my $questID = $args->{questID};
- - message TF("Quest: %s has been deleted.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID), "info";
- - delete $questList->{$questID};
- -}
- -
- -sub parse_quest_update_mission_hunt {
- - my ($self, $args) = @_;
- - @{$args->{mobs}} = map {
- - my %result; @result{qw(questID mobID count)} = unpack 'V2 v', $_; \%result
- - } unpack '(a10)*', $args->{mobInfo};
- -}
- -
- -sub reconstruct_quest_update_mission_hunt {
- - my ($self, $args) = @_;
- - $args->{mobInfo} = pack '(a10)*', map { pack 'V2 v', @{$_}{qw(questID mobID count)} } @{$args->{mobs}};
- -}
- -
- -sub parse_quest_update_mission_hunt_v2 {
- - my ($self, $args) = @_;
- - @{$args->{mobs}} = map {
- - my %result; @result{qw(questID mobID goal count)} = unpack 'V2 v2', $_; \%result
- - } unpack '(a12)*', $args->{mobInfo};
- -}
- -
- -sub reconstruct_quest_update_mission_hunt_v2 {
- - my ($self, $args) = @_;
- - $args->{mobInfo} = pack '(a12)*', map { pack 'V2 v2', @{$_}{qw(questID mobID goal count)} } @{$args->{mobs}};
- -}
- -
- -# 02B5
- -# note: this packet updates the objectives counters
- -sub quest_update_mission_hunt {
- - my ($self, $args) = @_;
- - for my $mob (@{$args->{mobs}}) {
- - 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";
- - @{$questList->{$mob->{questID}}{missions}{$mob->{mobID}}}{@$_} = @{$mob}{@$_} for [qw(mobID goal count)];
- - }
- -}
- -
- -# 02B7
- -sub quest_active {
- - my ($self, $args) = @_;
- - my $questID = $args->{questID};
- -
- - message $args->{active}
- - ? TF("Quest %s is now active.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID)
- - : TF("Quest %s is now inactive.\n", $quests_lut{$questID} ? "$quests_lut{$questID}{title} ($questID)" : $questID)
- - , "info";
- -
- - $questList->{$args->{questID}}->{active} = $args->{active};
- -}
- -
- # 018B
- sub quit_response {
- my ($self, $args) = @_;
- Index: Receive/twRO.pm
- ===================================================================
- --- Receive/twRO.pm (revision 8978)
- +++ Receive/twRO.pm (working copy)
- @@ -51,8 +51,8 @@
- return $self;
- }
- -*parse_quest_update_mission_hunt = *Network::Receive::ServerType0::parse_quest_update_mission_hunt_v2;
- -*reconstruct_quest_update_mission_hunt = *Network::Receive::ServerType0::reconstruct_quest_update_mission_hunt_v2;
- +*parse_quest_update_mission_hunt = *Network::Receive::parse_quest_update_mission_hunt_v2;
- +*reconstruct_quest_update_mission_hunt = *Network::Receive::reconstruct_quest_update_mission_hunt_v2;
- sub sync_received_characters {
- my ($self, $args) = @_;
Advertisement
Add Comment
Please, Sign In to add comment