Emerald fixups

This commit is contained in:
AJ Martinez 2023-05-19 22:51:06 -07:00
parent bfcc453d56
commit cac02bb01a
4 changed files with 21 additions and 5 deletions

View file

@ -197,9 +197,9 @@ mobj_t *K_SpawnChaosEmerald(fixed_t x, fixed_t y, fixed_t z, angle_t angle, SINT
P_Thrust(emerald,
FixedAngle(P_RandomFixed(PR_ITEM_ROULETTE) * 180) + angle,
24 * mapobjectscale);
36 * mapobjectscale);
emerald->momz = flip * 24 * mapobjectscale;
emerald->momz = flip * 36 * mapobjectscale;
if (emerald->eflags & MFE_UNDERWATER)
emerald->momz = (117 * emerald->momz) / 200;
@ -275,6 +275,7 @@ void K_DropEmeraldsFromPlayer(player_t *player, UINT32 emeraldType)
P_SetTarget(&emerald->target, player->mo);
player->emeralds &= ~emeraldFlag;
break; // Drop only one emerald. Emerald wins are hard enough!
}
}
}

View file

@ -11923,7 +11923,7 @@ UINT32 K_PointLimitForGametype(void)
{
if (D_IsPlayerHumanAndGaming(i))
{
ptsCap += 3;
ptsCap += 5;
}
}
}

View file

@ -440,7 +440,13 @@ adjust_monitor_drop
( mobj_t * monitor,
mobj_t * drop)
{
P_InstaThrust(drop, drop->angle, 4*mapobjectscale);
if (drop->type == MT_EMERALD)
{
drop->momz = 0;
drop->angle = 0;
}
P_InstaThrust(drop, drop->angle, 8*mapobjectscale);
drop->momz *= 8;
@ -616,9 +622,15 @@ Obj_MonitorGetDamage
else
{
if (inflictor->type == MT_INSTAWHIP)
{
damage = FRACUNIT/3;
if (K_IsPlayerWanted(inflictor->target->player))
damage = FRACUNIT; // Emerald hunting time!
}
else
{
damage = FRACUNIT; // kill instantly
}
}
return damage;

View file

@ -2258,7 +2258,10 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
if (clash)
{
player->spheres = max(player->spheres - 10, 0);
K_DoPowerClash(target, inflictor);
if (inflictor)
K_DoPowerClash(target, inflictor);
else if (source)
K_DoPowerClash(target, source);
}
// Full invulnerability