mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-03-24 19:52:08 +00:00
Nights Drone mobj and state entries
* New entries: NIGHTSDRONE_MAN, NIGHTSDRONE_SPARKLING * NIGHTSGOAL renamed to NIGHTSDRONE_GOAL * MT_NIGHTSDRONE repurposed as an invisble, no-gravity hitbox
This commit is contained in:
parent
30e4d2cd51
commit
e0e77d873b
4 changed files with 84 additions and 26 deletions
|
@ -5952,8 +5952,8 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_TOAD",
|
||||
|
||||
// Nights-specific stuff
|
||||
"S_NIGHTSDRONE1",
|
||||
"S_NIGHTSDRONE2",
|
||||
"S_NIGHTSDRONE_MAN1",
|
||||
"S_NIGHTSDRONE_MAN2",
|
||||
"S_NIGHTSDRONE_SPARKLING1",
|
||||
"S_NIGHTSDRONE_SPARKLING2",
|
||||
"S_NIGHTSDRONE_SPARKLING3",
|
||||
|
@ -5970,10 +5970,10 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_NIGHTSDRONE_SPARKLING14",
|
||||
"S_NIGHTSDRONE_SPARKLING15",
|
||||
"S_NIGHTSDRONE_SPARKLING16",
|
||||
"S_NIGHTSGOAL1",
|
||||
"S_NIGHTSGOAL2",
|
||||
"S_NIGHTSGOAL3",
|
||||
"S_NIGHTSGOAL4",
|
||||
"S_NIGHTSDRONE_GOAL1",
|
||||
"S_NIGHTSDRONE_GOAL2",
|
||||
"S_NIGHTSDRONE_GOAL3",
|
||||
"S_NIGHTSDRONE_GOAL4",
|
||||
|
||||
"S_NIGHTSPARKLE1",
|
||||
"S_NIGHTSPARKLE2",
|
||||
|
@ -6825,7 +6825,9 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
|
|||
"MT_AXISTRANSFER",
|
||||
"MT_AXISTRANSFERLINE",
|
||||
"MT_NIGHTSDRONE",
|
||||
"MT_NIGHTSGOAL",
|
||||
"MT_NIGHTSDRONE_MAN",
|
||||
"MT_NIGHTSDRONE_SPARKLING",
|
||||
"MT_NIGHTSDRONE_GOAL",
|
||||
"MT_NIGHTSPARKLE",
|
||||
"MT_NIGHTSLOOPHELPER",
|
||||
"MT_NIGHTSBUMPER", // NiGHTS Bumper
|
||||
|
|
74
src/info.c
74
src/info.c
|
@ -3239,8 +3239,8 @@ state_t states[NUMSTATES] =
|
|||
{SPR_TOAD, 0, -1, {NULL}, 0, 0, S_NULL}, // S_TOAD
|
||||
|
||||
// Nights Drone
|
||||
{SPR_NDRN, 0, -1, {NULL}, 0, 0, S_NIGHTSDRONE2}, // S_NIGHTSDRONE1
|
||||
{SPR_NDRN, 0, -1, {NULL}, 0, 0, S_NIGHTSDRONE1}, // S_NIGHTSDRONE2
|
||||
{SPR_NDRN, 0, -1, {NULL}, 0, 0, S_NIGHTSDRONE_MAN2}, // S_NIGHTSDRONE_MAN1
|
||||
{SPR_NDRN, 0, -1, {NULL}, 0, 0, S_NIGHTSDRONE_MAN1}, // S_NIGHTSDRONE_MAN2
|
||||
|
||||
// Sparkling point (RETURN TO THE GOAL, etc)
|
||||
{SPR_IVSP, 0, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING2}, // S_NIGHTSDRONE_SPARKLING1
|
||||
|
@ -3261,10 +3261,10 @@ state_t states[NUMSTATES] =
|
|||
{SPR_IVSP, 30, 1, {A_GhostMe}, 0, 0, S_NIGHTSDRONE_SPARKLING1}, // S_NIGHTSDRONE_SPARKLING16
|
||||
|
||||
// NiGHTS GOAL banner (inside the sparkles!)
|
||||
{SPR_GOAL, 0, 4, {NULL}, 0, 0, S_NIGHTSGOAL2}, // S_NIGHTSGOAL1
|
||||
{SPR_GOAL, 1, 4, {NULL}, 0, 0, S_NIGHTSGOAL3}, // S_NIGHTSGOAL2
|
||||
{SPR_GOAL, 2, 4, {NULL}, 0, 0, S_NIGHTSGOAL4}, // S_NIGHTSGOAL3
|
||||
{SPR_GOAL, 3, 4, {NULL}, 0, 0, S_NIGHTSGOAL1}, // S_NIGHTSGOAL4
|
||||
{SPR_GOAL, 0, 4, {NULL}, 0, 0, S_NIGHTSDRONE_GOAL2}, // S_NIGHTSDRONE_GOAL1
|
||||
{SPR_GOAL, 1, 4, {NULL}, 0, 0, S_NIGHTSDRONE_GOAL3}, // S_NIGHTSDRONE_GOAL2
|
||||
{SPR_GOAL, 2, 4, {NULL}, 0, 0, S_NIGHTSDRONE_GOAL4}, // S_NIGHTSDRONE_GOAL3
|
||||
{SPR_GOAL, 3, 4, {NULL}, 0, 0, S_NIGHTSDRONE_GOAL1}, // S_NIGHTSDRONE_GOAL4
|
||||
|
||||
// Nights Sparkle
|
||||
{SPR_NSPK, FF_FULLBRIGHT, 140, {NULL}, 0, 0, S_NIGHTSPARKLE2}, // S_NIGHTSPARKLE1
|
||||
|
@ -16100,7 +16100,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
|
||||
{ // MT_NIGHTSDRONE
|
||||
1703, // doomednum
|
||||
S_NIGHTSDRONE1, // spawnstate
|
||||
S_INVISIBLE, // spawnstate
|
||||
120, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
|
@ -16125,9 +16125,36 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_NIGHTSGOAL
|
||||
{ // MT_NIGHTSDRONE_MAN
|
||||
-1, // doomednum
|
||||
S_INVISIBLE, // spawnstate
|
||||
120, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
0, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_NULL, // painstate
|
||||
255, // painchance
|
||||
sfx_None, // painsound
|
||||
S_NIGHTSDRONE_MAN1, // meleestate
|
||||
S_NULL, // missilestate
|
||||
S_NULL, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_None, // deathsound
|
||||
0, // speed
|
||||
16*FRACUNIT, // radius
|
||||
56*FRACUNIT, // height
|
||||
1, // display offset
|
||||
1000, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_NIGHTSDRONE_SPARKLING
|
||||
-1, // doomednum
|
||||
S_NIGHTSGOAL1, // spawnstate
|
||||
S_INVISIBLE, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
|
@ -16136,7 +16163,34 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL, // painstate
|
||||
255, // painchance
|
||||
sfx_None, // painsound
|
||||
S_NULL, // meleestate
|
||||
S_NIGHTSDRONE_SPARKLING1, // meleestate
|
||||
S_NULL, // missilestate
|
||||
S_NULL, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
sfx_None, // deathsound
|
||||
0, // speed
|
||||
16*FRACUNIT, // radius
|
||||
56*FRACUNIT, // height
|
||||
1, // display offset
|
||||
1000, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_NIGHTSDRONE_GOAL
|
||||
-1, // doomednum
|
||||
S_INVISIBLE, // spawnstate
|
||||
1000, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
0, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_NULL, // painstate
|
||||
255, // painchance
|
||||
sfx_None, // painsound
|
||||
S_NIGHTSDRONE_GOAL1, // meleestate
|
||||
S_NULL, // missilestate
|
||||
S_NULL, // deathstate
|
||||
S_NULL, // xdeathstate
|
||||
|
|
16
src/info.h
16
src/info.h
|
@ -3305,8 +3305,8 @@ typedef enum state
|
|||
S_TOAD,
|
||||
|
||||
// Nights-specific stuff
|
||||
S_NIGHTSDRONE1,
|
||||
S_NIGHTSDRONE2,
|
||||
S_NIGHTSDRONE_MAN1,
|
||||
S_NIGHTSDRONE_MAN2,
|
||||
S_NIGHTSDRONE_SPARKLING1,
|
||||
S_NIGHTSDRONE_SPARKLING2,
|
||||
S_NIGHTSDRONE_SPARKLING3,
|
||||
|
@ -3323,10 +3323,10 @@ typedef enum state
|
|||
S_NIGHTSDRONE_SPARKLING14,
|
||||
S_NIGHTSDRONE_SPARKLING15,
|
||||
S_NIGHTSDRONE_SPARKLING16,
|
||||
S_NIGHTSGOAL1,
|
||||
S_NIGHTSGOAL2,
|
||||
S_NIGHTSGOAL3,
|
||||
S_NIGHTSGOAL4,
|
||||
S_NIGHTSDRONE_GOAL1,
|
||||
S_NIGHTSDRONE_GOAL2,
|
||||
S_NIGHTSDRONE_GOAL3,
|
||||
S_NIGHTSDRONE_GOAL4,
|
||||
|
||||
S_NIGHTSPARKLE1,
|
||||
S_NIGHTSPARKLE2,
|
||||
|
@ -4198,7 +4198,9 @@ typedef enum mobj_type
|
|||
MT_AXISTRANSFER,
|
||||
MT_AXISTRANSFERLINE,
|
||||
MT_NIGHTSDRONE,
|
||||
MT_NIGHTSGOAL,
|
||||
MT_NIGHTSDRONE_MAN,
|
||||
MT_NIGHTSDRONE_SPARKLING,
|
||||
MT_NIGHTSDRONE_GOAL,
|
||||
MT_NIGHTSPARKLE,
|
||||
MT_NIGHTSLOOPHELPER,
|
||||
MT_NIGHTSBUMPER, // NiGHTS Bumper
|
||||
|
|
|
@ -7848,7 +7848,7 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
|
||||
mobj->flags &= ~MF_NOGRAVITY;
|
||||
mobj->flags2 |= MF2_DONTDRAW;
|
||||
P_SetMobjState(mobj, S_NIGHTSDRONE1);
|
||||
//P_SetMobjState(mobj, S_NIGHTSDRONE);
|
||||
}
|
||||
}
|
||||
// Invisible/bouncing mode.
|
||||
|
@ -7880,7 +7880,7 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
mobj->z += (mobj->spawnpoint->options >> ZSHIFT)<<FRACBITS;
|
||||
|
||||
CONS_Debug(DBG_NIGHTSBASIC, "Adding goal post\n");
|
||||
P_SetTarget(&mobj->target, P_SpawnMobjFromMobj(mobj, 0, 0, FRACUNIT, MT_NIGHTSGOAL));
|
||||
P_SetTarget(&mobj->target, P_SpawnMobjFromMobj(mobj, 0, 0, FRACUNIT, MT_NIGHTSDRONE_GOAL));
|
||||
|
||||
mobj->flags2 &= ~MF2_DONTDRAW;
|
||||
mobj->flags |= MF_NOGRAVITY;
|
||||
|
|
Loading…
Reference in a new issue