align proxy boost gates with upstream cleanup

align proxy boost gates with upstream cleanup
This commit is contained in:
James Osborne
2026-05-19 16:13:01 -04:00
committed by GitHub
14 changed files with 22 additions and 27 deletions
+6 -8
View File
@@ -2817,7 +2817,8 @@ static asio::awaitable<void> on_10_main_menu(shared_ptr<Client> c, uint32_t item
send_message_box(c, "$C6This ship option is only for Blue Burst.");
break;
}
if ((c->listener_port == 19145) || (c->listener_port == 19146)) {
if ((c->listener_port == 12000) || (c->listener_port == 12001) ||
(c->listener_port == 19145) || (c->listener_port == 19146)) {
c->selected_blueballz_tier = -1;
co_await send_auto_patches_if_needed(c);
co_await enable_save_if_needed(c);
@@ -2827,7 +2828,7 @@ static asio::awaitable<void> on_10_main_menu(shared_ptr<Client> c, uint32_t item
}
break;
}
send_reconnect(c, s->connect_address_for_client(c), 19145);
send_reconnect(c, s->connect_address_for_client(c), 12000);
break;
}
@@ -3120,21 +3121,18 @@ static asio::awaitable<void> on_10_proxy_destinations(shared_ptr<Client> c, uint
c->channel->disconnect();
} else {
// PSO Peeps: boosted clients may not enter Vanilla/Hardcore.
// PC v2 receives boosted BattleParams via the patch server. DC/GC can be
// boosted either by old boosted-disc listener ports or by the PSO Peeps XP
// client-function patch, which sets HAS_PSO_PEEPS_XP_PATCH.
// DC/GC can be boosted either by old boosted-disc listener ports or by
// PSO Peeps XP client-function patches, which set HAS_PSO_PEEPS_XP_PATCH.
const bool is_vanilla_or_hardcore_dest =
(dest->second == 19203 || dest->second == 19230 || dest->second == 19530);
const bool is_boosted_disc =
(c->listener_port == 9105 || c->listener_port == 9110 ||
c->listener_port == 9201 || c->listener_port == 9202 ||
c->listener_port == 19105 || c->listener_port == 19110);
const bool is_pc_v2_boosted = (c->version() == Version::PC_V2);
const bool has_psopeeps_xp_patch =
c->check_flag(Client::Flag::HAS_PSO_PEEPS_XP_PATCH);
if (is_vanilla_or_hardcore_dest &&
(is_boosted_disc || is_pc_v2_boosted || has_psopeeps_xp_patch)) {
(is_boosted_disc || has_psopeeps_xp_patch)) {
send_message_box(c,
"$C6Vanilla and Hardcore are not available\n"
"while boosted XP is active.\n\n"
+4 -19
View File
@@ -2487,25 +2487,10 @@ static asio::awaitable<void> on_pick_up_item_generic(
// TODO: Figure out what the actual max range is; 30 is an overestimate
double dist2 = fi->pos.dist2(c->pos);
if (dist2 > 900.0) {
const bool allow_dcv2_falz_pickup_distance_recovery =
is_request &&
(c->version() == Version::DC_V2) &&
(l->episode == Episode::EP1) &&
(floor == 0x0E) &&
(fi->from_obj == nullptr) &&
(fi->from_ene == nullptr) &&
fi->visible_to_client(c->lobby_client_id);
if (allow_dcv2_falz_pickup_distance_recovery) {
l->log.warning_f(
"DC V2 Falz floor item pickup distance recovery: Player {} picking up {:08X}; dist2={} item_floor={} player_floor={}",
client_id, item_id, dist2, static_cast<uint64_t>(floor), static_cast<uint64_t>(c->floor));
} else {
l->log.warning_f("Player {} requests to pick up {:08X}, but it is too far away (dist2={})",
client_id, item_id, dist2);
l->add_item(floor, fi);
co_return;
}
l->log.warning_f("Player {} requests to pick up {:08X}, but it is too far away (dist2={})",
client_id, item_id, dist2);
l->add_item(floor, fi);
co_return;
}
try {
@@ -1,6 +1,7 @@
.meta visibility="menu"
.meta key="PsoPeepsV2EXP5xDC"
.meta name="V2 5x"
.meta client_flag="0x0000200000000000"
.meta description="Dreamcast V2 EXP"
.versions 2OEF
@@ -1,6 +1,7 @@
.meta visibility="menu"
.meta key="PsoPeepsV2EXP_enabled"
.meta name="10x XP"
.meta client_flag="0x0000200000000000"
.meta description="Dreamcast V2 XP boost applies across all difficulties (server dispatches per-difficulty tables on each area transition)."
.versions 2OEF
@@ -1,6 +1,7 @@
.meta visibility="menu"
.meta key="PsoPeepsV2EXP_enabled"
.meta name="5x XP"
.meta client_flag="0x0000200000000000"
.meta description="Dreamcast V2 XP boost applies across all difficulties (server dispatches per-difficulty tables on each area transition)."
.versions 2OEF
@@ -1,6 +1,7 @@
.meta visibility="menu"
.meta key="PsoPeepsEP1EXP10x"
.meta name="EP1 10x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP1 enemy EXP\nto 10x for GC crossplay"
.versions 3OE2 3OJ5
@@ -1,6 +1,7 @@
.meta visibility="menu"
.meta key="PsoPeepsEP1EXP5x"
.meta name="EP1 5x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP1 enemy EXP\nto 5x for GC crossplay"
.versions 3OE2 3OJ5
@@ -1,5 +1,6 @@
.meta key="PsoPeepsEP2EXP10x"
.meta name="EP2 10x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP2 enemy EXP\nto 10x for GC crossplay"
.versions 3OE2 3OJ5
@@ -1,6 +1,7 @@
.meta visibility="menu"
.meta key="PsoPeepsEP2EXP10xJP"
.meta name="EP2 10x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP2 enemy EXP\nto 10x for GC crossplay"
.versions 3OJ5
@@ -1,6 +1,7 @@
.meta visibility="menu"
.meta key="PsoPeepsEP2EXP10xUS"
.meta name="EP2 10x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP2 enemy EXP\nto 10x for GC crossplay"
.versions 3OE2
@@ -1,5 +1,6 @@
.meta key="PsoPeepsEP2EXP5x"
.meta name="EP2 5x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP2 enemy EXP\nto 5x for GC crossplay"
.versions 3OE2 3OJ5
@@ -1,6 +1,7 @@
.meta visibility="menu"
.meta key="PsoPeepsEP2EXP5xJP"
.meta name="EP2 5x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP2 enemy EXP\nto 5x for GC crossplay"
.versions 3OJ5
@@ -1,6 +1,7 @@
.meta visibility="menu"
.meta key="PsoPeepsEP2EXP5xUS"
.meta name="EP2 5x"
.meta client_flag="0x0000200000000000"
.meta description="Sets EP2 enemy EXP\nto 5x for GC crossplay"
.versions 3OE2
@@ -1,6 +1,7 @@
.meta visibility="menu"
.meta key="PsoPeepsV2EXP_enabled"
.meta name="10x XP"
.meta client_flag="0x0000200000000000"
.meta description="Dreamcast V2 XP boost applies across all difficulties (server dispatches per-difficulty tables on each area transition)."
.versions 2OEF