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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
/**
Gravestone
Epitaph for the dead.
@author Ringwaul
*/
local grave_inscription;
// Definition call: Get death message for clonk
public func GetInscriptionForClonk(object dead)
{
var msg = dead->GetObjCoreDeathMessage();
if (!msg) msg = dead.SpecialDeathMessage;
// Set grave inscription dependent on whether there is a death message.
if (msg && GetLength(msg))
msg = Format("$Epitaph$ %s.|\"%s\"", dead->GetName(), msg);
else
msg = Format("$Epitaph$ %s.", dead->GetName());
return msg;
}
// Set the inscription for a dead clonk.
public func SetInscription(object dead)
{
grave_inscription = GetInscriptionForClonk(dead);
return true;
}
// Set the inscription message directly.
public func SetInscriptionMessage(message)
{
grave_inscription = message;
return true;
}
public func IsInteractable() { return true; }
public func GetInteractionMetaInfo(object clonk)
{
return { Description = "$ReadInscription$" };
}
public func Interact(object clonk)
{
return PlayerMessage(clonk->GetController(), GetTranslatedString(grave_inscription));
}
public func Definition(def)
{
if (!def.EditorProps) def.EditorProps = {};
def.EditorProps.grave_inscription = { Name="$Inscription$", Type="string", EditorHelp="$InscriptionHelp$", Set="SetInscriptionMessage", Save="Inscription", Translatable=true };
}
/*-- Properties --*/
local Name = "$Name$";
local Description = "$Description$";
local Plane = 300;
|