From 9963ba74f9aba539c9304053de211679ee5bd1bc Mon Sep 17 00:00:00 2001 From: Astralcircle <142503363+Astralcircle@users.noreply.github.com> Date: Sun, 19 Jul 2026 04:01:25 +0300 Subject: [PATCH] Fix vector and angle multiply methods Accidentally didn't take into account in #3658 that their __mul method doesn't support multiplication by other angles/vectors --- lua/entities/gmod_wire_expression2/core/angle.lua | 5 ++++- lua/entities/gmod_wire_expression2/core/vector.lua | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lua/entities/gmod_wire_expression2/core/angle.lua b/lua/entities/gmod_wire_expression2/core/angle.lua index ed10c0e967..24c3358ff4 100644 --- a/lua/entities/gmod_wire_expression2/core/angle.lua +++ b/lua/entities/gmod_wire_expression2/core/angle.lua @@ -105,7 +105,10 @@ e2function angle operator-(angle rv1, angle rv2) end e2function angle operator*(angle rv1, angle rv2) - return rv1 * rv2 + local rp1, ry1, rr1 = rv1:Unpack() + local rp2, ry2, rr2 = rv2:Unpack() + + return Angle(rp1 * rp2, ry1 * ry2, rr1 * rr2) end e2function angle operator*(rv1, angle rv2) diff --git a/lua/entities/gmod_wire_expression2/core/vector.lua b/lua/entities/gmod_wire_expression2/core/vector.lua index 18a00bcc24..07b6a44063 100644 --- a/lua/entities/gmod_wire_expression2/core/vector.lua +++ b/lua/entities/gmod_wire_expression2/core/vector.lua @@ -124,7 +124,10 @@ e2function vector operator*(vector lhs, rhs) end e2function vector operator*(vector lhs, vector rhs) - return lhs * rhs + local lx, ly, lz = lhs:Unpack() + local rx, ry, rz = rhs:Unpack() + + return Vector(lx * rx, ly * ry, lz * rz) end -- Yes this needs to be in pure lua. Angle/Vector operations in reverse order act as Angle / Number rather than Number / Angle properly. Amazing.