summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/strife/p_enemy.c2
-rw-r--r--src/strife/p_mobj.c16
2 files changed, 12 insertions, 6 deletions
diff --git a/src/strife/p_enemy.c b/src/strife/p_enemy.c
index e62f6bd6..e7de0dbd 100644
--- a/src/strife/p_enemy.c
+++ b/src/strife/p_enemy.c
@@ -2054,7 +2054,7 @@ void A_FireChainShot(mobj_t* actor)
{
S_StartSound(actor, sfx_tend);
- P_SpawnMobj(actor->x, actor->y, actor->z, actor->z);
+ P_SpawnMobj(actor->x, actor->y, actor->z, MT_CHAINSHOT); // haleyjd: fixed type
P_SpawnMobj(actor->x - (actor->momx >> 1),
actor->y - (actor->momy >> 1),
diff --git a/src/strife/p_mobj.c b/src/strife/p_mobj.c
index a40e2e63..70907fb6 100644
--- a/src/strife/p_mobj.c
+++ b/src/strife/p_mobj.c
@@ -1134,16 +1134,22 @@ mobj_t* P_SpawnFacingMissile(mobj_t* source, mobj_t* target, mobjtype_t type)
S_StartSound(th, th->info->seesound);
th->target = source; // where it came from
+ th->angle = source->angle; // haleyjd 09/06/10: fix0red
an = th->angle;
// fuzzy player
if (target->flags & MF_SHADOW)
- an += (P_Random()-P_Random())<<21;
+ {
+ int t = P_Random();
+ an += (t - P_Random()) << 21;
+ }
// villsa [STRIFE] check for heavily transparent things
else if(target->flags & MF_MVIS)
- an += (P_Random()-P_Random())<<22;
+ {
+ int t = P_Random();
+ an += (t - P_Random()) << 22;
+ }
- th->angle = an;
an >>= ANGLETOFINESHIFT;
th->momx = FixedMul (th->info->speed, finecosine[an]);
th->momy = FixedMul (th->info->speed, finesine[an]);
@@ -1250,8 +1256,8 @@ mobj_t* P_SpawnMortar(mobj_t *source, mobjtype_t type)
slope = P_AimLineAttack(source, source->angle, 1024*FRACUNIT);
- th->momx = FixedMul (th->info->speed, finecosine[an]);
- th->momy = FixedMul (th->info->speed, finesine[an]);
+ th->momx = FixedMul(th->info->speed, finecosine[an]);
+ th->momy = FixedMul(th->info->speed, finesine[an]);
th->momz = FixedMul(th->info->speed, slope);
P_CheckMissileSpawn(th);