Prev: 38645 Up: Map Next: 38784
38674: BlowLock1
38674 LD A,55 cell := blown-door sprite 55
38676 SET 1,(HL) set "airlock #1 blown" flag
38678 LD (29645),A
38681 LD HL,20502
38684 LD (31257),HL
38687 CALL 31634
38690 LD A,(33683)
38693 SUB 15 A = the depressurised room (0/1)
38695 PUSH IX
38697 LD B,8 sweep all 8 actor slots (alien included!)
38699 LD IX,29566
38703 LD DE,8
38706 CP (IX+1) actor in the depressurised room?
38709 JR NZ,38719
38711 LD (IX+1),255 yes: swept into space - room := none,
38715 LD (IX+7),1 status := dead
38719 ADD IX,DE
38721 DJNZ 38706
38723 POP IX
38725 LD HL,29940 clear their markers from the corridor strip
38728 LD B,22
38730 CP (HL)
38731 JR NZ,38735
38733 LD (HL),255
38735 INC HL
38736 DJNZ 38730
38738 LD L,A
38739 LD A,16 msg #16 "WARNING: {room} DEPRESSURISED"
38741 CALL 37176
38744 LD HL,29567 was the ALIEN in there?
38747 LD A,255
38749 CP (HL) alien's room = 255 means it was swept out
38750 RET NZ
38751 LD A,(29570) alien already wounded 3+ times:
38754 CP 3
38756 JP NC,44125 it dies in space -> endgame/rating screen
38759 CALL 33589 else ROM-script roll: nibble >= 2
38762 CP 2
38764 JP NC,44125 (14 in 16): the alien dies -> endgame
38767 LD A,32 survived! it crawls back in:
38769 LD (29567),A alien's room := 32 (ShuttleBay)
38772 LD L,A
38773 LD A,18 msg #18 "INTRUDER ENTERING {ShuttleBay}"
38775 CALL 37176
38778 LD HL,29566
38781 LD (HL),0 reset the alien's action byte
38783 RET
Prev: 38645 Up: Map Next: 38784