Difference between revisions of "Talk:STRAIN"

From DoomWiki.org

(Modern ports or ZDoom based ports?)
m (About the 20 pellets thing)
Line 16: Line 16:
  
 
I don't know who changed that. Is it true, that just ZDoom based ports have problems with S.T.R.A.I.N.?--[[User:Cybdmn|Cybdmn]] 21:14, 20 January 2009 (UTC)
 
I don't know who changed that. Is it true, that just ZDoom based ports have problems with S.T.R.A.I.N.?--[[User:Cybdmn|Cybdmn]] 21:14, 20 January 2009 (UTC)
 +
 +
== Supershotgun pellets ==
 +
In reference to [http://doomwiki.org/w/index.php?title=STRAIN&diff=78921&oldid=69027 this edit]. Just for comparison's sake, [[vanilla Doom]] code:
 +
<pre>
 +
//
 +
// A_FireShotgun
 +
//
 +
void
 +
A_FireShotgun
 +
( player_t* player,
 +
  pspdef_t* psp )
 +
{
 +
    int i;
 +
 +
    S_StartSound (player->mo, sfx_shotgn);
 +
    P_SetMobjState (player->mo, S_PLAY_ATK2);
 +
 +
    player->ammo[weaponinfo[player->readyweapon].ammo]--;
 +
 +
    P_SetPsprite (player,
 +
  ps_flash,
 +
  weaponinfo[player->readyweapon].flashstate);
 +
 +
    P_BulletSlope (player->mo);
 +
 +
    for (i=0 ; i<7 ; i++)
 +
P_GunShot (player->mo, false);
 +
}
 +
 +
 +
 +
//
 +
// A_FireShotgun2
 +
//
 +
void
 +
A_FireShotgun2
 +
( player_t* player,
 +
  pspdef_t* psp )
 +
{
 +
    int i;
 +
    angle_t angle;
 +
    int damage;
 +
 +
 +
    S_StartSound (player->mo, sfx_dshtgn);
 +
    P_SetMobjState (player->mo, S_PLAY_ATK2);
 +
 +
    player->ammo[weaponinfo[player->readyweapon].ammo]-=2;
 +
 +
    P_SetPsprite (player,
 +
  ps_flash,
 +
  weaponinfo[player->readyweapon].flashstate);
 +
 +
    P_BulletSlope (player->mo);
 +
 +
    for (i=0 ; i<20 ; i++)
 +
    {
 +
damage = 5*(P_Random ()%3+1);
 +
angle = player->mo->angle;
 +
angle += (P_Random()-P_Random())<<19;
 +
P_LineAttack (player->mo,
 +
      angle,
 +
      MISSILERANGE,
 +
      bulletslope + ((P_Random()-P_Random())<<5), damage);
 +
    }
 +
}
 +
</pre>
 +
Note how the normal shotgun has this line to control the iterations:
 +
    for (i=0 ; i<7 ; i++)
 +
But the super shotgun has this line:
 +
    for (i=0 ; i<20 ; i++)
 +
Therefore, twenty pellets, not twenty-one. --[[User:Gez|Gez]] 18:10, 23 April 2012 (UTC)

Revision as of 13:10, 23 April 2012

Vote for merging

There was already an article for this PWAD (Strain) on this wiki. Both articles should be merged, perhaps under the title "STRAIN" (since it's the name given in the text file,) as this one doesn't provide anything new about the PWAD apart from a link to the STRAIN DM levels. What do you guys think? The Green Herring 17:56, 22 January 2008 (UTC)

  • Merge. The Green Herring 17:56, 22 January 2008 (UTC)
  • Merge. InsanityBringer 18:03, 22 January 2008 (UTC)
  • Merge, yikes.    Ryan W 18:07, 22 January 2008 (UTC)
  • Merge. Zack 18:09, 22 January 2008 (UTC)
  • Merge if there really is anything in this stub that isn't already in Strain, otherwise Delete, and rename Strain to STRAIN. Fraggle 00:01, 23 January 2008 (UTC)
  • Merge. Nuxius 03:49, 24 January 2008 (UTC)

Merge performed. Can't believe I forgot about this... The Green Herring 08:56, 8 March 2008 (UTC)

What, for six weeks?  I wouldn't worry about that too much.   ;>     Ryan W 21:23, 8 March 2008 (UTC)

Modern ports or ZDoom based ports?

I don't know who changed that. Is it true, that just ZDoom based ports have problems with S.T.R.A.I.N.?--Cybdmn 21:14, 20 January 2009 (UTC)

Supershotgun pellets

In reference to this edit. Just for comparison's sake, vanilla Doom code:

//
// A_FireShotgun
//
void
A_FireShotgun
( player_t*	player,
  pspdef_t*	psp ) 
{
    int		i;
	
    S_StartSound (player->mo, sfx_shotgn);
    P_SetMobjState (player->mo, S_PLAY_ATK2);

    player->ammo[weaponinfo[player->readyweapon].ammo]--;

    P_SetPsprite (player,
		  ps_flash,
		  weaponinfo[player->readyweapon].flashstate);

    P_BulletSlope (player->mo);
	
    for (i=0 ; i<7 ; i++)
	P_GunShot (player->mo, false);
}



//
// A_FireShotgun2
//
void
A_FireShotgun2
( player_t*	player,
  pspdef_t*	psp ) 
{
    int		i;
    angle_t	angle;
    int		damage;
		
	
    S_StartSound (player->mo, sfx_dshtgn);
    P_SetMobjState (player->mo, S_PLAY_ATK2);

    player->ammo[weaponinfo[player->readyweapon].ammo]-=2;

    P_SetPsprite (player,
		  ps_flash,
		  weaponinfo[player->readyweapon].flashstate);

    P_BulletSlope (player->mo);
	
    for (i=0 ; i<20 ; i++)
    {
	damage = 5*(P_Random ()%3+1);
	angle = player->mo->angle;
	angle += (P_Random()-P_Random())<<19;
	P_LineAttack (player->mo,
		      angle,
		      MISSILERANGE,
		      bulletslope + ((P_Random()-P_Random())<<5), damage);
    }
}

Note how the normal shotgun has this line to control the iterations:

    for (i=0 ; i<7 ; i++)

But the super shotgun has this line:

    for (i=0 ; i<20 ; i++)

Therefore, twenty pellets, not twenty-one. --Gez 18:10, 23 April 2012 (UTC)