mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-26 00:40:56 +00:00
More weapon system changes
git-svn-id: https://svn.eduke32.com/eduke32@170 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
ac14852079
commit
85452ab0d5
1 changed files with 41 additions and 25 deletions
|
@ -4968,46 +4968,62 @@ SHOOTINCODE:
|
||||||
else if ( *kb >= aplWeaponFireDelay[p->curr_weapon][snum] && (*kb) < aplWeaponTotalTime[p->curr_weapon][snum]
|
else if ( *kb >= aplWeaponFireDelay[p->curr_weapon][snum] && (*kb) < aplWeaponTotalTime[p->curr_weapon][snum]
|
||||||
&& ((aplWeaponWorksLike[p->curr_weapon][snum] & KNEE_WEAPON)?1:p->ammo_amount[p->curr_weapon] > 0))
|
&& ((aplWeaponWorksLike[p->curr_weapon][snum] & KNEE_WEAPON)?1:p->ammo_amount[p->curr_weapon] > 0))
|
||||||
{
|
{
|
||||||
if ( aplWeaponFlags[p->curr_weapon][snum] & WEAPON_FLAG_AUTOMATIC)
|
if ( aplWeaponFlags[p->curr_weapon][snum] & WEAPON_FLAG_AUTOMATIC )
|
||||||
{
|
{
|
||||||
if(( sb_snum&(1<<2) ) == 0 )
|
if(!(aplWeaponFlags[p->curr_weapon][snum] & WEAPON_FLAG_SEMIAUTO))
|
||||||
{
|
{
|
||||||
*kb = 0;
|
if(( sb_snum&(1<<2) ) == 0 )
|
||||||
}
|
{
|
||||||
if ( aplWeaponFlags[p->curr_weapon][snum] & WEAPON_FLAG_FIREEVERYTHIRD)
|
*kb = 0;
|
||||||
{
|
}
|
||||||
if( ((*(kb))%3) == 0 )
|
if ( aplWeaponFlags[p->curr_weapon][snum] & WEAPON_FLAG_FIREEVERYTHIRD)
|
||||||
|
{
|
||||||
|
if( ((*(kb))%3) == 0 )
|
||||||
|
{
|
||||||
|
DoFire(p);
|
||||||
|
DoSpawn(p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if( aplWeaponFlags[p->curr_weapon][snum] & WEAPON_FLAG_FIREEVERYOTHER)
|
||||||
{
|
{
|
||||||
DoFire(p);
|
DoFire(p);
|
||||||
DoSpawn(p);
|
DoSpawn(p);
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
else if( aplWeaponFlags[p->curr_weapon][snum] & WEAPON_FLAG_FIREEVERYOTHER)
|
{
|
||||||
{
|
if(*kb == aplWeaponFireDelay[p->curr_weapon][snum])
|
||||||
DoFire(p);
|
{
|
||||||
DoSpawn(p);
|
DoFire(p);
|
||||||
|
DoSpawn(p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(aplWeaponFlags[p->curr_weapon][snum] & WEAPON_FLAG_RESET &&
|
||||||
|
(*kb) > aplWeaponTotalTime[p->curr_weapon][snum]-aplWeaponHoldDelay[p->curr_weapon][snum] &&
|
||||||
|
((aplWeaponWorksLike[p->curr_weapon][snum] & KNEE_WEAPON)?1:p->ammo_amount[p->curr_weapon] > 0))
|
||||||
|
{
|
||||||
|
if( sb_snum&(1<<2) ) *kb = 1;
|
||||||
|
else *kb = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(*kb == aplWeaponFireDelay[p->curr_weapon][snum])
|
if( aplWeaponFlags[p->curr_weapon][snum] & WEAPON_FLAG_FIREEVERYOTHER)
|
||||||
{
|
{
|
||||||
DoFire(p);
|
DoFire(p);
|
||||||
DoSpawn(p);
|
DoSpawn(p);
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
if(aplWeaponFlags[p->curr_weapon][snum] & WEAPON_FLAG_RESET &&
|
{
|
||||||
(*kb) > aplWeaponTotalTime[p->curr_weapon][snum]-aplWeaponHoldDelay[p->curr_weapon][snum] &&
|
if(*kb == aplWeaponFireDelay[p->curr_weapon][snum])
|
||||||
((aplWeaponWorksLike[p->curr_weapon][snum] & KNEE_WEAPON)?1:p->ammo_amount[p->curr_weapon] > 0))
|
{
|
||||||
{
|
DoFire(p);
|
||||||
if( sb_snum&(1<<2) ) *kb = 1;
|
DoSpawn(p);
|
||||||
else *kb = 0;
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else if(*kb == aplWeaponFireDelay[p->curr_weapon][snum])
|
||||||
{
|
DoFire(p);
|
||||||
if(*kb == aplWeaponFireDelay[p->curr_weapon][snum])
|
|
||||||
DoFire(p);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue