I don't know if there's actually some huge issue with this that makes it impossible, but it would be pretty useful.
If there's already something like this, I have no idea how I missed it.
It'd have a boolean for if they're starting to move or stopping, and different functions/values for strafing, forward/backward, etc.
e.g.
package annoyingAlarm
{
function Armor::onMoveForward(%this, %obj, %val)
{
parent::onMoveForward(%this, %obj, %val);
%obj.emote(AlarmProjectile);
}
function Armor::onMoveBackward(%this, %obj, %val)
{
parent::onMoveBackward(%this, %obj, %val);
%obj.emote(AlarmProjectile);
}
function Armor::onStrafe(%this, %obj, %dir, %val)
{
parent::onMoveBackward(%this, %obj, %dir, %val);
%obj.emote(AlarmProjectile);
}
};
or alternatively
package annoyingAlarm
{
function Armor::onMove(%this, %obj, %type, %val)
{
parent::onMove(%this, %obj, %type, %val);
%obj.emote(AlarmProjectile);
}
};