turns out this needs its own pickup type (due to op order)
This commit is contained in:
parent
24fed48281
commit
247dd4a437
5 changed files with 12 additions and 6 deletions
|
|
@ -1755,6 +1755,7 @@ struct int_const_s const INT_CONST[] = {
|
|||
{"PICKUPITEM_ITEM", PICKUPITEM_ITEM},
|
||||
{"PICKUPITEM_EGGMAN", PICKUPITEM_EGGMAN},
|
||||
{"PICKUPITEM_FLOATING", PICKUPITEM_FLOATING},
|
||||
{"PICKUPITEM_EGGMINE", PICKUPITEM_EGGMINE},
|
||||
|
||||
// kart_fullturn
|
||||
{"KART_FULLTURN", KART_FULLTURN},
|
||||
|
|
|
|||
|
|
@ -372,7 +372,7 @@ boolean K_EggMineCollide(mobj_t *t1, mobj_t *t2)
|
|||
}
|
||||
else if (t2->type == MT_PLAYER && t1->health > 1)
|
||||
{
|
||||
if (t1->health > 2 && (!P_DamageMobj(t2, t1, t1->target, 1, DMG_FLIPOVER)))
|
||||
if (t1->health > 2 && (P_DamageMobj(t2, t1, t1->target, 1, DMG_FLIPOVER)))
|
||||
{
|
||||
K_DoEggMineStrip(t2, t1, t1->target);
|
||||
S_StartSound(t2, sfx_bsnipe);
|
||||
|
|
@ -555,7 +555,7 @@ boolean K_LandMineCollide(mobj_t *t1, mobj_t *t2)
|
|||
else
|
||||
{
|
||||
// Player Damage
|
||||
if (!P_DamageMobj(t2, t1, t1->target, 1, DMG_FLIPOVER))
|
||||
if (P_DamageMobj(t2, t1, t1->target, 1, DMG_FLIPOVER))
|
||||
{
|
||||
// these can only come from eggmines now
|
||||
K_DoEggMineStrip(t2, t1, t1->target);
|
||||
|
|
|
|||
|
|
@ -2584,7 +2584,7 @@ void K_PlayerItemThink(player_t *player, boolean onground)
|
|||
if (ATTACK_IS_DOWN && !HOLDING_ITEM && NO_HYUDORO
|
||||
&& !player->bricktimer)
|
||||
{
|
||||
S_StartSound(player->mo, sfx_egrbhe);
|
||||
S_StartSound(player->mo, sfx_bckuse);
|
||||
player->bricktimer = stealtime;
|
||||
player->itemamount--;
|
||||
K_BotResetItemConfirm(player, false);
|
||||
|
|
@ -2661,7 +2661,7 @@ void K_DoEggMineStrip(mobj_t *tmo, mobj_t *inflictor, mobj_t *source)
|
|||
(void)source;
|
||||
if (inflictor && (inflictor->type == MT_LANDMINE || inflictor->type == MT_EGGMINE))
|
||||
{
|
||||
if (tmo->player && P_CanPickupItem(tmo->player, PICKUPITEM_EGGMAN))
|
||||
if (tmo->player && P_CanPickupItem(tmo->player, PICKUPITEM_EGGMINE))
|
||||
{
|
||||
S_StartSound(tmo, sfx_egrbhe);
|
||||
K_DropItems(tmo->player);
|
||||
|
|
|
|||
|
|
@ -76,7 +76,11 @@ boolean P_CanPickupItem(player_t *player, UINT8 weapon)
|
|||
if (weapon)
|
||||
{
|
||||
// Item slot already taken up
|
||||
if (weapon == 2)
|
||||
if (weapon == PICKUPITEM_EGGMINE)
|
||||
{
|
||||
return (player->itemtype != KITEM_EGGBRICK || player->itemamount == 0);
|
||||
}
|
||||
else if (weapon == PICKUPITEM_EGGMAN)
|
||||
{
|
||||
// Invulnerable
|
||||
if (player->flashing > 0
|
||||
|
|
@ -107,7 +111,7 @@ boolean P_CanPickupItem(player_t *player, UINT8 weapon)
|
|||
|
||||
// Item slot already taken up
|
||||
if (player->itemroulette
|
||||
|| (weapon != 3 && player->itemamount)
|
||||
|| (weapon != PICKUPITEM_FLOATING && player->itemamount)
|
||||
|| (player->itemflags & IF_ITEMOUT))
|
||||
return false;
|
||||
|
||||
|
|
|
|||
|
|
@ -610,6 +610,7 @@ typedef enum
|
|||
PICKUPITEM_ITEM,
|
||||
PICKUPITEM_EGGMAN,
|
||||
PICKUPITEM_FLOATING,
|
||||
PICKUPITEM_EGGMINE,
|
||||
} pickupitem_e;
|
||||
|
||||
boolean P_CanPickupItem(player_t *player, UINT8 weapon);
|
||||
|
|
|
|||
Loading…
Reference in a new issue