Add user actions: Invincibility and invisibility

console-destruction
Sven Eberhardt 2016-09-03 22:06:24 -04:00
parent 692ff39c0e
commit dc77020586
3 changed files with 41 additions and 1 deletions

View File

@ -160,6 +160,14 @@ func Definition(def)
] }
} } );
AddEvaluator("Action", "$Object$", "$ExitObject$", "$ExitObjectHelp$", "exit_object", [def, def.EvalAct_ExitObject], { }, new Evaluator.Object { }, "Object");
AddEvaluator("Action", "$Object$", "$SetVisibility$", "$SetVisibilityHelp$", "set_visibility", [def, def.EvalAct_SetVisibility], { Object={ Function="triggering_clonk" }, Visibility=VIS_All }, { Type="proplist", Display="({{Object}}, {{Visibility}})", EditorProps = {
Object = new Evaluator.Object { Name="$Object$" },
Visibility = { Name="$Visibility$", Type="enum", Options = [{ Name="$Visible$", Value=VIS_All }, { Name="$Invisible$", Value=VIS_None }] }
} } );
AddEvaluator("Action", "$Object$", "$SetVincibility$", "$SetVincibilityHelp$", "set_vincibility", [def, def.EvalAct_SetVincibility], { Object={ Function="triggering_clonk" }, Vincibility=false }, { Type="proplist", Display="({{Object}}, {{Vincibility}})", EditorProps = {
Object = new Evaluator.Object { Name="$Object$" },
Vincibility = { Name="$Vincibility$", Type="enum", Options = [{ Name="$Invincible$", Value=false }, { Name="$Vincible$", Value=true }] }
} } );
AddEvaluator("Action", "Clonk", "$DoEnergy$", "$DoEnergyHelp$", "do_energy", [def, def.EvalAct_ObjectCallInt, Global.DoEnergy], { Object={ Function="triggering_clonk" } }, { Type="proplist", Display="({{Object}}, {{Value}})", EditorProps = {
Object = new Evaluator.Object { Name="$Object$", EditorHelp="$DoEnergyObjectHelp$" },
Value = new Evaluator.Integer { Name="$ValueChange$", EditorHelp="$DoEnergyValueChangeHelp$" }
@ -1093,6 +1101,18 @@ private func EvalAct_SetDirection(proplist props, proplist context)
if (object) object->SetDir(props.Direction);
}
private func EvalAct_SetVisibility(proplist props, proplist context)
{
var object = EvaluateValue("Object", props.Object, context);
if (object) object.Visibility = props.Visibility;
}
private func EvalAct_SetVincibility(proplist props, proplist context)
{
var object = EvaluateValue("Object", props.Object, context);
if (object) object->SetInvincibility(!props.Vincibility);
}
private func EvalAct_DoWealth(proplist props, proplist context)
{
var player = EvaluatePlayer(props.Player, context);

View File

@ -408,4 +408,14 @@ SetDirection=Blickrichtung setzen
SetDirectionHelp=Laesst einen Clonk nach links oder rechts schauen.
Direction=Richtung
Left=Links
Right=Rechts
Right=Rechts
SetVisibility=Sichtbarkeit setzen
SetVisibilityHelp=Macht ein Objekt sichtbar oder unsichtbar. Unsichtbare Objekte koennen im Editor 'blind' oder in der Objektliste angeklickt werden.
Visibility=Sichtbarkeit
Visible=Sichtbar
Invisible=Unsichtbar
SetVincibility=Verwundbarkeit setzen
SetVincibilityHelp=Macht ein Objekt verwundbar oder unverwundbar. Ein Endgegner kann zum Beispiel so lange unverwundbar bleiben, bis ein Dialog ausgefuehrt oder eine Schwaeche ausgenutzt wurde.
Vincibility=Verwundbarkeit
Invincible=Unverwundbar
Vincible=Verwundbar

View File

@ -409,3 +409,13 @@ SetDirectionHelp=Lets a clonk look left or right.
Direction=Direction
Left=Left
Right=Right
SetVisibility=Set visibility
SetVisibilityHelp=Makes an object visible or invisible. Invisible objects can be clicked 'blindly' in the editor or simply selected in the object list.
Visibility=Visibility
Visible=Visible
Invisible=Invisible
SetVincibility=Set vincibility
SetVincibilityHelp=Makes an object vincible or invincible. For example, an end boss may be made invincible until a certain spell has been performed.
Vincibility=Vincibility
Invincible=Invincible
Vincible=Vincible