forked from Mirrors/openclonk
117 lines
2.3 KiB
C
117 lines
2.3 KiB
C
// A chief which tells you about the flood and the pump.
|
|
|
|
#appendto Dialogue
|
|
|
|
public func Dlg_Chief_Init(object clonk)
|
|
{
|
|
AddEffect("IntChief", clonk, 100, 5, this);
|
|
return true;
|
|
}
|
|
|
|
public func Dlg_Chief_1(object clonk)
|
|
{
|
|
var found_lorry = false;
|
|
for (var lorry in FindObjects(Find_ID(Lorry), Find_InRect(AbsX(0), AbsY(120), 320, 72)))
|
|
if (lorry.is_metal_lorry)
|
|
found_lorry = true;
|
|
|
|
var made_lorry_progress = false;
|
|
var elevator_case = FindObject(Find_ID(ElevatorCase), Find_AtRect(AbsX(282), AbsY(160), 20, 720));
|
|
if (elevator_case)
|
|
{
|
|
for (var lorry in elevator_case->FindObjects(Find_ID(Lorry), Find_AtPoint()))
|
|
if (lorry.is_metal_lorry)
|
|
made_lorry_progress = true;
|
|
}
|
|
|
|
if (found_lorry)
|
|
{
|
|
MessageBox("$DlgChiefLorry$", clonk, clonk);
|
|
SetDialogueProgress(8);
|
|
}
|
|
else if (made_lorry_progress)
|
|
{
|
|
MessageBox("$DlgChiefLorryUp$", clonk, dlg_target);
|
|
StopDialogue();
|
|
SetDialogueProgress(1);
|
|
}
|
|
else
|
|
{
|
|
MessageBox("$DlgChiefHello$", clonk, dlg_target);
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public func Dlg_Chief_2(object clonk)
|
|
{
|
|
MessageBox("$DlgChiefReply$", clonk, clonk);
|
|
return true;
|
|
}
|
|
|
|
public func Dlg_Chief_3(object clonk)
|
|
{
|
|
MessageBox("$DlgChiefNoMetal$", clonk, dlg_target);
|
|
return true;
|
|
}
|
|
|
|
public func Dlg_Chief_4(object clonk)
|
|
{
|
|
MessageBox("$DlgChiefHelp$", clonk, clonk);
|
|
return true;
|
|
}
|
|
|
|
public func Dlg_Chief_5(object clonk)
|
|
{
|
|
MessageBox("$DlgChiefAppreciation$", clonk, dlg_target);
|
|
return true;
|
|
}
|
|
|
|
public func Dlg_Chief_6(object clonk)
|
|
{
|
|
MessageBox("$DlgChiefReward$", clonk, clonk);
|
|
return true;
|
|
}
|
|
|
|
public func Dlg_Chief_7(object clonk)
|
|
{
|
|
MessageBox("$DlgChiefMetal$", clonk, dlg_target);
|
|
StopDialogue();
|
|
SetDialogueProgress(1);
|
|
return true;
|
|
}
|
|
|
|
public func Dlg_Chief_8(object clonk)
|
|
{
|
|
MessageBox("$DlgChiefKeepLorry$", clonk, dlg_target);
|
|
StopDialogue();
|
|
SetDialogueProgress(9);
|
|
GameCall("OnGoalCompleted", clonk->GetOwner());
|
|
return true;
|
|
}
|
|
|
|
public func Dlg_Chief_9(object clonk)
|
|
{
|
|
MessageBox("$DlgChiefReally$", clonk, dlg_target);
|
|
StopDialogue();
|
|
SetDialogueProgress(9);
|
|
return true;
|
|
}
|
|
|
|
public func Dlg_Chief_Closed(object clonk)
|
|
{
|
|
GameCall("OnHasTalkedMineChief", clonk);
|
|
return true;
|
|
}
|
|
|
|
public func FxIntChiefStart(object target, proplist effect, int temp)
|
|
{
|
|
if (temp)
|
|
return FX_OK;
|
|
return FX_OK;
|
|
}
|
|
|
|
public func FxIntChiefTimer(object target, proplist effect, int time)
|
|
{
|
|
return FX_OK;
|
|
}
|