Prev: B867 Up: Map Next: B8B1
B86A: Prostitute visitor — main encounter
Entry point called from the door-collision dispatcher (door_collision).
1. Opens the door (door_open). 2. Turns hero face toward prostitute (face_prostitute). Long delay (delay_ffff). 3. Prostitute walks out of door (prostitute_exit, 2-frame animation). 4. Advances PRNG twice (prng_advance_2) then picks an opening line: PRNG2 == 0 → CHARS=$CB2A PRNG2 == 1 → CHARS=$CBEA PRNG2 == 2 → CHARS=$CCAA 5. Draws opening-line bubble (frame_bubble_prostitute_r0c16). 6. Input loop — waits for keypress (wait_keypress): 's' → accept → accept_prostitute 'n' or 'q' → refuse → refuse_prostitute other → loop
prostitute B86A CALL door_open Open door (door_open)
B86D CALL face_prostitute Turn hero face toward prostitute (face_prostitute)
B870 CALL delay_ffff Long delay (delay_ffff)
B873 CALL prostitute_exit Prostitute exits door — 2-frame animation (prostitute_exit)
B876 CALL prng_advance_2 Advance PRNG (prng_advance_2) — step 1
B879 CALL prng_advance_2 Advance PRNG (prng_advance_2) — step 2
B87C NOP Unused padding (5 NOPs)
B87D NOP
B87E NOP
B87F NOP
B880 NOP
B881 CALL set_chars_CB2A Default CHARS=$CB2A ("Olá não queres entrar?") via set_chars_CB2A
B884 LD A,($C34A) Load PRNG2 (var_prng2)
B887 CP $01 If PRNG2==1: set CHARS=$CBEA ("Queres vir comigo?") via set_chars_CBEA
B889 CALL Z,set_chars_CBEA
B88C LD A,($C34A) Load PRNG2 (var_prng2)
B88F CP $02 If PRNG2==2: set CHARS=$CCAA ("Queres provar?") via set_chars_CCAA
B891 CALL Z,set_chars_CCAA
B894 LD HL,$B8B1 HL = frame_bubble_prostitute_r0c16 (opening-line speech bubble frame)
B897 CALL draw_frame Draw opening-line bubble (draw_frame)
prostitute_0 B89A CALL wait_keypress Wait for keypress (wait_keypress)
B89D LD A,($C34C) Load pressed key (var_last_key)
B8A0 CP $73 CP 's' ($73)
B8A2 JP Z,accept_prostitute 's' → accept, enter room (accept_prostitute)
B8A5 CP $6E CP 'n' ($6E)
B8A7 JP Z,refuse_prostitute 'n' → refuse (refuse_prostitute)
B8AA CP $71 CP 'q' ($71)
B8AC JP Z,refuse_prostitute 'q' → refuse (refuse_prostitute)
B8AF JR prostitute_0 Loop back to keypress wait
Prev: B867 Up: Map Next: B8B1