RandomSelection_Init();
FOREACH(Weapons, it != WEP_Null, {
if (remaining & (it.m_wepset))
- RandomSelection_Add(it, 0, string_null, 1, 1);
+ RandomSelection_AddEnt(it, 1, 1);
});
Weapon w = RandomSelection_chosen_ent;
result |= WepSet_FromWeapon(w);
{
if (name == "")
{
- this.model = "";
+ vector oldmin = this.mins, oldmax = this.maxs;
+ setmodel(this, MDL_Null);
+ setsize(this, oldmin, oldmax);
if (this.weaponchild) delete(this.weaponchild);
this.weaponchild = NULL;
this.movedir = '0 0 0';
if (this.movedir.x >= 0)
{
- int algn = STAT(GUNALIGN, this.owner);
+ //int algn = STAT(GUNALIGN, this.owner);
+ int algn = W_GunAlign(this, STAT(GUNALIGN, this.owner));
+ #ifdef SVQC
+ this.m_gunalign = algn;
+ #endif
vector v = this.movedir;
this.movedir = shotorg_adjust(v, false, false, algn);
this.view_ofs = shotorg_adjust(v, false, true, algn) - v;
int slot = ReadByte();
bool restartanim = ReadByte();
entity wepent = viewmodels[slot];
- anim_set(wepent, a, !restartanim, restartanim, restartanim);
+ if(a.x == wepent.anim_idle_x) // we don't need to enforce idle animation
+ wepent.animstate_looping = false;
+ else
+ anim_set(wepent, a, !restartanim, restartanim, restartanim);
wepent.state = ReadByte();
wepent.weapon_nextthink = ReadFloat();
switch (wepent.state)