@@ -522,7 +522,7 @@ void Room805::parser() {
522
522
case -1 :
523
523
player_set_commands_allowed (false );
524
524
ws_hide_walker (_G (my_walker));
525
- _unkSeries4 = series_load (" 805 RIP LOOKS UP" , -1 , nullptr );
525
+ _ripLooksUpSeries = series_load (" 805 RIP LOOKS UP" , -1 , nullptr );
526
526
_ripSiftsDirtMach = series_play (" 805 RIP LOOKS UP" , 256 , 16 , 2 , 5 , 0 , 100 , 0 , 0 , 0 , 11 );
527
527
digi_stop (1 );
528
528
@@ -544,7 +544,7 @@ void Room805::parser() {
544
544
break ;
545
545
546
546
case 4 :
547
- series_unload (_unkSeries4 );
547
+ series_unload (_ripLooksUpSeries );
548
548
sendWSMessage_140000 (_G (my_walker), 5 );
549
549
ws_turn_to_face (_mcMach, 4 , -1 );
550
550
@@ -880,10 +880,239 @@ void Room805::parser() {
880
880
}
881
881
} // if (gearFl && player_said("CHARIOT"))
882
882
883
- warning (" STUB - Room805::parser" );
883
+ else if (player_said (" SOLDIER'S SHIELD" , " SOLDIER" ) || player_said (" TWO SOLDIERS' SHIELDS" , " SOLDIER" )) {
884
+ switch (_G (kernel).trigger ) {
885
+ case -1 :
886
+ if (_G (flags[V257])) {
887
+ player_set_commands_allowed (false );
888
+ setGlobals1 (_unkSeries5, 1 , 13 , 13 , 13 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 );
889
+ sendWSMessage_110000 (_G (my_walker), 10 );
890
+ digi_stop (1 );
891
+ } else {
892
+ return ;
893
+ }
884
894
885
- _G (player).command_ready = false ;
895
+ break ;
896
+
897
+ case 2 :
898
+ hotspot_set_active (" SHIELD" , true );
899
+ player_set_commands_allowed (true );
900
+ break ;
901
+
902
+ case 10 :
903
+ _G (flags[V257]) = 0 ;
904
+ if (_G (flags[V258])) {
905
+ inv_put_thing_in (" TWO SOLDIERS' SHIELDS" , 999 );
906
+ inv_give_to_player (" SOLDIER'S SHIELD" );
907
+ } else {
908
+ inv_put_thing_in (" TWO SOLDIERS' SHIELDS" , 805 );
909
+ inv_put_thing_in (" SOLDIER'S SHIELD" , 999 );
910
+ }
911
+
912
+ _farSoldiersShieldMach = series_play (" 805 FAR SOLDIERS SHIELD" , 2304 , 0 , -1 , 0 , -1 , 100 , 0 , 0 , 0 , -1 );
913
+ sendWSMessage_140000 (_G (my_walker), 2 );
914
+
915
+ break ;
916
+
917
+ default :
918
+ break ;
919
+ }
920
+ } // if (player_said("SOLDIER'S SHIELD", "SOLDIER") || player_said("TWO SOLDIERS' SHIELDS", "SOLDIER"))
921
+
922
+ else if (player_said (" SOLDIER'S SHIELD" , " SOLDIER " ) || player_said (" TWO SOLDIERS' SHIELDS" , " SOLDIER " )) {
923
+ switch (_G (kernel).trigger ) {
924
+ case -1 :
925
+ if (_G (flags[V258])) {
926
+ player_set_commands_allowed (false );
927
+ setGlobals1 (_unkSeries6, 1 , 12 , 12 , 12 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 );
928
+ sendWSMessage_110000 (_G (my_walker), 10 );
929
+ digi_stop (1 );
930
+ } else {
931
+ return ;
932
+ }
933
+
934
+ break ;
935
+
936
+ case 2 :
937
+ hotspot_set_active (" SHIELD " , true );
938
+ player_set_commands_allowed (true );
939
+ break ;
940
+
941
+ case 10 :
942
+ _G (flags[V258]) = 0 ;
943
+ if (_G (flags[V257])) {
944
+ inv_put_thing_in (" TWO SOLDIERS' SHIELDS" , 999 );
945
+ inv_give_to_player (" SOLDIER'S SHIELD" );
946
+ } else {
947
+ inv_put_thing_in (" TWO SOLDIERS' SHIELDS" , 805 );
948
+ inv_put_thing_in (" SOLDIER'S SHIELD" , 999 );
949
+ }
950
+
951
+ _nearSoldiersShieldMach = series_play (" 805 NEAR SOLDIERS SHIELD" , 1280 , 0 , -1 , 0 , -1 , 100 , 0 , 0 , 0 , -1 );
952
+ sendWSMessage_140000 (_G (my_walker), 2 );
953
+
954
+ break ;
955
+ default :
956
+ break ;
957
+ }
958
+ } // if (player_said("SOLDIER'S SHIELD", "SOLDIER ") || player_said("TWO SOLDIERS' SHIELDS", "SOLDIER "))
959
+
960
+ else if (gearFl && (player_said (" URN" ) || player_said (" URN " )))
961
+ parserSub1 (" COM072" , 1 , 255 , 1 , 997 );
962
+
963
+ else if (gearFl && player_said (" UNLIT URN" ))
964
+ parserSub1 (" COM073" , 1 , 255 , 1 , 997 );
965
+
966
+ else if (gearFl && (player_said (" SHIELD" ) || player_said (" SHIELD " ) || player_said (" SOLDIER'S SHIELD" )))
967
+ parserSub1 (" 805R23" , 1 , 255 , 1 , -1 );
968
+
969
+ else if (gearFl && (player_said (" WOODEN POST" ) || player_said (" WOODEN BEAM" )))
970
+ parserSub1 (" 805R24" , 1 , 255 , 1 , -1 );
971
+
972
+ else if (gearFl && player_said (" MEI CHEN" ))
973
+ parserSub1 (" COM017" , 1 , 255 , 1 , 997 );
974
+
975
+ else if ((player_said (" WOODEN POST" , " JADE DOOR" ) && inv_player_has (" WOODEN POST" ) && !_G (flags[V272]))
976
+ || (player_said (" WOODEN POST" , " JADE DOOR " ) && inv_player_has (" WOODEN POST" ) && !_G (flags[V272]))
977
+ || (player_said (" WOODEN BEAN" , " JADE DOOR" ) && inv_player_has (" WOODEN BEAN" ))
978
+ || (player_said (" WOODEN BEAN" , " JADE DOOR " ) && inv_player_has (" WOODEN BEAN" )))
979
+ parserSub1 (" 805r25" , 1 , 255 , 1 , -1 );
980
+
981
+ else if (player_said (" journal" ) && !takeFl && !lookFl && !inv_player_has (_G (player).noun ))
982
+ parserSub1 (" com042" , 1 , 255 , 1 , 997 );
983
+
984
+ else if (player_said (" Fifth Door" )) {
985
+ switch (_G (kernel).trigger ) {
986
+ case -1 :
987
+ player_set_commands_allowed (false );
988
+ disable_player_commands_and_fade_init (10 );
989
+
990
+ break ;
991
+
992
+ case 10 :
993
+ adv_kill_digi_between_rooms (false );
994
+ digi_play_loop (" 950_s29" , 3 , 180 , -1 , 950 );
995
+ _G (game).new_room = 844 ;
996
+
997
+ break ;
998
+
999
+ default :
1000
+ break ;
1001
+ }
1002
+ } // if (player_said("Fifth Door"))
1003
+
1004
+ else if (player_said (" Fourth Door" )) {
1005
+ switch (_G (kernel).trigger ) {
1006
+ case -1 :
1007
+ player_set_commands_allowed (false );
1008
+ disable_player_commands_and_fade_init (10 );
1009
+
1010
+ break ;
1011
+
1012
+ case 10 :
1013
+ adv_kill_digi_between_rooms (false );
1014
+ digi_play_loop (" 950_s29" , 3 , 180 , -1 , 950 );
1015
+ _G (game).new_room = 834 ;
1016
+
1017
+ break ;
1018
+
1019
+ default :
1020
+ break ;
1021
+ }
1022
+ } // if (player_said("Fourth Door"))
1023
+
1024
+ else if (player_said (" Third Door" )) {
1025
+ switch (_G (kernel).trigger ) {
1026
+ case -1 :
1027
+ player_set_commands_allowed (false );
1028
+ disable_player_commands_and_fade_init (10 );
1029
+
1030
+ break ;
1031
+
1032
+ case 10 :
1033
+ adv_kill_digi_between_rooms (false );
1034
+ digi_play_loop (" 950_s29" , 3 , 180 , -1 , 950 );
1035
+ _G (game).new_room = 814 ;
1036
+
1037
+ break ;
1038
+
1039
+ default :
1040
+ break ;
1041
+ }
1042
+ } // if (player_said("Third Door"))
1043
+
1044
+ else if (player_said (" Second Door" )) {
1045
+ switch (_G (kernel).trigger ) {
1046
+ case -1 :
1047
+ player_set_commands_allowed (false );
1048
+ disable_player_commands_and_fade_init (10 );
1049
+
1050
+ break ;
1051
+
1052
+ case 10 :
1053
+ adv_kill_digi_between_rooms (false );
1054
+ digi_play_loop (" 950_s29" , 3 , 180 , -1 , 950 );
1055
+ _G (game).new_room = 824 ;
1056
+
1057
+ break ;
1058
+
1059
+ default :
1060
+ break ;
1061
+ }
1062
+ } // if (player_said("Second Door"))
1063
+
1064
+ else if (player_said (" First Door" )) {
1065
+ switch (_G (kernel).trigger ) {
1066
+ case -1 :
1067
+ kernel_timing_trigger (15 , 10 , nullptr );
1068
+
1069
+ break ;
1070
+
1071
+ case 2 :
1072
+ adv_kill_digi_between_rooms (false );
1073
+ digi_play_loop (" 950_s29" , 3 , 180 , -1 , 950 );
1074
+ _G (game).new_room = 804 ;
1075
+
1076
+ break ;
1077
+
1078
+ case 10 :
1079
+ player_set_commands_allowed (false );
1080
+ disable_player_commands_and_fade_init (2 );
1081
+
1082
+ break ;
1083
+
1084
+ default :
1085
+ break ;
1086
+ }
1087
+ } // if (player_said("First Door"))
1088
+
1089
+ else if (goFl && (player_said (" Jade Door" ) || player_said (" Jade Door " ))) {
1090
+ switch (_G (kernel).trigger ) {
1091
+ case -1 :
1092
+ if (_G (flags[V272])) {
1093
+ player_set_commands_allowed (false );
1094
+ disable_player_commands_and_fade_init (3 );
1095
+ } else if (_G (flags[V271])) {
1096
+ parserSub1 (" 805r34" , 1 , 255 , 1 , -1 );
1097
+ }
1098
+
1099
+ break ;
1100
+ case 3 :
1101
+ adv_kill_digi_between_rooms (false );
1102
+ digi_play_loop (" 950_s29" , 3 , 180 , -1 , 950 );
1103
+ _G (game).new_room = 806 ;
886
1104
1105
+ break ;
1106
+
1107
+ default :
1108
+ break ;
1109
+ }
1110
+ } // if (goFl && (player_said("Jade Door") || player_said("Jade Door ")))
1111
+
1112
+ else
1113
+ return ;
1114
+
1115
+ _G (player).command_ready = false ;
887
1116
}
888
1117
889
1118
void Room805::daemon () {
0 commit comments