Okay, I have to be doing something dumb, I'm just blind to it.
Here is the second version of the whole trigger, with all of the debugging stuff I added:
Code:
* Mobile Random - Little mouse droid actions and sounds, based on position
* Positions: Sleeping, Resting, Sitting, Fighting, Standing
%zoneecho% %self.vnum% MRT - The Mobile Random Trigger
%zoneecho% %self.vnum% MRT - My position is %self.pos%
if %self.pos(Standing)%
* Things to do if in normal position
%zoneecho% %self.vnum% MRT - Standing conditional
switch %random.4%
case 1
%zoneecho% %self.vnum% MRT - Standing Case 1
emote is rolling slowly backward, whistling something complicated.
break
case 2
%zoneecho% %self.vnum% MRT - Standing Case 2
emote is zipping around the room, as if looking for something.
break
case 3
%zoneecho% %self.vnum% MRT - Standing Case 3
emote is silently rolling across the room.
break
case 4
%zoneecho% %self.vnum% MRT - Standing Case 4
emote is beeping and whistling quietly as it rolls across the room.
break
default
%zoneecho% %self.vnum% MRT - Standing Default
emote is still and softly whistling and beeping.
break
done
elseif %self.pos(Fighting)%
%zoneecho% %self.vnum% MRT - Fighting conditional
switch %random.4%
case 1
%zoneecho% %self.vnum% MRT - Fighting Case 1
emote is flicking it's tiny, sharp probe arm as it tries to attack.
break
case 2
%zoneecho% %self.vnum% MRT - Fighting Case 2
emote is whistling shrilly as it tries to defend itself.
break
case 3
%zoneecho% %self.vnum% MRT - Fighting Case 3
%zoneecho% %self.vnum% A droid alarm call bleets out.
break
case 4
%zoneecho% %self.vnum% MRT - Fighting Case 4
* Do nothing
break
default
%zoneecho% %self.vnum% MRT - Fighting Default
* Do nothing
break
done
else
* Things to do if not active (this guy shouldn't sleep)
%zoneecho% %self.vnum% MRT - default conditional
break
end
At first, that seemed fine. Letting the mouse loose in the zone I saw the standing messages I expected like:
Code:
MRT - The Mobile Random Trigger
MRT - My position is Standing
MRT - Standing conditional
MRT - Standing Case 4
So I sent in a first level character to fight the droid, to test the fighting position messages, but I got this:
Code:
21H 100M 83V > kill mouse
The little mouse droid ducks under your fist as you try to hit it.
21H 100M 83V >
The little mouse droid misses you with its sting!
You tickle the little mouse droid as you hit it.
21H 100M 83V >
MRT - The Mobile Random Trigger
MRT - My position is Fighting
MRT - Standing conditional
MRT - Standing Case 1
The little mouse droid is rolling slowly backward, whistling something complicated.
The little mouse droid misses you with its sting!
You try to hit the little mouse droid who easily avoids the blow.
So obviously I'm doing something really dumb here that is fouling up my conditional statements, but I've gotten frustrated so it is hard to see what I've done.