169 lines
4.2 KiB
GDScript
169 lines
4.2 KiB
GDScript
extends "res://scripts/Investigations/InvestigationBase.gd"
|
|
|
|
var descriptions = [
|
|
"1",
|
|
"2",
|
|
"3",
|
|
"4",
|
|
"5",
|
|
"6",
|
|
"7",
|
|
"8",
|
|
"9",
|
|
"10",
|
|
"11",
|
|
"12",
|
|
"13",
|
|
"14",
|
|
"15",
|
|
"16",
|
|
"17",
|
|
"18",
|
|
"19",
|
|
"20",
|
|
"21",
|
|
"22",
|
|
"23",
|
|
"24",
|
|
"25",
|
|
"26",
|
|
"27",
|
|
];
|
|
|
|
func _ready():
|
|
cluesToFind = 99;
|
|
|
|
|
|
func InitClues():
|
|
cluesFound = ProgressAchievementsSingleton.GetMinigameClues();
|
|
|
|
for i in descriptions.size():
|
|
var clue = $Clues.get_child(i) as TextureButton;
|
|
clue.connect("button_up", self, "onButtonPressed", [clue, descriptions[i]])
|
|
clue.connect("mouse_entered", self, "onButtonHoverOn", [clue]);
|
|
clue.connect("mouse_exited", self, "onButtonHoverOff", [clue]);
|
|
|
|
|
|
|
|
PrepareNewLogic();
|
|
|
|
func TimerOut():
|
|
EndInvestigationLoop("END");
|
|
|
|
func onButtonPressed(control, code):
|
|
if CheckHover():
|
|
onButtonHoverOff(control)
|
|
var number = ProgressAchievementsSingleton.AddMinigameClue(code);
|
|
# if number != - 1:
|
|
# if number == 25:
|
|
# Steam.set_achievement("FireMinigame")
|
|
# else :
|
|
# var res = Steam.user_stats.indicate_achievement_progress("FireMinigame", number, 25)
|
|
var res = false;
|
|
|
|
EndInvestigationLoop(code);
|
|
|
|
func PrepareNewLogic():
|
|
ProgressAchievementsSingleton.SetMinigameVariables();
|
|
|
|
|
|
|
|
var window = get_node("Clues/27");
|
|
window.disconnect("button_up", self, "onButtonPressed");
|
|
window.connect("button_up", self, "customWindow", [window, "27"]);
|
|
|
|
if ProgressAchievementsSingleton.IsWindowPressed():
|
|
|
|
var hammer = get_node("Clues/7");
|
|
hammer.disconnect("button_up", self, "onButtonPressed");
|
|
hammer.connect("button_up", self, "onButtonPressed", [hammer, "yellow_hammer"]);
|
|
|
|
|
|
var sledgehammer = get_node("Clues/21");
|
|
sledgehammer.disconnect("button_up", self, "onButtonPressed");
|
|
sledgehammer.connect("button_up", self, "onButtonPressed", [sledgehammer, "green_sledgehammer"]);
|
|
|
|
|
|
var wrench = get_node("Clues/11");
|
|
wrench.disconnect("button_up", self, "onButtonPressed");
|
|
wrench.connect("button_up", self, "onButtonPressed", [wrench, "orange_wrench"]);
|
|
|
|
|
|
|
|
if not ProgressAchievementsSingleton.IsCasketPressed():
|
|
var casket = get_node("Clues/8");
|
|
casket.disconnect("button_up", self, "onButtonPressed");
|
|
casket.connect("button_up", self, "customCasket", [casket, "8"]);
|
|
|
|
else :
|
|
var drawer = get_node("Clues/24");
|
|
drawer.disconnect("button_up", self, "onButtonPressed");
|
|
drawer.connect("button_up", self, "customDrawer", [drawer]);
|
|
|
|
|
|
if ProgressAchievementsSingleton.IsDrawerPressed():
|
|
var barrel = get_node("Clues/18")
|
|
barrel.disconnect("button_up", self, "onButtonPressed");
|
|
barrel.connect("button_up", self, "customBarrel", [barrel]);
|
|
|
|
|
|
if ProgressAchievementsSingleton.IsBarrelPressed() and not ProgressAchievementsSingleton.IsClosedTrapdoorPressed():
|
|
|
|
get_node("Clues/18").visible = false;
|
|
|
|
var trapdoor = get_node("Clues/28");
|
|
trapdoor.visible = true;
|
|
trapdoor.connect("mouse_entered", self, "onButtonHoverOn", [trapdoor]);
|
|
trapdoor.connect("mouse_exited", self, "onButtonHoverOff", [trapdoor]);
|
|
|
|
trapdoor.connect("button_up", self, "customClosedTrapdoor", [trapdoor]);
|
|
|
|
|
|
if ProgressAchievementsSingleton.IsClosedTrapdoorPressed():
|
|
|
|
get_node("Clues/18").visible = false;
|
|
|
|
var trapdoor = get_node("Clues/29");
|
|
trapdoor.visible = true;
|
|
trapdoor.connect("mouse_entered", self, "onButtonHoverOn", [trapdoor]);
|
|
trapdoor.connect("mouse_exited", self, "onButtonHoverOff", [trapdoor]);
|
|
|
|
trapdoor.connect("button_up", self, "onButtonPressed", [trapdoor, "openedTrapdoor"]);
|
|
|
|
|
|
func customWindow(control, code):
|
|
if not CheckHover():
|
|
return ;
|
|
ProgressAchievementsSingleton.WindowPressed();
|
|
|
|
onButtonPressed(control, code);
|
|
|
|
func customCasket(control, code):
|
|
if not CheckHover():
|
|
return ;
|
|
ProgressAchievementsSingleton.CasketPressed();
|
|
|
|
onButtonPressed(control, code);
|
|
|
|
func customDrawer(control):
|
|
if not CheckHover():
|
|
return ;
|
|
ProgressAchievementsSingleton.DrawerPressed();
|
|
|
|
onButtonPressed(control, "drawer");
|
|
|
|
func customBarrel(control):
|
|
if not CheckHover():
|
|
return ;
|
|
ProgressAchievementsSingleton.BarrelPressed();
|
|
|
|
|
|
onButtonPressed(control, "barrel");
|
|
|
|
func customClosedTrapdoor(control):
|
|
if not CheckHover():
|
|
return ;
|
|
ProgressAchievementsSingleton.ClosedTrapdoorPressed();
|
|
|
|
|
|
onButtonPressed(control, "closedTrapdoor");
|