Dun Darach | Routines |
Prev: 8354 | Up: Map |
Used by the routine at Game_Main.
|
|||||||
Offer_Handle | 83D5 | LD HL,Offer_Count | |||||
83D8 | DEC (HL) | ||||||
83D9 | JP NZ,Stage_Draw | ||||||
83DC | LD A,(Offer_ObjIndex) | ||||||
83DF | CP $18 | ||||||
83E1 | JP Z,Skar_View | ||||||
83E4 | LD HL,(Bg_ItemTableMid) | ||||||
83E7 | LD A,L | ||||||
83E8 | OR H | ||||||
83E9 | BIT 4,A | ||||||
83EB | JR NZ,Offer_Handle_0 | ||||||
83ED | LD HL,(Offer_PersonPtr) | ||||||
83F0 | LD A,L | ||||||
83F1 | OR H | ||||||
83F2 | JP NZ,Offer_Handle_9 | ||||||
83F5 | CALL Message_DisplayAt | ||||||
83F8 | DEFM "no answer!" | ||||||
8402 | DEFB $5E | ||||||
8403 | JR Offer_Handle_1 | ||||||
Offer_Handle_0 | 8405 | LD A,(CurrentRoom_Type) | |||||
8408 | CP $01 | ||||||
840A | JP NZ,Offer_Handle_7 | ||||||
840D | LD HL,Inv_Pocket1 | ||||||
8410 | LD BC,$0003 | ||||||
8413 | LD A,(Shop_ObjIndex) | ||||||
8416 | OR $80 | ||||||
8418 | CPIR | ||||||
841A | JR Z,Offer_Handle_2 | ||||||
841C | CALL Message_DisplayAt | ||||||
841F | DEFM "for what?" | ||||||
8428 | DEFB $5E | ||||||
This entry point is used by the routine at Hero_Arrest.
|
|||||||
Offer_Handle_1 | 8429 | CALL Inv_Update | |||||
842C | JP Stage_Draw | ||||||
Offer_Handle_2 | 842F | LD A,(Inv_Select) | |||||
8432 | AND A | ||||||
8433 | JR Z,Offer_Handle_4 | ||||||
This entry point is used by the routines at Action_HandleOffer, Offer_HandleSkar, Offer_HandlePita and Offer_HandleBren.
|
|||||||
Offer_DontWantMessage | 8435 | LD A,(Inv_Select) | |||||
8438 | AND A | ||||||
8439 | JR Z,Offer_Handle_3 | ||||||
843B | CALL Message_DisplayAt | ||||||
843E | DEFM "i dont want " | ||||||
844A | DEFB $5E | ||||||
844B | LD A,(Offer_ObjIndex) | ||||||
844E | CALL Object_GetNounAddr | ||||||
8451 | CALL Print_String | ||||||
8454 | LD A,$73 | ||||||
8456 | CALL Print_SelectChar | ||||||
8459 | JR Offer_Handle_1 | ||||||
Offer_Handle_3 | 845B | CALL Message_DisplayAt | |||||
845E | DEFM "no thank you" | ||||||
846A | DEFB $5E | ||||||
846B | JR Offer_Handle_1 | ||||||
Offer_Handle_4 | 846D | LD HL,IridiValue | |||||
8470 | LD DE,Obj_Price | ||||||
8473 | CALL BCD_Subtract | ||||||
8476 | JR NC,Offer_Handle_5 | ||||||
8478 | CALL Exit_NotEnough | ||||||
847B | JR Offer_Handle_1 | ||||||
Offer_Handle_5 | 847D | LD HL,Inv_Pocket1 | |||||
8480 | LD BC,$0003 | ||||||
8483 | LD A,(Shop_ObjIndex) | ||||||
8486 | OR $80 | ||||||
8488 | CPIR | ||||||
848A | DEC HL | ||||||
848B | RES 7,(HL) | ||||||
Offer_Handle_6 | 848D | CALL Message_DisplayAt | |||||
8490 | DEFM "thank you" | ||||||
8499 | DEFB $5E | ||||||
849A | JP Offer_Handle_1 | ||||||
Offer_Handle_7 | 849D | CP $02 | |||||
849F | JP NZ,Offer_Handle_8 | ||||||
84A2 | LD A,(Inv_Select) | ||||||
84A5 | AND A | ||||||
84A6 | JP Z,Offer_DontWantMessage | ||||||
84A9 | LD L,A | ||||||
84AA | LD H,$00 | ||||||
84AC | LD DE,_b14e | ||||||
84AF | ADD HL,DE | ||||||
84B0 | LD DE,(Shop_ObjIndex) | ||||||
84B4 | LD A,(HL) | ||||||
84B5 | AND $7F | ||||||
84B7 | CP E | ||||||
84B8 | JP NZ,Offer_DontWantMessage | ||||||
84BB | LD (HL),$00 | ||||||
84BD | LD HL,IridiValue | ||||||
84C0 | LD DE,Obj_Price | ||||||
84C3 | CALL ValueAddAsBCDCarry | ||||||
84C6 | JP Offer_Handle_6 | ||||||
Offer_Handle_8 | 84C9 | JP Offer_Handle_6 | |||||
Offer Jump table.
|
|||||||
84CC | DEFW Offer_HandleSkar | Determines how each person reacts when being offered an object. | |||||
84CE | DEFW Offer_HandleRyde | ||||||
84D0 | DEFW Offer_HandleKara | ||||||
84D2 | DEFW Offer_HandleKeli | ||||||
84D4 | DEFW Offer_HandleKahn | ||||||
84D6 | DEFW Offer_HandleDain | ||||||
84D8 | DEFW Offer_HandleMhor | ||||||
84DA | DEFW Offer_HandleTeth | ||||||
84DC | DEFW Offer_HandlePita | ||||||
84DE | DEFW Offer_HandleBren | ||||||
84E0 | DEFW Offer_HandleLoeg | ||||||
To a person
|
|||||||
Offer_Handle_9 | 84E2 | LD IX,(Offer_PersonPtr) | Get the address of the person being offered to and clear the pointer. | ||||
84E6 | LD HL,$0000 | ||||||
84E9 | LD (Offer_PersonPtr),HL | ||||||
84EC | BIT 4,(IX+$13) | Check for the rat. | |||||
84F0 | JR NZ,Offer_Handle_12 | ||||||
84F2 | LD A,(Inv_Select) | ||||||
84F5 | AND A | ||||||
84F6 | JR NZ,Offer_Handle_11 | ||||||
Give Iridi...
|
|||||||
84F8 | LD HL,$0000 | Clear all your money. | |||||
84FB | LD (IridiValue),HL | ||||||
84FE | LD ($B155),HL | ||||||
This entry point is used by the routine at Action_HandleOffer.
|
|||||||
Offer_Handle_10 | 8501 | CALL Message_DisplayAt | } | ||||
8504 | DEFM "how generous!" | ||||||
8511 | DEFB $5E | ||||||
8512 | JP Offer_Handle_1 | ||||||
Offer an object...
|
|||||||
Offer_Handle_11 | 8515 | LD L,A | Workout which pocket being offered (1~3) | ||||
8516 | LD H,$00 | ||||||
8518 | LD DE,_b14e | ||||||
851B | ADD HL,DE | ||||||
851C | LD C,L | ||||||
851D | LD B,H | ||||||
851E | LD L,(IX+$0E) | See who is being offered to | |||||
8521 | LD H,$00 | ||||||
8523 | ADD HL,HL | ||||||
8524 | LD DE,$84CA | Use the jump table to see how to handle it... | |||||
8527 | ADD HL,DE | ||||||
8528 | LD E,(HL) | ||||||
8529 | INC HL | ||||||
852A | LD D,(HL) | ||||||
852B | EX DE,HL | ||||||
852C | JP (HL) | ||||||
To the rat.
|
|||||||
Offer_Handle_12 | 852D | CALL Message_DisplayAt | |||||
8530 | DEFM "i am only a rat!" | ||||||
8540 | DEFB $5E | ||||||
8541 | JP Offer_Handle_1 |
Prev: 8354 | Up: Map |