forked from Mirrors/openclonk
Add user action: Fling object
parent
2044fc3c06
commit
237956e7ba
|
@ -139,6 +139,12 @@ func Definition(def)
|
|||
Object = new Evaluator.Object { Name="$Object$", EditorHelp="$SetPositionObjectHelp$" },
|
||||
Position = new Evaluator.Position { Name="$Position$", EditorHelp="$SetPositionPositionHelp$" }
|
||||
} } );
|
||||
AddEvaluator("Action", "$Object$", "$Fling$", "$FlingHelp$", "fling", [def, def.EvalAct_Fling], { Object={ Function="triggering_clonk" }, SpeedX={ Function="int_constant", Value=0 }, SpeedY={ Function="int_constant", Value=-20 }, AddSpeed={ Function="bool_constant", Value=false } }, { Type="proplist", Display="({{Object}}, {{SpeedX}}, {{SpeedY}})", ShowFullName=true, EditorProps = {
|
||||
Object = new Evaluator.Object { Name="$Object$", EditorHelp="$FlingObjectHelp$" },
|
||||
SpeedX = new Evaluator.Integer { Name="$SpeedX$", EditorHelp="$FlingSpeedXHelp$" },
|
||||
SpeedY = new Evaluator.Integer { Name="$SpeedY$", EditorHelp="$FlingSpeedYHelp$" },
|
||||
AddSpeed = new Evaluator.Boolean { Name="$AddSpeedY$", EditorHelp="$FlingAddSpeedHelp$" },
|
||||
} } );
|
||||
AddEvaluator("Action", "Clonk", "$DoEnergy$", "$DoEnergyHelp$", "do_energy", [def, def.EvalAct_ObjectCallInt, Global.DoEnergy], { Object={ Function="triggering_clonk" } }, { Type="proplist", Display="({{Object}}, {{Value}})", ShowFullName=true, EditorProps = {
|
||||
Object = new Evaluator.Object { Name="$Object$", EditorHelp="$DoEnergyObjectHelp$" },
|
||||
Value = new Evaluator.Integer { Name="$ValueChange$", EditorHelp="$DoEnergyValueChangeHelp$" }
|
||||
|
@ -806,6 +812,16 @@ private func EvalAct_SetPosition(proplist props, proplist context)
|
|||
obj->SetPosition(pos[0], pos[1]);
|
||||
}
|
||||
|
||||
private func EvalAct_Fling(proplist props, proplist context)
|
||||
{
|
||||
var obj = EvaluateValue("Object", props.Object, context);
|
||||
if (!obj) return;
|
||||
var vx = EvaluateValue("Integer", props.SpeedX, context);
|
||||
var vy = EvaluateValue("Integer", props.SpeedY, context);
|
||||
var add_speed = EvaluateValue("Boolean", props.AddSpeed, context);
|
||||
obj->Fling(vx, vy, 10, add_speed);
|
||||
}
|
||||
|
||||
private func EvalAct_ObjectCallInt(proplist props, proplist context, func call_fn)
|
||||
{
|
||||
var obj = EvaluateValue("Object", props.Object, context);
|
||||
|
|
|
@ -294,3 +294,10 @@ SetPositionObjectHelp=Zu verschiebendes Objekt.
|
|||
SetPositionPositionHelp=Neue Position fuer die Objektmitte des verschobenen Objektes.
|
||||
GameOver=Spiel beenden
|
||||
GameOverHelp=Beendet die runde und zeigt den Auswertungsdialog an. Alle Spieler, die nicht eliminiert sind, haben gewonnen.
|
||||
Fling=Objekt schleudern
|
||||
FlingHelp=Aendert die Geschwindigkeit eines Objektes und laesst Lebewesen springen oder schleudern.
|
||||
FlingObjectHelp=Geschleudertes Objekt.
|
||||
FlingSpeedXHelp=Horizontale Geschwindigkeit in 1/10px pro Frame.
|
||||
FlingSpeedYHelp=Vertikale Geschwindigkeit in 1/10px pro Frame.
|
||||
AddSpeedY=Geschwindigkeit addieren
|
||||
FlingAddSpeedHelp=Ob die schon vorhandene Objektgeschwindigkeit addiert werden soll.
|
|
@ -294,3 +294,10 @@ SetPositionObjectHelp=Object to move.
|
|||
SetPositionPositionHelp=New position for the object.
|
||||
GameOver=Game over
|
||||
GameOverHelp=Ends the round and shows the evaluation dialogue. All players that have not been eliminated will be declared winners.
|
||||
Fling=Fling object
|
||||
FlingHelp=Changes the speed of an object and lets animals and clonks jump or tumble.
|
||||
FlingObjectHelp=Flung object.
|
||||
FlingSpeedXHelp=Horizontal speed in 1/10px per frame.
|
||||
FlingSpeedYHelp=Vertical speed in 1/10px per frame.
|
||||
AddSpeedY=Add speed
|
||||
FlingAddSpeedHelp=Whether existing speed should be added to the fling speed.
|
||||
|
|
Loading…
Reference in New Issue