mirror of
https://github.com/JonasHinterdorfer/TextAdventure.git
synced 2025-10-26 11:51:11 +00:00
Moved conversations
This commit is contained in:
parent
a9c73bae90
commit
9c4657a6ae
64
adventure.pl
64
adventure.pl
@ -844,68 +844,6 @@ stealth_climbing_challenge :-
|
|||||||
damage_player(15))).
|
damage_player(15))).
|
||||||
|
|
||||||
|
|
||||||
% ========== NPC INTERACTIONS ==========
|
|
||||||
talk_to(PersonName) :-
|
|
||||||
player_location(Loc),
|
|
||||||
npc_location(PersonName, Loc),
|
|
||||||
handle_conversation(PersonName),
|
|
||||||
!.
|
|
||||||
|
|
||||||
talk_to(_) :-
|
|
||||||
write('Diese Person ist nicht hier.'), nl.
|
|
||||||
|
|
||||||
|
|
||||||
handle_conversation(wren) :-
|
|
||||||
game_state(wren_met, false),
|
|
||||||
write('Wren: "John! Ich habe auf dich gewartet. Ich weiß von den Drohnen."'), nl,
|
|
||||||
write('Wren: "Es gibt eine Organisation namens Aviary Control. Wir müssen sie stoppen!"'), nl,
|
|
||||||
write('Wren: "Du brauchst einen EMP-Generator um in ihr Hauptquartier einzudringen."'), nl,
|
|
||||||
write('Wren: "Sammle diese Komponenten: Elektro-Spule, Hochleistungsbatterie und Kondensator."'), nl,
|
|
||||||
write('Wren: "Die Spule findest du in einer Box auf einem Dach in der Altstadt."'), nl,
|
|
||||||
write('Wren: "Die Batterie ist in einer Box auf einem Turm im Donauufer versteckt."'), nl,
|
|
||||||
write('Wren: "Der Kondensator ist im Pöstlingberg-Turm, aber du brauchst eine Kampfdrohne."'), nl,
|
|
||||||
write('Wren: "Baue deine eigene Kampfdrohne! Besiege Tauben für einen Motor und Störche für Steuerung."'), nl,
|
|
||||||
write('Wren: "Baue alles dann in der HTL Leonding Werkstatt zusammen."'), nl,
|
|
||||||
write('Wren gibt dir EMP-Granaten für den Anfang.'), nl,
|
|
||||||
assertz(player_inventory(emp_granate)),
|
|
||||||
assertz(player_inventory(emp_granate)),
|
|
||||||
retract(game_state(wren_met, false)),
|
|
||||||
assertz(game_state(wren_met, true)),
|
|
||||||
retract(game_state(components_explained, false)),
|
|
||||||
assertz(game_state(components_explained, true)),
|
|
||||||
!.
|
|
||||||
|
|
||||||
handle_conversation(wren) :-
|
|
||||||
game_state(components_explained, true),
|
|
||||||
game_state(emp_built, false),
|
|
||||||
write('Wren: "Vergiss nicht: Du brauchst alle drei Komponenten für den EMP-Generator!"'), nl,
|
|
||||||
write('Wren: "Elektro-Spule (Altstadt-Dach), Batterie (Donauufer-Turm), Kondensator (Pöstlingberg)."'), nl,
|
|
||||||
write('Wren: "Verwende Parkour-Handschuhe zum Klettern und deine Kampfdrohne im Pöstlingberg."'), nl,
|
|
||||||
!.
|
|
||||||
|
|
||||||
handle_conversation(wren) :-
|
|
||||||
game_state(emp_built, true),
|
|
||||||
write('Wren: "Perfekt! Mit dem EMP-Generator kannst du ins Aviary HQ eindringen!"'), nl,
|
|
||||||
write('Wren: "Pass auf die Krähe auf - schwäche sie mit EMP-Granaten, sonst kontrolliert sie dich!"'), nl,
|
|
||||||
!.
|
|
||||||
|
|
||||||
handle_conversation(wren) :-
|
|
||||||
write('Wren: "Viel Glück, John. Die Zukunft der Menschheit liegt in deinen Händen."'), nl.
|
|
||||||
|
|
||||||
% ========== LOCATION EVENTS ==========
|
|
||||||
trigger_location_event(donauufer) :-
|
|
||||||
enemy_location(storch_drohne, donauufer),
|
|
||||||
write('WARNUNG: Eine Storch-Drohne patroulliert hier!'), nl,
|
|
||||||
write('Verwende "angriff(storch_drohne)" um den Kampf zu beginnen.'), nl.
|
|
||||||
|
|
||||||
trigger_location_event(aviary_hq) :-
|
|
||||||
enemy_location(die_kraehe, aviary_hq),
|
|
||||||
write('Du betrittst das Hauptquartier von Aviary Control!'), nl,
|
|
||||||
write('Die Krähe erwartet dich bereits...'), nl,
|
|
||||||
write('WARNUNG: Die Krähe kann dich kontrollieren! Schwäche sie mit EMP-Granaten!'), nl.
|
|
||||||
|
|
||||||
trigger_location_event(_).
|
|
||||||
|
|
||||||
% ========== GAME STATE MANAGEMENT ==========
|
% ========== GAME STATE MANAGEMENT ==========
|
||||||
check_game_state :-
|
check_game_state :-
|
||||||
player_health(Health),
|
player_health(Health),
|
||||||
@ -932,8 +870,6 @@ show_status :-
|
|||||||
(player_inventory(kondensator) -> write(' Kondensator: ✓') ; write(' Kondensator: ✗')), nl)),
|
(player_inventory(kondensator) -> write(' Kondensator: ✓') ; write(' Kondensator: ✗')), nl)),
|
||||||
write('=============='), nl.
|
write('=============='), nl.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% ========== HELP PREDICATES ==========
|
% ========== HELP PREDICATES ==========
|
||||||
hilfe :- process_command([hilfe]).
|
hilfe :- process_command([hilfe]).
|
||||||
schaue :- process_command([schaue]).
|
schaue :- process_command([schaue]).
|
||||||
|
|||||||
@ -3,11 +3,59 @@ character(john, 'John Miller', 'Ein 17-jähriger HTL-Schüler mit Hacking-Fähig
|
|||||||
character(wren, 'Wren', 'Cybersicherheitslehrerin und Rogue-Hackerin.').
|
character(wren, 'Wren', 'Cybersicherheitslehrerin und Rogue-Hackerin.').
|
||||||
character(die_kraehe, 'Die Krähe', 'KI-Mastermind hinter dem Drohnen-Netzwerk.').
|
character(die_kraehe, 'Die Krähe', 'KI-Mastermind hinter dem Drohnen-Netzwerk.').
|
||||||
|
|
||||||
% Initial NPC locations
|
% ========== INITIAL NPC LOCATIONS ==========
|
||||||
init_npcs :-
|
init_npcs :-
|
||||||
retractall(npc_location(_, _)),
|
retractall(npc_location(_, _)),
|
||||||
assertz(npc_location(wren, htl_labor)).
|
assertz(npc_location(wren, htl_labor)).
|
||||||
|
|
||||||
|
|
||||||
|
% ========== NPC INTERACTIONS ==========
|
||||||
|
talk_to(PersonName) :-
|
||||||
|
player_location(Loc),
|
||||||
|
npc_location(PersonName, Loc),
|
||||||
|
handle_conversation(PersonName),
|
||||||
|
!.
|
||||||
|
|
||||||
|
talk_to(_) :-
|
||||||
|
write('Diese Person ist nicht hier.'), nl.
|
||||||
|
|
||||||
|
handle_conversation(wren) :-
|
||||||
|
game_state(wren_met, false),
|
||||||
|
write('Wren: "John! Ich habe auf dich gewartet. Ich weiß von den Drohnen."'), nl,
|
||||||
|
write('Wren: "Es gibt eine Organisation namens Aviary Control. Wir müssen sie stoppen!"'), nl,
|
||||||
|
write('Wren: "Du brauchst einen EMP-Generator um in ihr Hauptquartier einzudringen."'), nl,
|
||||||
|
write('Wren: "Sammle diese Komponenten: Elektro-Spule, Hochleistungsbatterie und Kondensator."'), nl,
|
||||||
|
write('Wren: "Die Spule findest du in einer Box auf einem Dach in der Altstadt."'), nl,
|
||||||
|
write('Wren: "Die Batterie ist in einer Box auf einem Turm im Donauufer versteckt."'), nl,
|
||||||
|
write('Wren: "Der Kondensator ist im Pöstlingberg-Turm, aber du brauchst eine Kampfdrohne."'), nl,
|
||||||
|
write('Wren: "Baue deine eigene Kampfdrohne! Besiege Tauben für einen Motor und Störche für Steuerung."'), nl,
|
||||||
|
write('Wren: "Baue alles dann in der HTL Leonding Werkstatt zusammen."'), nl,
|
||||||
|
write('Wren gibt dir EMP-Granaten für den Anfang.'), nl,
|
||||||
|
assertz(player_inventory(emp_granate)),
|
||||||
|
assertz(player_inventory(emp_granate)),
|
||||||
|
retract(game_state(wren_met, false)),
|
||||||
|
assertz(game_state(wren_met, true)),
|
||||||
|
retract(game_state(components_explained, false)),
|
||||||
|
assertz(game_state(components_explained, true)),
|
||||||
|
!.
|
||||||
|
|
||||||
|
handle_conversation(wren) :-
|
||||||
|
game_state(components_explained, true),
|
||||||
|
game_state(emp_built, false),
|
||||||
|
write('Wren: "Vergiss nicht: Du brauchst alle drei Komponenten für den EMP-Generator!"'), nl,
|
||||||
|
write('Wren: "Elektro-Spule (Altstadt-Dach), Batterie (Donauufer-Turm), Kondensator (Pöstlingberg)."'), nl,
|
||||||
|
write('Wren: "Verwende Parkour-Handschuhe zum Klettern und deine Kampfdrohne im Pöstlingberg."'), nl,
|
||||||
|
!.
|
||||||
|
|
||||||
|
handle_conversation(wren) :-
|
||||||
|
game_state(emp_built, true),
|
||||||
|
write('Wren: "Perfekt! Mit dem EMP-Generator kannst du ins Aviary HQ eindringen!"'), nl,
|
||||||
|
write('Wren: "Pass auf die Krähe auf - schwäche sie mit EMP-Granaten, sonst kontrolliert sie dich!"'), nl,
|
||||||
|
!.
|
||||||
|
|
||||||
|
handle_conversation(wren) :-
|
||||||
|
write('Wren: "Viel Glück, John. Die Zukunft der Menschheit liegt in deinen Händen."'), nl.
|
||||||
|
|
||||||
% ========== ENEMIES ==========
|
% ========== ENEMIES ==========
|
||||||
init_enemies :-
|
init_enemies :-
|
||||||
retractall(enemy(_, _, _, _)),
|
retractall(enemy(_, _, _, _)),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user