Beautiful geometry or how to deal with a custom object

NSXGV

Code
first square
rule("first square")
{
	event
	{
		Ongoing - Global;
	}

	actions
	{
		Set Global Variable(V, Vector(8.792, 20, -59.004));
		Set Global Variable(A, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Global Variable(Z)), 3)), Add(
			Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Global Variable(Z)), 3)), Z Component Of(Global Variable(V))));
		Set Global Variable(B, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 90)),
			3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 90)), 3)), Z Component Of(
			Global Variable(V))));
		Set Global Variable(C, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 180)),
			3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 180)), 3)), Z Component Of(
			Global Variable(V))));
		Set Global Variable(D, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 270)),
			3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 270)), 3)), Z Component Of(
			Global Variable(V))));
		Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(A), Global Variable(B), White,
			Visible To Position and Radius);
		Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(B), Global Variable(C), White,
			Visible To Position and Radius);
		Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(C), Global Variable(D), White,
			Visible To Position and Radius);
		Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(D), Global Variable(A), White,
			Visible To Position and Radius);
	}
}
second square and other connecting beams
rule("second square and other connecting beams")
{
	event
	{
		Ongoing - Global;
	}

	actions
	{
		Set Global Variable(V, Vector(8.792, 22.979, -59.004));
		Set Global Variable(E, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Global Variable(Z)), 3)), Add(
			Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Global Variable(Z)), 3)), Add(Z Component Of(Global Variable(
			V)), 4.242)));
		Set Global Variable(F, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 90)),
			3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 90)), 3)), Add(Z Component Of(
			Global Variable(V)), 4.242)));
		Set Global Variable(G, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 180)),
			3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 180)), 3)), Add(Z Component Of(
			Global Variable(V)), 4.242)));
		Set Global Variable(H, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 270)),
			3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 270)), 3)), Add(Z Component Of(
			Global Variable(V)), 4.242)));
		Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(E), Global Variable(A), White,
			Visible To Position and Radius);
		Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(F), Global Variable(B), White,
			Visible To Position and Radius);
		Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(E), Global Variable(F), White,
			Visible To Position and Radius);
		Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(G), Global Variable(F), White,
			Visible To Position and Radius);
		Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(G), Global Variable(C), White,
			Visible To Position and Radius);
		Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(H), Global Variable(D), White,
			Visible To Position and Radius);
		Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(H), Global Variable(G), White,
			Visible To Position and Radius);
		Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(H), Global Variable(E), White,
			Visible To Position and Radius);
	}
}
sphere, orbs and diagonal beams
rule("sphere, orbs and diagonal beams")
{
	event
	{
		Ongoing - Global;
	}

	actions
	{
		Set Global Variable(X, Add(Global Variable(V), Vector(0, 0, 2.121)));
		Create Effect(All Players(All Teams), Sphere, Purple, Global Variable(X), 2.121, Visible To Position and Radius);
		Set Global Variable(I, Vector(X Component Of(Global Variable(X)), Add(Y Component Of(Global Variable(X)), Multiply(
			Sine From Degrees(Global Variable(Q)), 2)), Add(Z Component Of(Global Variable(X)), Multiply(Cosine From Degrees(
			Global Variable(Q)), 2))));
		Create Effect(All Players(All Teams), Orb, Red, Global Variable(I), 1, Visible To Position and Radius);
		Set Global Variable(J, Vector(Add(X Component Of(Global Variable(X)), Multiply(Cosine From Degrees(Global Variable(Q)), 2)), Add(
			Y Component Of(Global Variable(X)), Multiply(Sine From Degrees(Global Variable(Q)), 2)), Z Component Of(Global Variable(X))));
		Create Effect(All Players(All Teams), Orb, Red, Global Variable(J), 1, Visible To Position and Radius);
		Set Global Variable(K, Vector(Add(X Component Of(Global Variable(X)), Multiply(Cosine From Degrees(Global Variable(Q)), 2)),
			Y Component Of(Global Variable(X)), Add(Z Component Of(Global Variable(X)), Multiply(Sine From Degrees(Global Variable(Q)),
			2))));
		Create Effect(All Players(All Teams), Orb, Red, Global Variable(K), 1, Visible To Position and Radius);
		Create Beam Effect(All Players(All Teams), Bad Beam, Global Variable(A), Global Variable(G), Purple,
			Visible To Position and Radius);
		Create Beam Effect(All Players(All Teams), Bad Beam, Global Variable(B), Global Variable(H), Purple,
			Visible To Position and Radius);
		Create Beam Effect(All Players(All Teams), Bad Beam, Global Variable(C), Global Variable(E), Purple,
			Visible To Position and Radius);
		Create Beam Effect(All Players(All Teams), Bad Beam, Global Variable(D), Global Variable(F), Purple,
			Visible To Position and Radius);
		Set Global Variable(L, Global Variable(A));
		Create Effect(All Players(All Teams), Orb, Green, Global Variable(L), 1, Visible To Position and Radius);
	}
}
moving
rule("moving")
{
	event
	{
		Ongoing - Global;
	}

	actions
	{
		Modify Global Variable(Q, Add, 1.500);
		Modify Global Variable(Z, Add, 0.750);
		Set Global Variable(A, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Global Variable(Z)), 3)), Add(
			Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Global Variable(Z)), 3)), Z Component Of(Global Variable(V))));
		Set Global Variable(B, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 90)),
			3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 90)), 3)), Z Component Of(
			Global Variable(V))));
		Set Global Variable(C, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 180)),
			3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 180)), 3)), Z Component Of(
			Global Variable(V))));
		Set Global Variable(D, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 270)),
			3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 270)), 3)), Z Component Of(
			Global Variable(V))));
		Set Global Variable(E, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Global Variable(Z)), 3)), Add(
			Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Global Variable(Z)), 3)), Add(Z Component Of(Global Variable(
			V)), 4.242)));
		Set Global Variable(F, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 90)),
			3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 90)), 3)), Add(Z Component Of(
			Global Variable(V)), 4.242)));
		Set Global Variable(G, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 180)),
			3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 180)), 3)), Add(Z Component Of(
			Global Variable(V)), 4.242)));
		Set Global Variable(H, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 270)),
			3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 270)), 3)), Add(Z Component Of(
			Global Variable(V)), 4.242)));
		Set Global Variable(I, Vector(X Component Of(Global Variable(X)), Add(Y Component Of(Global Variable(X)), Multiply(
			Sine From Degrees(Global Variable(Q)), 2)), Add(Z Component Of(Global Variable(X)), Multiply(Cosine From Degrees(
			Global Variable(Q)), 2))));
		Set Global Variable(J, Vector(Add(X Component Of(Global Variable(X)), Multiply(Cosine From Degrees(Global Variable(Q)), 2)), Add(
			Y Component Of(Global Variable(X)), Multiply(Sine From Degrees(Global Variable(Q)), 2)), Z Component Of(Global Variable(X))));
		Set Global Variable(K, Vector(Add(X Component Of(Global Variable(X)), Multiply(Cosine From Degrees(Global Variable(Q)), 2)),
			Y Component Of(Global Variable(X)), Add(Z Component Of(Global Variable(X)), Multiply(Sine From Degrees(Global Variable(Q)),
			2))));
		Wait(0.070, Ignore Condition);
		Loop;
	}
}
I=J"
rule("I=J")
{
	event
	{
		Ongoing - Global;
	}

	conditions
	{
		Global Variable(I) == Global Variable(J);
	}

	actions
	{
		Play Effect(All Players(All Teams), Good Explosion, Red, Global Variable(I), 0.500);
		Play Effect(All Players(All Teams), Buff Explosion Sound, White, Global Variable(I), 40);
	}
}
J=K
rule("J=K")
{
	event
	{
		Ongoing - Global;
	}

	conditions
	{
		Global Variable(J) == Global Variable(K);
	}

	actions
	{
		Play Effect(All Players(All Teams), Good Explosion, Red, Global Variable(J), 0.500);
		Play Effect(All Players(All Teams), Buff Explosion Sound, White, Global Variable(J), 40);
	}
}
I=K
rule("I=K")
{
	event
	{
		Ongoing - Global;
	}

	conditions
	{
		Global Variable(I) == Global Variable(K);
	}

	actions
	{
		Play Effect(All Players(All Teams), Good Explosion, Red, Global Variable(I), 0.500);
		Play Effect(All Players(All Teams), Buff Explosion Sound, White, Global Variable(I), 40);
	}
}
other orbs
rule("other orbs")
{
	event
	{
		Ongoing - Global;
	}

	actions
	{
		Chase Global Variable Over Time(L, Global Variable(B), 2, Destination and Duration);
		Play Effect(All Players(All Teams), Bad Explosion, Yellow, Global Variable(L), 2);
		Wait(2, Ignore Condition);
		Chase Global Variable Over Time(L, Global Variable(F), 2, Destination and Duration);
		Play Effect(All Players(All Teams), Bad Explosion, Yellow, Global Variable(L), 2);
		Wait(2, Ignore Condition);
		Chase Global Variable Over Time(L, Global Variable(G), 2, Destination and Duration);
		Play Effect(All Players(All Teams), Bad Explosion, Yellow, Global Variable(L), 2);
		Wait(2, Ignore Condition);
		Chase Global Variable Over Time(L, Global Variable(H), 2, Destination and Duration);
		Play Effect(All Players(All Teams), Bad Explosion, Yellow, Global Variable(L), 2);
		Wait(2, Ignore Condition);
		Chase Global Variable Over Time(L, Global Variable(D), 2, Destination and Duration);
		Play Effect(All Players(All Teams), Bad Explosion, Yellow, Global Variable(L), 2);
		Wait(2, Ignore Condition);
		Chase Global Variable Over Time(L, Global Variable(A), 2, Destination and Duration);
		Play Effect(All Players(All Teams), Bad Explosion, Yellow, Global Variable(L), 2);
		Wait(2, Ignore Condition);
		Loop;
	}
}

It is not a game mod. I see not many of you understand how works physics in the game and how to deal with custom objects. So I wanted to introduce a simple code that shows how to create a custom object and how to move it. Also how to connect different custom objects so they can interact with each other.
Thanks to Nutellaman for the idea.

omg papa rany said my name