mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Chaos Emeralds now sparkle
This commit is contained in:
parent
0db31e0fcd
commit
ae5d5abe24
4 changed files with 73 additions and 2 deletions
|
|
@ -6273,6 +6273,14 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
||||||
"S_CHAOSEMERALD2",
|
"S_CHAOSEMERALD2",
|
||||||
"S_CHAOSEMERALD_UNDER",
|
"S_CHAOSEMERALD_UNDER",
|
||||||
|
|
||||||
|
"S_EMERALDSPARK1",
|
||||||
|
"S_EMERALDSPARK2",
|
||||||
|
"S_EMERALDSPARK3",
|
||||||
|
"S_EMERALDSPARK4",
|
||||||
|
"S_EMERALDSPARK5",
|
||||||
|
"S_EMERALDSPARK6",
|
||||||
|
"S_EMERALDSPARK7",
|
||||||
|
|
||||||
// Emerald hunt shards
|
// Emerald hunt shards
|
||||||
"S_SHRD1",
|
"S_SHRD1",
|
||||||
"S_SHRD2",
|
"S_SHRD2",
|
||||||
|
|
@ -9523,6 +9531,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
|
||||||
"MT_BLUEFLAG", // Blue CTF Flag
|
"MT_BLUEFLAG", // Blue CTF Flag
|
||||||
"MT_EMBLEM",
|
"MT_EMBLEM",
|
||||||
"MT_EMERALD",
|
"MT_EMERALD",
|
||||||
|
"MT_EMERALDSPARK",
|
||||||
"MT_EMERHUNT", // Emerald Hunt
|
"MT_EMERHUNT", // Emerald Hunt
|
||||||
"MT_EMERALDSPAWN", // Emerald spawner w/ delay
|
"MT_EMERALDSPAWN", // Emerald spawner w/ delay
|
||||||
|
|
||||||
|
|
|
||||||
40
src/info.c
40
src/info.c
|
|
@ -140,6 +140,7 @@ char sprnames[NUMSPRITES + 1][5] =
|
||||||
"NSTR", // NiGHTS star
|
"NSTR", // NiGHTS star
|
||||||
"EMBM", // Emblem
|
"EMBM", // Emblem
|
||||||
"EMRC", // Chaos Emeralds
|
"EMRC", // Chaos Emeralds
|
||||||
|
"ESPK",
|
||||||
"SHRD", // Emerald Hunt
|
"SHRD", // Emerald Hunt
|
||||||
|
|
||||||
// Interactive Objects
|
// Interactive Objects
|
||||||
|
|
@ -1901,10 +1902,18 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_EMBM, 25, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM26
|
{SPR_EMBM, 25, -1, {NULL}, 0, 0, S_NULL}, // S_EMBLEM26
|
||||||
|
|
||||||
// Chaos Emeralds
|
// Chaos Emeralds
|
||||||
{SPR_EMRC, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_CHAOSEMERALD2}, // S_CHAOSEMERALD1
|
{SPR_EMRC, FF_SEMIBRIGHT, 1, {NULL}, 0, 0, S_CHAOSEMERALD2}, // S_CHAOSEMERALD1
|
||||||
{SPR_EMRC, FF_FULLBRIGHT|FF_TRANSADD, 1, {NULL}, 0, 0, S_CHAOSEMERALD1}, // S_CHAOSEMERALD2
|
{SPR_EMRC, FF_FULLBRIGHT|FF_TRANSADD, 1, {NULL}, 0, 0, S_CHAOSEMERALD1}, // S_CHAOSEMERALD2
|
||||||
{SPR_EMRC, FF_FULLBRIGHT|1, -1, {NULL}, 1, 0, S_NULL}, // S_CHAOSEMERALD_UNDER
|
{SPR_EMRC, FF_FULLBRIGHT|1, -1, {NULL}, 1, 0, S_NULL}, // S_CHAOSEMERALD_UNDER
|
||||||
|
|
||||||
|
{SPR_ESPK, FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_EMERALDSPARK2}, // S_EMERALDSPARK1
|
||||||
|
{SPR_ESPK, FF_FULLBRIGHT|1, 3, {NULL}, 0, 0, S_EMERALDSPARK3}, // S_EMERALDSPARK2
|
||||||
|
{SPR_ESPK, FF_FULLBRIGHT|2, 3, {NULL}, 0, 0, S_EMERALDSPARK4}, // S_EMERALDSPARK3
|
||||||
|
{SPR_ESPK, FF_FULLBRIGHT|3, 3, {NULL}, 0, 0, S_EMERALDSPARK5}, // S_EMERALDSPARK4
|
||||||
|
{SPR_ESPK, FF_FULLBRIGHT|4, 3, {NULL}, 0, 0, S_EMERALDSPARK6}, // S_EMERALDSPARK5
|
||||||
|
{SPR_ESPK, FF_FULLBRIGHT|5, 3, {NULL}, 0, 0, S_EMERALDSPARK7}, // S_EMERALDSPARK6
|
||||||
|
{SPR_ESPK, FF_FULLBRIGHT|6, 3, {NULL}, 0, 0, S_NULL}, // S_EMERALDSPARK7
|
||||||
|
|
||||||
// Emerald hunt shards
|
// Emerald hunt shards
|
||||||
{SPR_SHRD, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SHRD1
|
{SPR_SHRD, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SHRD1
|
||||||
{SPR_SHRD, 1, -1, {NULL}, 0, 0, S_NULL}, // S_SHRD2
|
{SPR_SHRD, 1, -1, {NULL}, 0, 0, S_NULL}, // S_SHRD2
|
||||||
|
|
@ -8248,7 +8257,34 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
16, // mass
|
16, // mass
|
||||||
0, // damage
|
0, // damage
|
||||||
sfx_None, // activesound
|
sfx_None, // activesound
|
||||||
MF_SPECIAL|MF_PICKUPFROMBELOW, // flags
|
MF_SPECIAL|MF_PICKUPFROMBELOW|MF_DONTENCOREMAP, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
|
|
||||||
|
{ // MT_EMERALDSPARK
|
||||||
|
-1, // doomednum
|
||||||
|
S_EMERALDSPARK1,// 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_NULL, // deathstate
|
||||||
|
S_NULL, // xdeathstate
|
||||||
|
sfx_None, // deathsound
|
||||||
|
0, // speed
|
||||||
|
8*FRACUNIT, // radius
|
||||||
|
8*FRACUNIT, // height
|
||||||
|
0, // display offset
|
||||||
|
16, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
|
||||||
S_NULL // raisestate
|
S_NULL // raisestate
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
10
src/info.h
10
src/info.h
|
|
@ -411,6 +411,7 @@ typedef enum sprite
|
||||||
SPR_NSTR, // NiGHTS star
|
SPR_NSTR, // NiGHTS star
|
||||||
SPR_EMBM, // Emblem
|
SPR_EMBM, // Emblem
|
||||||
SPR_EMRC, // Chaos Emeralds
|
SPR_EMRC, // Chaos Emeralds
|
||||||
|
SPR_ESPK,
|
||||||
SPR_SHRD, // Emerald Hunt
|
SPR_SHRD, // Emerald Hunt
|
||||||
|
|
||||||
// Interactive Objects
|
// Interactive Objects
|
||||||
|
|
@ -2120,6 +2121,14 @@ typedef enum state
|
||||||
S_CHAOSEMERALD2,
|
S_CHAOSEMERALD2,
|
||||||
S_CHAOSEMERALD_UNDER,
|
S_CHAOSEMERALD_UNDER,
|
||||||
|
|
||||||
|
S_EMERALDSPARK1,
|
||||||
|
S_EMERALDSPARK2,
|
||||||
|
S_EMERALDSPARK3,
|
||||||
|
S_EMERALDSPARK4,
|
||||||
|
S_EMERALDSPARK5,
|
||||||
|
S_EMERALDSPARK6,
|
||||||
|
S_EMERALDSPARK7,
|
||||||
|
|
||||||
// Emerald hunt shards
|
// Emerald hunt shards
|
||||||
S_SHRD1,
|
S_SHRD1,
|
||||||
S_SHRD2,
|
S_SHRD2,
|
||||||
|
|
@ -5410,6 +5419,7 @@ typedef enum mobj_type
|
||||||
MT_BLUEFLAG, // Blue CTF Flag
|
MT_BLUEFLAG, // Blue CTF Flag
|
||||||
MT_EMBLEM,
|
MT_EMBLEM,
|
||||||
MT_EMERALD,
|
MT_EMERALD,
|
||||||
|
MT_EMERALDSPARK,
|
||||||
MT_EMERHUNT, // Emerald Hunt
|
MT_EMERHUNT, // Emerald Hunt
|
||||||
MT_EMERALDSPAWN, // Emerald spawner w/ delay
|
MT_EMERALDSPAWN, // Emerald spawner w/ delay
|
||||||
|
|
||||||
|
|
|
||||||
16
src/p_mobj.c
16
src/p_mobj.c
|
|
@ -6460,7 +6460,23 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
||||||
break;
|
break;
|
||||||
case MT_EMERALD:
|
case MT_EMERALD:
|
||||||
if (mobj->threshold > 0)
|
if (mobj->threshold > 0)
|
||||||
|
{
|
||||||
mobj->threshold--;
|
mobj->threshold--;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (leveltime % 3 == 0)
|
||||||
|
{
|
||||||
|
mobj_t *sparkle = P_SpawnMobjFromMobj(
|
||||||
|
mobj,
|
||||||
|
P_RandomRange(-48, 48) * FRACUNIT,
|
||||||
|
P_RandomRange(-48, 48) * FRACUNIT,
|
||||||
|
P_RandomRange(0, 64) * FRACUNIT,
|
||||||
|
MT_EMERALDSPARK
|
||||||
|
);
|
||||||
|
|
||||||
|
sparkle->color = mobj->color;
|
||||||
|
sparkle->momz += 8 * mobj->scale * P_MobjFlip(mobj);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case MT_DRIFTEXPLODE:
|
case MT_DRIFTEXPLODE:
|
||||||
if (!mobj->target || !mobj->target->health)
|
if (!mobj->target || !mobj->target->health)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue