mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-11-15 09:11:59 +00:00
D2 Balloon Panic, plus minor, minor touchup to Rusty Rig lamp's light positioning. (Sorry, Drt.)
This commit is contained in:
parent
ffa9289cc6
commit
43bb6749fe
6 changed files with 66 additions and 3 deletions
|
@ -6785,6 +6785,12 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_RUSTYLAMP_ORANGE",
|
||||
"S_RUSTYCHAIN",
|
||||
|
||||
// D2 Balloon Panic
|
||||
"S_BALLOON",
|
||||
"S_BALLOONPOP1",
|
||||
"S_BALLOONPOP2",
|
||||
"S_BALLOONPOP3",
|
||||
|
||||
#ifdef SEENAMES
|
||||
"S_NAMECHECK",
|
||||
#endif
|
||||
|
@ -7451,6 +7457,9 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
|
|||
"MT_RUSTYLAMP_ORANGE",
|
||||
"MT_RUSTYCHAIN",
|
||||
|
||||
// D2 Balloon Panic
|
||||
"MT_BALLOON",
|
||||
|
||||
#ifdef SEENAMES
|
||||
"MT_NAMECHECK",
|
||||
#endif
|
||||
|
|
35
src/info.c
35
src/info.c
|
@ -61,7 +61,7 @@ char sprnames[NUMSPRITES + 1][5] =
|
|||
"DEZL","POKE","AUDI","DECO","DOOD","SNES","GBAS","SPRS","BUZB","CHOM",
|
||||
"SACO","CRAB","SHAD","BRNG","BUMP","FLEN","CLAS","PSHW","ISTA","ISTB",
|
||||
"ARRO","ITEM","ITMO","ITMI","ITMN","WANT","PBOM","RETI","AIDU","KSPK",
|
||||
"LZI1","LZI2","KLIT","MARB","FUFO","RUST","VIEW"
|
||||
"LZI1","LZI2","KLIT","MARB","FUFO","RUST","BLON","VIEW"
|
||||
};
|
||||
|
||||
// Doesn't work with g++, needs actionf_p1 (don't modify this comment)
|
||||
|
@ -3080,6 +3080,12 @@ state_t states[NUMSTATES] =
|
|||
{SPR_RUST, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_RUSTYLAMP_ORANGE
|
||||
{SPR_RUST, 1, -1, {NULL}, 0, 0, S_NULL}, // S_RUSTYCHAIN
|
||||
|
||||
// D2 Balloon Panic
|
||||
{SPR_BLON, FF_ANIMATE, -1, {NULL}, 2, 5, S_BALLOON}, // S_BALLOON
|
||||
{SPR_BLON, FF_ANIMATE|3, 2, {NULL}, 1, 1, S_BALLOONPOP2}, // S_BALLOONPOP1
|
||||
{SPR_NULL, 0, 15*TICRATE, {NULL}, 0, 0, S_BALLOONPOP3}, // S_BALLOONPOP2
|
||||
{SPR_NULL, 0, 0, {A_SpawnFreshCopy}, 0, 0, S_NULL}, // S_BALLOONPOP3
|
||||
|
||||
#ifdef SEENAMES
|
||||
{SPR_NULL, 0, 1, {NULL}, 0, 0, S_NULL}, // S_NAMECHECK
|
||||
#endif
|
||||
|
@ -17414,6 +17420,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_BALLOON
|
||||
462, // doomednum
|
||||
S_BALLOON, // 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_BALLOONPOP1, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_s3k77, // deathsound
|
||||
0, // speed
|
||||
32*FRACUNIT, // radius
|
||||
64*FRACUNIT, // height
|
||||
0, // display offset
|
||||
0, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_SPECIAL|MF_NOGRAVITY|MF_SCENERY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
// ============================================================================================================================//
|
||||
|
||||
#ifdef SEENAMES
|
||||
|
|
11
src/info.h
11
src/info.h
|
@ -659,6 +659,8 @@ typedef enum sprite
|
|||
|
||||
SPR_RUST, // Rusty Rig sprites
|
||||
|
||||
SPR_BLON, // D2 Balloon Panic
|
||||
|
||||
SPR_VIEW, // First person view sprites; this is a sprite so that it can be replaced by a specialized MD2 draw!
|
||||
|
||||
SPR_FIRSTFREESLOT,
|
||||
|
@ -3633,6 +3635,12 @@ typedef enum state
|
|||
S_RUSTYLAMP_ORANGE,
|
||||
S_RUSTYCHAIN,
|
||||
|
||||
// D2 Balloon Panic
|
||||
S_BALLOON,
|
||||
S_BALLOONPOP1,
|
||||
S_BALLOONPOP2,
|
||||
S_BALLOONPOP3,
|
||||
|
||||
#ifdef SEENAMES
|
||||
S_NAMECHECK,
|
||||
#endif
|
||||
|
@ -4316,6 +4324,9 @@ typedef enum mobj_type
|
|||
MT_RUSTYLAMP_ORANGE,
|
||||
MT_RUSTYCHAIN,
|
||||
|
||||
// D2 Balloon Panic
|
||||
MT_BALLOON,
|
||||
|
||||
#ifdef SEENAMES
|
||||
MT_NAMECHECK,
|
||||
#endif
|
||||
|
|
|
@ -10583,4 +10583,6 @@ void A_SpawnFreshCopy(mobj_t *actor)
|
|||
|
||||
if (newObject->info->seesound)
|
||||
S_StartSound(newObject, newObject->info->seesound);
|
||||
|
||||
newObject->color = actor->color; // SRB2Kart
|
||||
}
|
||||
|
|
|
@ -577,7 +577,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
|
|||
special->target->player->kartstuff[k_eggmanblame] = -1;
|
||||
}
|
||||
return;
|
||||
case MT_CDUFO: // SRB2kart
|
||||
case MT_CDUFO: // SRB2kart
|
||||
if (special->fuse || !P_CanPickupItem(player, 1) || (G_BattleGametype() && player->kartstuff[k_bumper] <= 0))
|
||||
return;
|
||||
|
||||
|
@ -591,6 +591,9 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
|
|||
//P_SetTarget(&special->target, toucher);
|
||||
special->fuse = 2*TICRATE;
|
||||
break;
|
||||
case MT_BALLOON: // SRB2kart
|
||||
P_SetObjectMomZ(toucher, 20<<FRACBITS, false);
|
||||
break;
|
||||
|
||||
// ***************************************** //
|
||||
// Rings, coins, spheres, weapon panels, etc //
|
||||
|
|
|
@ -9383,7 +9383,7 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
|
|||
P_SpawnMobj(mobj->x, mobj->y, mobj->z + (29*mobj->scale), MT_MARBLELIGHT);
|
||||
break;
|
||||
case MT_RUSTYLAMP_ORANGE:
|
||||
P_SpawnMobj(mobj->x, mobj->y, mobj->z + (68*mobj->scale), MT_MARBLELIGHT);
|
||||
P_SpawnMobj(mobj->x, mobj->y, mobj->z + (69*mobj->scale), MT_MARBLELIGHT);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -11044,6 +11044,11 @@ ML_NOCLIMB : Direction not controllable
|
|||
case MT_TRAPGOYLELONG:
|
||||
if (mthing->angle >= 360)
|
||||
mobj->tics += 7*(mthing->angle / 360) + 1; // starting delay
|
||||
break;
|
||||
case MT_BALLOON: // SRB2Kart
|
||||
if (mthing->angle < MAXSKINCOLORS && mthing->angle > 0)
|
||||
mobj->color = mthing->angle;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue