mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-01-29 20:50:38 +00:00
Orbinaut
This commit is contained in:
parent
6ddfc904da
commit
f820733d9b
8 changed files with 119 additions and 131 deletions
|
@ -6317,23 +6317,15 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_BANANA_DEAD",
|
||||
|
||||
//{ Orbinaut
|
||||
"S_GREENSHIELD1",
|
||||
"S_GREENSHIELD2",
|
||||
"S_GREENSHIELD3",
|
||||
"S_GREENSHIELD4",
|
||||
"S_GREENSHIELD5",
|
||||
"S_GREENSHIELD6",
|
||||
"S_GREENSHIELD7",
|
||||
"S_GREENSHIELD8",
|
||||
"S_GREENITEM1",
|
||||
"S_GREENITEM2",
|
||||
"S_GREENITEM3",
|
||||
"S_GREENITEM4",
|
||||
"S_GREENITEM5",
|
||||
"S_GREENITEM6",
|
||||
"S_GREENITEM7",
|
||||
"S_GREENITEM8",
|
||||
"S_DEADGREEN",
|
||||
"S_ORBINAUT1",
|
||||
"S_ORBINAUT2",
|
||||
"S_ORBINAUT3",
|
||||
"S_ORBINAUT4",
|
||||
"S_ORBINAUT5",
|
||||
"S_ORBINAUT6",
|
||||
"S_ORBINAUT_SHIELD",
|
||||
"S_ORBINAUT_DEAD",
|
||||
"S_ORBINAUT_SHIELDDEAD",
|
||||
//}
|
||||
//{ Jawz
|
||||
"S_JAWZ1",
|
||||
|
@ -7164,8 +7156,8 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
|
|||
"MT_BANANA",
|
||||
"MT_BANANA_SHIELD", // Banana Stuff
|
||||
|
||||
"MT_GREENSHIELD", // Orbinaut stuff
|
||||
"MT_GREENITEM",
|
||||
"MT_ORBINAUT", // Orbinaut stuff
|
||||
"MT_ORBINAUT_SHIELD",
|
||||
|
||||
"MT_JAWZ", // Jawz stuff
|
||||
"MT_JAWZ_DUD",
|
||||
|
|
90
src/info.c
90
src/info.c
|
@ -56,7 +56,7 @@ char sprnames[NUMSPRITES + 1][5] =
|
|||
"SRBJ","SRBK","SRBL","SRBM","SRBN","SRBO",
|
||||
//SRB2kart Sprites
|
||||
"SPRG","BSPR","RNDM","RPOP","KFRE","KINV","KINF","WIPD","DRIF","DUST",
|
||||
"FITM","BANA","GSHE","JAWZ","SSMN","KRBM","BHOG","BLIG","LIGH","SINK",
|
||||
"FITM","BANA","ORBN","JAWZ","SSMN","KRBM","BHOG","BLIG","LIGH","SINK",
|
||||
"SITR","KBLN","DEZL","POKE","AUDI","DECO","DOOD","SNES","GBAS","SPRS",
|
||||
"BUZB","CHOM","SACO","CRAB","SHAD","BRNG","BUMP","FLEN","CLAS","PSHW",
|
||||
"ARRO","ITEM","ITMI","ITMN","WANT","PBOM","VIEW"
|
||||
|
@ -2638,23 +2638,15 @@ state_t states[NUMSTATES] =
|
|||
{SPR_BANA, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BANANA
|
||||
{SPR_BANA, 1, 175, {NULL}, 0, 0, S_NULL}, // S_BANANA_DEAD
|
||||
|
||||
{SPR_GSHE, 0, 1, {NULL}, 0, 0, S_GREENSHIELD2}, // S_GREENSHIELD1
|
||||
{SPR_GSHE, 1, 1, {NULL}, 0, 0, S_GREENSHIELD3}, // S_GREENSHIELD2
|
||||
{SPR_GSHE, 2, 1, {NULL}, 0, 0, S_GREENSHIELD4}, // S_GREENSHIELD3
|
||||
{SPR_GSHE, 3, 1, {NULL}, 0, 0, S_GREENSHIELD5}, // S_GREENSHIELD4
|
||||
{SPR_GSHE, 4, 1, {NULL}, 0, 0, S_GREENSHIELD6}, // S_GREENSHIELD5
|
||||
{SPR_GSHE, 5, 1, {NULL}, 0, 0, S_GREENSHIELD7}, // S_GREENSHIELD6
|
||||
{SPR_GSHE, 6, 1, {NULL}, 0, 0, S_GREENSHIELD8}, // S_GREENSHIELD7
|
||||
{SPR_GSHE, 7, 1, {NULL}, 0, 0, S_GREENSHIELD1}, // S_GREENSHIELD8
|
||||
{SPR_GSHE, 0, 1, {NULL}, 0, 0, S_GREENITEM2}, // S_GREENITEM1
|
||||
{SPR_GSHE, 1, 1, {NULL}, 0, 0, S_GREENITEM3}, // S_GREENITEM2
|
||||
{SPR_GSHE, 2, 1, {NULL}, 0, 0, S_GREENITEM4}, // S_GREENITEM3
|
||||
{SPR_GSHE, 3, 1, {NULL}, 0, 0, S_GREENITEM5}, // S_GREENITEM4
|
||||
{SPR_GSHE, 4, 1, {NULL}, 0, 0, S_GREENITEM6}, // S_GREENITEM5
|
||||
{SPR_GSHE, 5, 1, {NULL}, 0, 0, S_GREENITEM7}, // S_GREENITEM6
|
||||
{SPR_GSHE, 6, 1, {NULL}, 0, 0, S_GREENITEM8}, // S_GREENITEM7
|
||||
{SPR_GSHE, 7, 1, {NULL}, 0, 0, S_GREENITEM1}, // S_GREENITEM8
|
||||
{SPR_GSHE, 8, 175, {NULL}, 0, 0, S_NULL}, // S_DEADGREEN
|
||||
{SPR_ORBN, 0, 1, {NULL}, 0, 0, S_ORBINAUT2}, // S_ORBINAUT1
|
||||
{SPR_ORBN, 1, 1, {NULL}, 0, 0, S_ORBINAUT3}, // S_ORBINAUT2
|
||||
{SPR_ORBN, 2, 1, {NULL}, 0, 0, S_ORBINAUT4}, // S_ORBINAUT3
|
||||
{SPR_ORBN, 3, 1, {NULL}, 0, 0, S_ORBINAUT5}, // S_ORBINAUT4
|
||||
{SPR_ORBN, 4, 1, {NULL}, 0, 0, S_ORBINAUT6}, // S_ORBINAUT5
|
||||
{SPR_ORBN, 5, 1, {NULL}, 0, 0, S_ORBINAUT1}, // S_ORBINAUT6
|
||||
{SPR_ORBN, 7, 1, {NULL}, 0, 0, S_ORBINAUT_SHIELD}, // S_ORBINAUT_SHIELD
|
||||
{SPR_ORBN, 6, 175, {NULL}, 0, 0, S_NULL}, // S_ORBINAUT_DEAD
|
||||
{SPR_ORBN, 8, 175, {NULL}, 0, 0, S_NULL}, // S_ORBINAUT_SHIELDDEAD
|
||||
|
||||
{SPR_JAWZ, 0, 1, {A_JawzChase}, 0, 0, S_JAWZ2}, // S_JAWZ1
|
||||
{SPR_JAWZ, 4, 1, {A_JawzChase}, 0, 0, S_JAWZ3}, // S_JAWZ2
|
||||
|
@ -14595,7 +14587,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
sfx_None, // deathsound
|
||||
0, // speed
|
||||
10*FRACUNIT, // radius
|
||||
21*FRACUNIT, // height
|
||||
24*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
1, // damage
|
||||
|
@ -14604,36 +14596,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_GREENSHIELD
|
||||
{ // MT_ORBINAUT
|
||||
-1, // doomednum
|
||||
S_GREENSHIELD1, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
8, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_NULL, // painstate
|
||||
0, // painchance
|
||||
sfx_None, // painsound
|
||||
S_NULL, // meleestate
|
||||
S_NULL, // missilestate
|
||||
S_DEADGREEN, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_None, // deathsound
|
||||
10*FRACUNIT, // speed
|
||||
16*FRACUNIT, // radius
|
||||
32*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_SHOOTABLE|MF_NOGRAVITY|MF_SCENERY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_GREENITEM
|
||||
-1, // doomednum
|
||||
S_GREENITEM1, // spawnstate
|
||||
S_ORBINAUT1, // spawnstate
|
||||
7, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_tossed, // seesound
|
||||
|
@ -14644,7 +14609,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
sfx_None, // painsound
|
||||
S_NULL, // meleestate
|
||||
S_NULL, // missilestate
|
||||
S_DEADGREEN, // deathstate
|
||||
S_ORBINAUT_DEAD, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_shbrk, // deathsound
|
||||
64*FRACUNIT, // speed
|
||||
|
@ -14658,6 +14623,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_ORBINAUT_SHIELD
|
||||
-1, // doomednum
|
||||
S_ORBINAUT_SHIELD, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
8, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_NULL, // painstate
|
||||
0, // painchance
|
||||
sfx_None, // painsound
|
||||
S_NULL, // meleestate
|
||||
S_NULL, // missilestate
|
||||
S_ORBINAUT_SHIELDDEAD, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_None, // deathsound
|
||||
10*FRACUNIT, // speed
|
||||
16*FRACUNIT, // radius
|
||||
32*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_SHOOTABLE|MF_NOGRAVITY|MF_SCENERY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_JAWZ
|
||||
-1, // doomednum
|
||||
S_JAWZ1, // spawnstate
|
||||
|
|
34
src/info.h
34
src/info.h
|
@ -591,7 +591,7 @@ typedef enum sprite
|
|||
// Kart Items
|
||||
SPR_FITM, // Eggman Monitor
|
||||
SPR_BANA, // Banana Peel
|
||||
SPR_GSHE, // Orbinaut
|
||||
SPR_ORBN, // Orbinaut
|
||||
SPR_JAWZ, // Jawz
|
||||
SPR_SSMN, // SS Mine
|
||||
SPR_KRBM, // SS Mine BOOM
|
||||
|
@ -3156,23 +3156,15 @@ typedef enum state
|
|||
S_BANANA_DEAD,
|
||||
|
||||
//{ Orbinaut
|
||||
S_GREENSHIELD1,
|
||||
S_GREENSHIELD2,
|
||||
S_GREENSHIELD3,
|
||||
S_GREENSHIELD4,
|
||||
S_GREENSHIELD5,
|
||||
S_GREENSHIELD6,
|
||||
S_GREENSHIELD7,
|
||||
S_GREENSHIELD8,
|
||||
S_GREENITEM1,
|
||||
S_GREENITEM2,
|
||||
S_GREENITEM3,
|
||||
S_GREENITEM4,
|
||||
S_GREENITEM5,
|
||||
S_GREENITEM6,
|
||||
S_GREENITEM7,
|
||||
S_GREENITEM8,
|
||||
S_DEADGREEN,
|
||||
S_ORBINAUT1,
|
||||
S_ORBINAUT2,
|
||||
S_ORBINAUT3,
|
||||
S_ORBINAUT4,
|
||||
S_ORBINAUT5,
|
||||
S_ORBINAUT6,
|
||||
S_ORBINAUT_SHIELD,
|
||||
S_ORBINAUT_DEAD,
|
||||
S_ORBINAUT_SHIELDDEAD,
|
||||
//}
|
||||
//{ Jawz
|
||||
S_JAWZ1,
|
||||
|
@ -4019,9 +4011,9 @@ typedef enum mobj_type
|
|||
|
||||
MT_BANANA, // Banana Stuff
|
||||
MT_BANANA_SHIELD,
|
||||
|
||||
MT_GREENSHIELD, // Orbinaut stuff
|
||||
MT_GREENITEM,
|
||||
|
||||
MT_ORBINAUT, // Orbinaut stuff
|
||||
MT_ORBINAUT_SHIELD,
|
||||
|
||||
MT_JAWZ, // Jawz stuff
|
||||
MT_JAWZ_DUD,
|
||||
|
|
22
src/k_kart.c
22
src/k_kart.c
|
@ -944,8 +944,8 @@ static fixed_t K_GetMobjWeight(mobj_t *mobj, mobj_t *against)
|
|||
else
|
||||
weight = (mobj->player->kartweight)<<FRACBITS;
|
||||
break;
|
||||
case MT_GREENITEM:
|
||||
case MT_GREENSHIELD:
|
||||
case MT_ORBINAUT:
|
||||
case MT_ORBINAUT_SHIELD:
|
||||
if (against->player)
|
||||
weight = (against->player->kartweight)<<FRACBITS;
|
||||
break;
|
||||
|
@ -2039,6 +2039,14 @@ static mobj_t *K_SpawnKartMissile(mobj_t *source, mobjtype_t type, angle_t angle
|
|||
th->momx = FixedMul(finalspeed, FINECOSINE(an>>ANGLETOFINESHIFT));
|
||||
th->momy = FixedMul(finalspeed, FINESINE(an>>ANGLETOFINESHIFT));
|
||||
|
||||
if (type == MT_ORBINAUT)
|
||||
{
|
||||
if (source && source->player)
|
||||
th->color = source->player->skincolor;
|
||||
else
|
||||
th->color = SKINCOLOR_CLOUDY;
|
||||
}
|
||||
|
||||
x = x + P_ReturnThrustX(source, an, source->radius + th->radius);
|
||||
y = y + P_ReturnThrustY(source, an, source->radius + th->radius);
|
||||
throwmo = P_SpawnMobj(x, y, z, MT_FIREDITEM);
|
||||
|
@ -2434,6 +2442,7 @@ static mobj_t *K_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
return mo;
|
||||
}
|
||||
|
||||
|
@ -2697,7 +2706,7 @@ static void K_MoveHeldObjects(player_t *player)
|
|||
|
||||
switch (player->mo->hnext->type)
|
||||
{
|
||||
case MT_GREENSHIELD: // Kart orbit items
|
||||
case MT_ORBINAUT_SHIELD: // Kart orbit items
|
||||
case MT_JAWZ_SHIELD:
|
||||
{
|
||||
mobj_t *cur = player->mo->hnext;
|
||||
|
@ -2715,6 +2724,8 @@ static void K_MoveHeldObjects(player_t *player)
|
|||
continue;
|
||||
}
|
||||
|
||||
cur->color = player->skincolor;
|
||||
|
||||
cur->angle -= ANGLE_90;
|
||||
cur->angle += FixedAngle(cur->info->speed);
|
||||
|
||||
|
@ -3587,11 +3598,12 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
newangle = FixedAngle(((360/player->kartstuff[k_itemamount])*moloop)*FRACUNIT) + ANGLE_90;
|
||||
newx = player->mo->x + P_ReturnThrustX(player->mo, newangle, 64*FRACUNIT);
|
||||
newy = player->mo->y + P_ReturnThrustY(player->mo, newangle, 64*FRACUNIT);
|
||||
mo = P_SpawnMobj(newx, newy, player->mo->z, MT_GREENSHIELD);
|
||||
mo = P_SpawnMobj(newx, newy, player->mo->z, MT_ORBINAUT_SHIELD);
|
||||
mo->angle = newangle;
|
||||
mo->threshold = 10;
|
||||
mo->movecount = player->kartstuff[k_itemamount];
|
||||
mo->movedir = mo->lastlook = moloop+1;
|
||||
mo->color = player->skincolor;
|
||||
P_SetTarget(&mo->target, player->mo);
|
||||
P_SetTarget(&mo->hprev, prev);
|
||||
P_SetTarget(&prev->hnext, mo);
|
||||
|
@ -3600,7 +3612,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
}
|
||||
else if (ATTACK_IS_DOWN && player->kartstuff[k_itemheld]) // Orbinaut x3 thrown
|
||||
{
|
||||
K_ThrowKartItem(player, true, MT_GREENITEM, 1, false);
|
||||
K_ThrowKartItem(player, true, MT_ORBINAUT, 1, false);
|
||||
K_PlayTauntSound(player->mo);
|
||||
player->pflags |= PF_ATTACKDOWN;
|
||||
|
||||
|
|
|
@ -2121,7 +2121,7 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source)
|
|||
|
||||
// SRB2kart
|
||||
if (target->type != MT_PLAYER && !(target->flags & MF_MONITOR)
|
||||
&& !(target->type == MT_GREENITEM || target->type == MT_GREENSHIELD
|
||||
&& !(target->type == MT_ORBINAUT || target->type == MT_ORBINAUT_SHIELD
|
||||
|| target->type == MT_JAWZ || target->type == MT_JAWZ_DUD || target->type == MT_JAWZ_SHIELD
|
||||
|| target->type == MT_BANANA || target->type == MT_BANANA_SHIELD
|
||||
|| target->type == MT_FAKEITEM || target->type == MT_FAKESHIELD
|
||||
|
@ -2165,7 +2165,7 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source)
|
|||
else
|
||||
target->target->player->kartstuff[k_itemamount]--;
|
||||
}
|
||||
else if ((target->type == MT_GREENSHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_ORBINAUT) // orbit items
|
||||
else if ((target->type == MT_ORBINAUT_SHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_ORBINAUT) // orbit items
|
||||
|| (target->type == MT_JAWZ_SHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_JAWZ))
|
||||
{
|
||||
target->target->player->kartstuff[k_itemamount]--;
|
||||
|
@ -3315,7 +3315,7 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
|
|||
return false;
|
||||
else
|
||||
{
|
||||
if (inflictor && (inflictor->type == MT_GREENITEM || inflictor->type == MT_GREENSHIELD
|
||||
if (inflictor && (inflictor->type == MT_ORBINAUT || inflictor->type == MT_ORBINAUT_SHIELD
|
||||
|| inflictor->type == MT_JAWZ || inflictor->type == MT_JAWZ_SHIELD || inflictor->type == MT_JAWZ_DUD
|
||||
|| inflictor->type == MT_FAKEITEM || inflictor->type == MT_FAKESHIELD
|
||||
|| inflictor->player))
|
||||
|
|
42
src/p_map.c
42
src/p_map.c
|
@ -666,8 +666,8 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
|
||||
if (tmthing->type == MT_RANDOMITEM)
|
||||
return true;
|
||||
if (tmthing->type == MT_GREENITEM || tmthing->type == MT_JAWZ || tmthing->type == MT_JAWZ_DUD
|
||||
|| tmthing->type == MT_GREENSHIELD || tmthing->type == MT_JAWZ_SHIELD)
|
||||
if (tmthing->type == MT_ORBINAUT || tmthing->type == MT_JAWZ || tmthing->type == MT_JAWZ_DUD
|
||||
|| tmthing->type == MT_ORBINAUT_SHIELD || tmthing->type == MT_JAWZ_SHIELD)
|
||||
{
|
||||
// see if it went over / under
|
||||
if (tmthing->z > thing->z + thing->height)
|
||||
|
@ -681,13 +681,13 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
if (tmthing->health <= 0 || thing->health <= 0)
|
||||
return true;
|
||||
|
||||
if ((tmthing->type == MT_GREENSHIELD || tmthing->type == MT_JAWZ_SHIELD) && tmthing->lastlook
|
||||
&& (thing->type == MT_GREENSHIELD || thing->type == MT_JAWZ_SHIELD) && thing->lastlook
|
||||
if ((tmthing->type == MT_ORBINAUT_SHIELD || tmthing->type == MT_JAWZ_SHIELD) && tmthing->lastlook
|
||||
&& (thing->type == MT_ORBINAUT_SHIELD || thing->type == MT_JAWZ_SHIELD) && thing->lastlook
|
||||
&& (tmthing->target == thing->target)) // Don't hit each other if you have the same target
|
||||
return true;
|
||||
|
||||
if (thing->player && thing->player->powers[pw_flashing]
|
||||
&& !(tmthing->type == MT_GREENITEM || tmthing->type == MT_JAWZ || tmthing->type == MT_JAWZ_DUD))
|
||||
&& !(tmthing->type == MT_ORBINAUT || tmthing->type == MT_JAWZ || tmthing->type == MT_JAWZ_DUD))
|
||||
return true;
|
||||
|
||||
if (thing->type == MT_PLAYER)
|
||||
|
@ -696,7 +696,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
P_DamageMobj(thing, tmthing, tmthing->target, 1);
|
||||
K_KartBouncing(thing, tmthing, false, false);
|
||||
|
||||
if (tmthing->type == MT_GREENITEM || tmthing->type == MT_JAWZ || tmthing->type == MT_JAWZ_DUD)
|
||||
if (tmthing->type == MT_ORBINAUT || tmthing->type == MT_JAWZ || tmthing->type == MT_JAWZ_DUD)
|
||||
S_StartSound(thing, sfx_shelit);
|
||||
|
||||
// This Item Damage
|
||||
|
@ -711,8 +711,8 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
P_SetObjectMomZ(tmthing, 8*FRACUNIT, false);
|
||||
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT);
|
||||
}
|
||||
else if (thing->type == MT_GREENITEM || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|
||||
|| thing->type == MT_GREENSHIELD || thing->type == MT_JAWZ_SHIELD
|
||||
else if (thing->type == MT_ORBINAUT || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|
||||
|| thing->type == MT_ORBINAUT_SHIELD || thing->type == MT_JAWZ_SHIELD
|
||||
|| thing->type == MT_BANANA || thing->type == MT_BANANA_SHIELD
|
||||
|| thing->type == MT_BALLHOG)
|
||||
{
|
||||
|
@ -744,7 +744,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
}
|
||||
else if (thing->type == MT_FAKEITEM || thing->type == MT_FAKESHIELD)
|
||||
{
|
||||
if (tmthing->type == MT_GREENSHIELD || tmthing->type == MT_JAWZ_SHIELD)
|
||||
if (tmthing->type == MT_ORBINAUT_SHIELD || tmthing->type == MT_JAWZ_SHIELD)
|
||||
{
|
||||
// This Item Damage
|
||||
if (tmthing->eflags & MFE_VERTICALFLIP)
|
||||
|
@ -790,12 +790,12 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
// Bomb death
|
||||
P_KillMobj(thing, tmthing, tmthing);
|
||||
}
|
||||
else if (thing->flags & MF_SPRING && (tmthing->type == MT_JAWZ || tmthing->type == MT_JAWZ_DUD || tmthing->type == MT_GREENITEM))
|
||||
else if (thing->flags & MF_SPRING && (tmthing->type == MT_JAWZ || tmthing->type == MT_JAWZ_DUD || tmthing->type == MT_ORBINAUT))
|
||||
P_DoSpring(thing, tmthing);
|
||||
|
||||
return true;
|
||||
}
|
||||
else if (tmthing->flags & MF_SPRING && (thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD || thing->type == MT_GREENITEM))
|
||||
else if (tmthing->flags & MF_SPRING && (thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD || thing->type == MT_ORBINAUT))
|
||||
{
|
||||
// see if it went over / under
|
||||
if (tmthing->z > thing->z + thing->height)
|
||||
|
@ -904,7 +904,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT);
|
||||
}
|
||||
else if (thing->type == MT_BANANA || thing->type == MT_BANANA_SHIELD
|
||||
|| thing->type == MT_GREENITEM || thing->type == MT_GREENSHIELD
|
||||
|| thing->type == MT_ORBINAUT || thing->type == MT_ORBINAUT_SHIELD
|
||||
|| thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD || thing->type == MT_JAWZ_SHIELD
|
||||
|| thing->type == MT_BALLHOG)
|
||||
{
|
||||
|
@ -984,7 +984,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
if (thing->player && thing->player->powers[pw_flashing])
|
||||
return true;
|
||||
|
||||
if (thing->type == MT_GREENITEM // When these items collide with the fake item, just the fake item is destroyed
|
||||
if (thing->type == MT_ORBINAUT // When these items collide with the fake item, just the fake item is destroyed
|
||||
|| thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|
||||
|| thing->type == MT_SSMINE
|
||||
|| thing->type == MT_BANANA || thing->type == MT_BALLHOG)
|
||||
|
@ -1001,7 +1001,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
P_SetObjectMomZ(tmthing, 8*FRACUNIT, false);
|
||||
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT);
|
||||
}
|
||||
else if (thing->type == MT_GREENSHIELD // When these items collide with the fake item, both of them are destroyed
|
||||
else if (thing->type == MT_ORBINAUT_SHIELD // When these items collide with the fake item, both of them are destroyed
|
||||
|| thing->type == MT_JAWZ_SHIELD
|
||||
|| thing->type == MT_SSMINE_SHIELD
|
||||
|| thing->type == MT_BANANA_SHIELD
|
||||
|
@ -1074,8 +1074,8 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
{
|
||||
P_KillMobj(tmthing, thing, thing);
|
||||
}
|
||||
else if (thing->type == MT_GREENITEM || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|
||||
|| thing->type == MT_GREENSHIELD || thing->type == MT_JAWZ_SHIELD)
|
||||
else if (thing->type == MT_ORBINAUT || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|
||||
|| thing->type == MT_ORBINAUT_SHIELD || thing->type == MT_JAWZ_SHIELD)
|
||||
{
|
||||
P_KillMobj(tmthing, thing, thing);
|
||||
|
||||
|
@ -1095,7 +1095,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
return true;
|
||||
}
|
||||
else if (tmthing->type == MT_PLAYER &&
|
||||
(thing->type == MT_GREENSHIELD || thing->type == MT_GREENITEM
|
||||
(thing->type == MT_ORBINAUT_SHIELD || thing->type == MT_ORBINAUT
|
||||
|| thing->type == MT_JAWZ_SHIELD || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|
||||
|| thing->type == MT_FAKESHIELD || thing->type == MT_FAKEITEM
|
||||
|| thing->type == MT_BANANA_SHIELD || thing->type == MT_BANANA
|
||||
|
@ -1111,11 +1111,11 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
return true; // underneath
|
||||
|
||||
if (tmthing->player && tmthing->player->powers[pw_flashing]
|
||||
&& !(thing->type == MT_GREENITEM || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD))
|
||||
&& !(thing->type == MT_ORBINAUT || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD))
|
||||
return true;
|
||||
|
||||
if (thing->type == MT_GREENSHIELD || thing->type == MT_JAWZ_SHIELD
|
||||
|| thing->type == MT_GREENITEM || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|
||||
if (thing->type == MT_ORBINAUT_SHIELD || thing->type == MT_JAWZ_SHIELD
|
||||
|| thing->type == MT_ORBINAUT || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|
||||
|| thing->type == MT_FAKESHIELD || thing->type == MT_FAKEITEM)
|
||||
{
|
||||
if ((thing->target == tmthing) && (thing->threshold > 0))
|
||||
|
@ -1130,7 +1130,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
|||
if (thing->type != MT_FAKESHIELD && thing->type != MT_FAKEITEM)
|
||||
K_KartBouncing(tmthing, thing, false, false);
|
||||
|
||||
if (thing->type == MT_GREENITEM || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD)
|
||||
if (thing->type == MT_ORBINAUT || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD)
|
||||
S_StartSound(tmthing, sfx_shelit);
|
||||
|
||||
// Other Item Damage
|
||||
|
|
20
src/p_mobj.c
20
src/p_mobj.c
|
@ -1765,7 +1765,7 @@ void P_XYMovement(mobj_t *mo)
|
|||
|
||||
//{ SRB2kart - Orbinaut, Ballhog
|
||||
// Bump sparks
|
||||
if (mo->type == MT_GREENITEM || mo->type == MT_BALLHOG)
|
||||
if (mo->type == MT_ORBINAUT || mo->type == MT_BALLHOG)
|
||||
{
|
||||
mobj_t *fx;
|
||||
fx = P_SpawnMobj(mo->x, mo->y, mo->z, MT_BUMP);
|
||||
|
@ -1776,7 +1776,7 @@ void P_XYMovement(mobj_t *mo)
|
|||
fx->scale = mo->scale;
|
||||
}
|
||||
|
||||
if (mo->type == MT_GREENITEM) // Orbinaut speed decreasing
|
||||
if (mo->type == MT_ORBINAUT) // Orbinaut speed decreasing
|
||||
{
|
||||
if (mo->health > 1)
|
||||
{
|
||||
|
@ -2000,7 +2000,7 @@ void P_XYMovement(mobj_t *mo)
|
|||
#endif
|
||||
|
||||
//{ SRB2kart stuff
|
||||
if (mo->type == MT_GREENITEM || mo->type == MT_JAWZ_DUD || mo->type == MT_JAWZ || mo->type == MT_BALLHOG) //(mo->type == MT_JAWZ && !mo->tracer))
|
||||
if (mo->type == MT_ORBINAUT || mo->type == MT_JAWZ_DUD || mo->type == MT_JAWZ || mo->type == MT_BALLHOG) //(mo->type == MT_JAWZ && !mo->tracer))
|
||||
return;
|
||||
|
||||
if (mo->player && (mo->player->kartstuff[k_spinouttimer] && !mo->player->kartstuff[k_wipeoutslow]) && mo->player->speed <= mo->player->normalspeed/2)
|
||||
|
@ -2332,7 +2332,7 @@ static boolean P_ZMovement(mobj_t *mo)
|
|||
// Shouldn't stop moving along the Z if there's no speed though!
|
||||
case MT_FAKEITEM:
|
||||
case MT_BANANA:
|
||||
case MT_GREENITEM:
|
||||
case MT_ORBINAUT:
|
||||
case MT_JAWZ:
|
||||
case MT_JAWZ_DUD:
|
||||
case MT_BALLHOG:
|
||||
|
@ -6700,13 +6700,13 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
}
|
||||
break;
|
||||
}
|
||||
case MT_GREENSHIELD: // Kart orbit items
|
||||
case MT_ORBINAUT_SHIELD: // Kart orbit items
|
||||
case MT_JAWZ_SHIELD:
|
||||
if (mobj->health > 0 && mobj->target && mobj->target->player
|
||||
&& mobj->target->player->health > 0 && !mobj->target->player->spectator)
|
||||
{
|
||||
// Was this so hard?
|
||||
if ((mobj->type == MT_GREENSHIELD && mobj->target->player->kartstuff[k_itemtype] != KITEM_ORBINAUT)
|
||||
if ((mobj->type == MT_ORBINAUT_SHIELD && mobj->target->player->kartstuff[k_itemtype] != KITEM_ORBINAUT)
|
||||
|| (mobj->type == MT_JAWZ_SHIELD && mobj->target->player->kartstuff[k_itemtype] != KITEM_JAWZ)
|
||||
|| (mobj->movedir > 0 && ((UINT16)mobj->target->player->kartstuff[k_itemamount] < mobj->movedir))
|
||||
|| (!mobj->target->player->kartstuff[k_itemheld]))
|
||||
|
@ -7443,7 +7443,7 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
}
|
||||
break;
|
||||
//{ SRB2kart Items - Death States
|
||||
case MT_GREENITEM:
|
||||
case MT_ORBINAUT:
|
||||
case MT_BANANA:
|
||||
case MT_FAKEITEM:
|
||||
if (mobj->z <= mobj->floorz)
|
||||
|
@ -7952,7 +7952,7 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
mobj->threshold = 0;
|
||||
}
|
||||
break;
|
||||
case MT_GREENITEM:
|
||||
case MT_ORBINAUT:
|
||||
{
|
||||
sector_t *sec2;
|
||||
fixed_t finalspeed = mobj->info->speed;
|
||||
|
@ -9065,8 +9065,8 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
|
|||
//case MT_RANDOMITEM:
|
||||
case MT_BATTLEBUMPER:
|
||||
case MT_BANANA: case MT_BANANA_SHIELD:
|
||||
case MT_FAKEITEM: case MT_FAKESHIELD:
|
||||
case MT_GREENITEM: case MT_GREENSHIELD:
|
||||
//case MT_FAKEITEM: case MT_FAKESHIELD:
|
||||
case MT_ORBINAUT: case MT_ORBINAUT_SHIELD:
|
||||
case MT_JAWZ: case MT_JAWZ_DUD: case MT_JAWZ_SHIELD:
|
||||
case MT_SSMINE: case MT_SSMINE_SHIELD:
|
||||
case MT_BALLHOG: case MT_SINK:
|
||||
|
|
|
@ -852,7 +852,7 @@ void P_DoPlayerPain(player_t *player, mobj_t *source, mobj_t *inflictor)
|
|||
angle_t ang;
|
||||
fixed_t fallbackspeed;
|
||||
|
||||
if (inflictor && (inflictor->type != MT_PLAYER && inflictor->type != MT_GREENITEM && inflictor->type != MT_GREENSHIELD
|
||||
if (inflictor && (inflictor->type != MT_PLAYER && inflictor->type != MT_ORBINAUT && inflictor->type != MT_ORBINAUT_SHIELD
|
||||
&& inflictor->type != MT_JAWZ && inflictor->type != MT_JAWZ_DUD && inflictor->type != MT_JAWZ_SHIELD))
|
||||
{
|
||||
if (player->mo->eflags & MFE_VERTICALFLIP)
|
||||
|
@ -7672,8 +7672,8 @@ void P_NukeEnemies(mobj_t *inflictor, mobj_t *source, fixed_t radius)
|
|||
P_DamageMobj(mo, inflictor, source, 1);
|
||||
|
||||
//{ SRB2kart
|
||||
if (mo->type == MT_GREENITEM || mo->type == MT_JAWZ || mo->type == MT_JAWZ_DUD
|
||||
|| mo->type == MT_GREENSHIELD || mo->type == MT_JAWZ_SHIELD
|
||||
if (mo->type == MT_ORBINAUT || mo->type == MT_JAWZ || mo->type == MT_JAWZ_DUD
|
||||
|| mo->type == MT_ORBINAUT_SHIELD || mo->type == MT_JAWZ_SHIELD
|
||||
|| mo->type == MT_BANANA || mo->type == MT_BANANA_SHIELD
|
||||
|| mo->type == MT_FAKEITEM || mo->type == MT_FAKESHIELD
|
||||
|| mo->type == MT_BALLHOG)
|
||||
|
|
Loading…
Reference in a new issue