#include "../common/animdecide.qh"
#include "../common/csqcmodel_settings.qh"
#include "../common/teams.qh"
+#include "../common/triggers/trigger/viewloc.qh"
+
+#include "mutators/events.qh"
#include "../csqcmodellib/cl_model.qh"
#include "../csqcmodellib/cl_player.qh"
if(self.tag_entity && wasfreed(self.tag_entity))
self.tag_entity = world;
+ if(self.viewloc && wasfreed(self.viewloc))
+ self.viewloc = world;
+
+ if(self.viewloc.entnum != self.tag_networkviewloc)
+ self.viewloc = findfloat(world, entnum, self.tag_networkviewloc);
+
+ MUTATOR_CALLHOOK(TagIndex_Update, self);
+
if(self.tag_networkentity)
{
// we are ATTACHED!
if(self.tag_entity)
{
// the best part is: IT EXISTS
- if(substring(self.model, 0, 17) == "models/weapons/v_")
+ if(substring(self.model, 0, 14) == "models/weapons")
{
- if(substring(self.tag_entity.model, 0, 17) == "models/weapons/h_")
+ if(substring(self.tag_entity.model, 0, 14) == "models/weapons")
{
self.tag_index = gettagindex(self.tag_entity, "weapon");
if(!self.tag_index)
}
}
- if(substring(self.tag_entity.model, 0, 17) == "models/weapons/v_")
+ if(substring(self.tag_entity.model, 0, 14) == "models/weapons")
{
self.tag_index = gettagindex(self.tag_entity, "shot");
if(!self.tag_index)
self.tag_index = gettagindex(self.tag_entity, "tag_shot");
}
+
+ MUTATOR_CALLHOOK(TagIndex_Apply, self);
}
else
{
bool onground = 0;
if(self == csqcplayer)
{
- if(self.pmove_flags & PMF_ONGROUND)
+ if(self.flags & FL_ONGROUND)
onground = 1;
- self.anim_prev_pmove_flags = self.pmove_flags;
- if(self.pmove_flags & PMF_DUCKED)
+ self.anim_prev_pmove_flags = self.flags;
+ if(self.flags & FL_DUCKED)
animdecide_setstate(self, self.anim_state | ANIMSTATE_DUCK, false);
else if(self.anim_state & ANIMSTATE_DUCK)
animdecide_setstate(self, self.anim_state - ANIMSTATE_DUCK, false);