Exemplo n.º 1
0
bool CWeaponMagazined::Action(s32 cmd, u32 flags) 
{
	if(inherited::Action(cmd, flags)) return true;
	
	//если оружие чем-то занято, то ничего не делать
	if(IsPending()) return false;
	
	switch(cmd) 
	{
	case kWPN_RELOAD:
		{
			if(flags&CMD_START) 
				if(iAmmoElapsed < iMagazineSize || IsMisfire()) 
					Reload();
		} 
		return true;
	case kWPN_FIREMODE_PREV:
		{
			if(flags&CMD_START) 
			{
				OnPrevFireMode();
				return true;
			};
		}break;
	case kWPN_FIREMODE_NEXT:
		{
			if(flags&CMD_START) 
			{
				OnNextFireMode();
				return true;
			};
		}break;
	}
	return false;
}
Exemplo n.º 2
0
bool CWeaponMagazined::Action(s32 cmd, u32 flags)
{
	if (inherited::Action(cmd, flags)) return true;

	//если оружие чем-то занято, то ничего не делать
	if (IsPending()) return false;

	switch (cmd)
	{
	case kWPN_RELOAD:
	{
#if defined(LOCK_RELOAD_IN_SPRINT)
	if (!ParentIsActor() || !(g_actor->get_state() & mcSprint) )
#endif
		if (flags&CMD_START)
			if (iAmmoElapsed < iMagazineSize || IsMisfire())
				Reload();
	}
		return true;
	case kWPN_FIREMODE_PREV:
	{
		if (flags&CMD_START)
		{
			OnPrevFireMode();
			return true;
		};
	}break;
	case kWPN_FIREMODE_NEXT:
	{
		if (flags&CMD_START)
		{
			OnNextFireMode();
			return true;
		};
	}break;
	}
	return false;
}