Skip to content

Row 198: Romeo and Juliet PQ slice 6: the boss's room and the rooms after it - #1039

Merged
neeerp merged 1 commit into
masterfrom
v83/rj-pq-boss-6
Oct 26, 2026
Merged

neeerp merged 1 commit into
masterfrom
v83/rj-pq-boss-6

Conversation

@neeerp

@neeerp neeerp commented Oct 26, 2026

Copy link
Copy Markdown
Owner

Row 198, Romeo and Juliet PQ slice 6: the boss's room (x00401) and the rooms after it (x00500, x00600), stage 7 (Cosmic MagatiaPQ_Z/_A, 2112000, 2112005/2112006, 2112001/2112011, 2112018, rnj12_in/jnr12_in, MobDamageMobFriendlyHandler).

Server

  • The corridor's way in (pt00 running rnj12_in/jnr12_in) plays the portal sound and leads to the boss's room. It is never shut.
  • Yulete (2112000, 2112010) appears at (200, 100) the first time anyone enters a run's copy of the room (npc_scripts::magatia_waiting). His traces (2112001, 2112011) and Romeo & Juliet (2112018) appear the same way in x00500 and x00600.
  • Talking to Yulete (FieldMessage::Yulete, events::yulete_in_lab):
    • The first talk brings out the Frankenroid at (250, 100), once per copy (frankenroid). It is the mighty one (9300140, Alcadno 9300152) if he was caught in his office, otherwise the plain one (9300139, 9300151).
    • The whole run then gets a pink line (EventCommand::FrankenroidOut).
    • Later talks get "behold it"; once the run is won, "beaten".
  • When a mob runs the escort (9300137, 9300138) down to fainting, the room is told (magatia.juliet.fainted, magatia.romeo.fainted) and the run records it (EventCommand::EscortFailed, EventTicket::escort_failed).
  • The Frankenroid's fall (frankenroid_falls):
    • It sends away every mob except the escort, and no more come.
    • Romeo (2112006) or Juliet (2112005) comes out at (-370, -150).
    • It clears stage 7, which wins the run (events::magatia_win_exp). Each member gets 90,000 EXP if the escort fainted, otherwise 105,000 for the plain Frankenroid or 140,000 for the mighty one.
    • Each member's client hears again that the escort fainted before the clear, so whichever clear the run receives first, it already knows.
  • What Romeo or Juliet do once the run is won (magatia_saved):
    • If the escort fainted, they send the member straight to x00600 with no gift.
    • Otherwise they give the side's gift (4001159, 4001160) and send the member to x00600, or to x00500 if the Frankenroid was the mighty one. A member with no room for the gift is told and stays.
  • Yulete's traces (yulete_traces) send the member on to x00600.
  • Romeo & Juliet (2112018, magatia_thanks) say a different thanks depending on whether the escort fainted. They then give one of Cosmic's 23 rewards (events::MAGATIA_REWARDS) and send the member back to the side's room. A member needs a free Equip and Use slot first, as Cosmic's giveEventReward requires.
  • New placeholder keys: magatia.yulete.{presents,mighty,behold,beaten}, magatia.frankenroid*, magatia.*fainted, magatia.*saved*, magatia.gift*, magatia.traces.*, magatia.thanks.*.

Tests

  • New net unit tests:
    • the EXP table;
    • Yulete's lab lines;
    • the Frankenroid, escort and gift ids;
    • stage 7 as the last member clear;
    • who waits where;
    • both branches of Romeo's and Juliet's script;
    • the traces;
    • the thanks: the reward comes from the set and goes with the way home, and a full Use inventory gets nothing;
    • the ungated rnj12_in/jnr12_in.
  • New harness test magatia_boss, with two tests:
    • Zenumist:
      • Yulete brings out the plain Frankenroid, and all four hear it.
      • Talked to again, he says "behold".
      • Its fall clears the stage, pays 105,000 to all, and sends the guards away for good.
      • Yulete is then "beaten". Romeo gives 4001159 and sends the leader to x00600, where the thanks give a reward and the way home.
    • Alcadno:
      • A guard walked into Romeo makes him faint, which the room hears.
      • The Frankenroid's fall then pays 90,000.
      • Juliet gives no gift and sends the leader on, and the thanks are the "jail" line.
  • magatia_boss, magatia_ropes, magatia_beakers and magatia_files pass. net, runtime and game-data unit tests pass.

Notes

  • Cosmic's Alcadno script never sets normalClear, so it always pays 140,000 and always sends members past the traces. Both sides here do as its Zenumist script does.
  • The guards (9300150) come back through the map's spawner rather than Cosmic's 15 s respawnStages.
  • The NPCs appear when the first member arrives in each room rather than at setup.
  • The traces don't complete quest 7770 yet (a later slice).
  • Lines are placeholders.

…rings out the Frankenroid (the mighty one if caught), the escort's fainting costs EXP and gifts, and its fall wins the run (90,000/105,000/140,000); Romeo or Juliet give the gift and send members past Yulete's traces to the thanks, which give one of 23 rewards on the way home
@neeerp
neeerp merged commit ee26535 into master Oct 26, 2026
1 check passed
@neeerp
neeerp deleted the v83/rj-pq-boss-6 branch October 26, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant