Incredibly rudimentary Jawz stuff

This commit is contained in:
TehRealSalt 2018-05-31 20:51:05 -04:00
parent ec65ad380e
commit ddb8e7a8c4
8 changed files with 265 additions and 307 deletions

View file

@ -6301,8 +6301,8 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
//} //}
// Banana // Banana
"S_BANANAITEM", "S_BANANA",
"S_DEADBANANA", "S_BANANA_DEAD",
//{ Orbinaut //{ Orbinaut
"S_GREENSHIELD1", "S_GREENSHIELD1",
@ -6324,23 +6324,9 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_DEADGREEN", "S_DEADGREEN",
//} //}
//{ Jawz //{ Jawz
"S_REDSHIELD1", "S_JAWZ",
"S_REDSHIELD2", "S_JAWZ_SHIELD",
"S_REDSHIELD3", "S_JAWZ_DEAD",
"S_REDSHIELD4",
"S_REDSHIELD5",
"S_REDSHIELD6",
"S_REDSHIELD7",
"S_REDSHIELD8",
"S_REDITEM1",
"S_REDITEM2",
"S_REDITEM3",
"S_REDITEM4",
"S_REDITEM5",
"S_REDITEM6",
"S_REDITEM7",
"S_REDITEM8",
"S_DEADRED",
//} //}
"S_FIRETRAIL1", "S_FIRETRAIL1",
@ -6354,28 +6340,28 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_FIRETRAIL9", "S_FIRETRAIL9",
// Special Stage Mine // Special Stage Mine
"S_MINESHIELD1", "S_SSMINE1",
"S_MINESHIELD2", "S_SSMINE2",
"S_MINEAIR1", "S_SSMINE3",
"S_MINEAIR2", "S_SSMINE4",
"S_MINEDEPLOY1", "S_SSMINE_SHIELD1",
"S_MINEDEPLOY2", "S_SSMINE_SHIELD2",
"S_MINEDEPLOY3", "S_SSMINE_AIR1",
"S_MINEDEPLOY4", "S_SSMINE_AIR2",
"S_MINEDEPLOY5", "S_SSMINE_DEPLOY1",
"S_MINEDEPLOY6", "S_SSMINE_DEPLOY2",
"S_MINEDEPLOY7", "S_SSMINE_DEPLOY3",
"S_MINEDEPLOY8", "S_SSMINE_DEPLOY4",
"S_MINEDEPLOY9", "S_SSMINE_DEPLOY5",
"S_MINEDEPLOY10", "S_SSMINE_DEPLOY6",
"S_MINEDEPLOY11", "S_SSMINE_DEPLOY7",
"S_MINEDEPLOY12", "S_SSMINE_DEPLOY8",
"S_MINEDEPLOY13", "S_SSMINE_DEPLOY9",
"S_MINEITEM1", "S_SSMINE_DEPLOY10",
"S_MINEITEM2", "S_SSMINE_DEPLOY11",
"S_MINEITEM3", "S_SSMINE_DEPLOY12",
"S_MINEITEM4", "S_SSMINE_DEPLOY13",
"S_MINEEXPLODE", "S_SSMINE_EXPLODE",
"S_MINEEXPLOSION1", "S_MINEEXPLOSION1",
"S_MINEEXPLOSION2", "S_MINEEXPLOSION2",
@ -7125,20 +7111,19 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
"MT_FAKESHIELD", "MT_FAKESHIELD",
"MT_FAKEITEM", "MT_FAKEITEM",
"MT_BANANA",
"MT_BANANASHIELD", // Banana Stuff "MT_BANANA_SHIELD", // Banana Stuff
"MT_BANANAITEM",
"MT_GREENSHIELD", // Orbinaut stuff "MT_GREENSHIELD", // Orbinaut stuff
"MT_GREENITEM", "MT_GREENITEM",
"MT_FIRETRAIL", "MT_FIRETRAIL",
"MT_REDSHIELD", // Jawz stuff "MT_JAWZ", // Jawz stuff
"MT_REDITEM", "MT_JAWZ_DUD",
"MT_REDITEMDUD", "MT_JAWZ_SHIELD",
"MT_MINESHIELD", // Special Stage Mine stuff "MT_SSMINE_SHIELD", // Special Stage Mine stuff
"MT_MINEITEM", "MT_SSMINE",
"MT_MINEEXPLOSION", "MT_MINEEXPLOSION",
"MT_MINEEXPLOSIONSOUND", "MT_MINEEXPLOSIONSOUND",

View file

@ -56,7 +56,7 @@ char sprnames[NUMSPRITES + 1][5] =
"SRBJ","SRBK","SRBL","SRBM","SRBN","SRBO", "SRBJ","SRBK","SRBL","SRBM","SRBN","SRBO",
//SRB2kart Sprites //SRB2kart Sprites
"SPRG","BSPR","RNDM","KFRE","KINV","KINF","DRIF","DSMO","FITM","BANA", "SPRG","BSPR","RNDM","KFRE","KINV","KINF","DRIF","DSMO","FITM","BANA",
"GSHE","RSHE","SSMN","KRBM","BLIG","LIGH","SINK","SITR","KBLN","LAKI", "GSHE","JAWZ","SSMN","KRBM","BLIG","LIGH","SINK","SITR","KBLN","LAKI",
"POKE","AUDI","DECO","DOOD","SNES","GBAS","SPRS","BUZB","CHOM","SACO", "POKE","AUDI","DECO","DOOD","SNES","GBAS","SPRS","BUZB","CHOM","SACO",
"CRAB","SHAD","BUMP","FLEN","CLAS","PSHW","ARRO","ITEM","ITMI","ITMN", "CRAB","SHAD","BUMP","FLEN","CLAS","PSHW","ARRO","ITEM","ITMI","ITMN",
"PBOM" "PBOM"
@ -2636,8 +2636,8 @@ state_t states[NUMSTATES] =
{SPR_FITM, 23, 3, {NULL}, 0, 0, S_FAKEITEM1}, // S_FAKEITEM24 // ***** {SPR_FITM, 23, 3, {NULL}, 0, 0, S_FAKEITEM1}, // S_FAKEITEM24 // *****
{SPR_FITM, 24, 175, {NULL}, 0, 0, S_FAKEITEM1}, // S_DEADFAKEITEM {SPR_FITM, 24, 175, {NULL}, 0, 0, S_FAKEITEM1}, // S_DEADFAKEITEM
{SPR_BANA, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BANANAITEM {SPR_BANA, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BANANA
{SPR_BANA, 1, 175, {NULL}, 0, 0, S_NULL}, // S_DEADBANANA {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, 0, 1, {NULL}, 0, 0, S_GREENSHIELD2}, // S_GREENSHIELD1
{SPR_GSHE, 1, 1, {NULL}, 0, 0, S_GREENSHIELD3}, // S_GREENSHIELD2 {SPR_GSHE, 1, 1, {NULL}, 0, 0, S_GREENSHIELD3}, // S_GREENSHIELD2
@ -2657,23 +2657,9 @@ state_t states[NUMSTATES] =
{SPR_GSHE, 7, 1, {NULL}, 0, 0, S_GREENITEM1}, // S_GREENITEM8 {SPR_GSHE, 7, 1, {NULL}, 0, 0, S_GREENITEM1}, // S_GREENITEM8
{SPR_GSHE, 8, 175, {NULL}, 0, 0, S_NULL}, // S_DEADGREEN {SPR_GSHE, 8, 175, {NULL}, 0, 0, S_NULL}, // S_DEADGREEN
{SPR_RSHE, 0, 1, {NULL}, 0, 0, S_REDSHIELD2}, // S_REDSHIELD1 {SPR_JAWZ, 0, 1, {A_JawzChase}, 0, 0, S_JAWZ}, // S_JAWZ
{SPR_RSHE, 1, 1, {NULL}, 0, 0, S_REDSHIELD3}, // S_REDSHIELD2 {SPR_JAWZ, 0, 1, {NULL}, 0, 0, S_JAWZ_SHIELD}, // S_JAWZ_SHIELD
{SPR_RSHE, 2, 1, {NULL}, 0, 0, S_REDSHIELD4}, // S_REDSHIELD3 {SPR_JAWZ, 0, 0, {NULL}, 0, 0, S_NULL}, // S_JAWZ_DEAD
{SPR_RSHE, 3, 1, {NULL}, 0, 0, S_REDSHIELD5}, // S_REDSHIELD4
{SPR_RSHE, 4, 1, {NULL}, 0, 0, S_REDSHIELD6}, // S_REDSHIELD5
{SPR_RSHE, 5, 1, {NULL}, 0, 0, S_REDSHIELD7}, // S_REDSHIELD6
{SPR_RSHE, 6, 1, {NULL}, 0, 0, S_REDSHIELD8}, // S_REDSHIELD7
{SPR_RSHE, 7, 1, {NULL}, 0, 0, S_REDSHIELD1}, // S_REDSHIELD8
{SPR_RSHE, 0, 1, {A_JawzChase}, 0, 0, S_REDITEM2}, // S_REDITEM1
{SPR_RSHE, 1, 1, {A_JawzChase}, 0, 0, S_REDITEM3}, // S_REDITEM2
{SPR_RSHE, 2, 1, {A_JawzChase}, 0, 0, S_REDITEM4}, // S_REDITEM3
{SPR_RSHE, 3, 1, {A_JawzChase}, 0, 0, S_REDITEM5}, // S_REDITEM4
{SPR_RSHE, 4, 1, {A_JawzChase}, 0, 0, S_REDITEM6}, // S_REDITEM5
{SPR_RSHE, 5, 1, {A_JawzChase}, 0, 0, S_REDITEM7}, // S_REDITEM6
{SPR_RSHE, 6, 1, {A_JawzChase}, 0, 0, S_REDITEM8}, // S_REDITEM7
{SPR_RSHE, 7, 1, {A_JawzChase}, 0, 0, S_REDITEM1}, // S_REDITEM8
{SPR_RSHE, 8, 175, {NULL}, 0, 0, S_NULL}, // S_DEADRED
{SPR_FBLL, 13, 3, {NULL}, 0, 0, S_FIRETRAIL2}, // S_FIRETRAIL1 {SPR_FBLL, 13, 3, {NULL}, 0, 0, S_FIRETRAIL2}, // S_FIRETRAIL1
{SPR_FBLL, 14, 3, {NULL}, 0, 0, S_FIRETRAIL3}, // S_FIRETRAIL2 {SPR_FBLL, 14, 3, {NULL}, 0, 0, S_FIRETRAIL3}, // S_FIRETRAIL2
@ -2685,28 +2671,28 @@ state_t states[NUMSTATES] =
{SPR_FBLL, 20, 3, {NULL}, 0, 0, S_FIRETRAIL9}, // S_FIRETRAIL8 {SPR_FBLL, 20, 3, {NULL}, 0, 0, S_FIRETRAIL9}, // S_FIRETRAIL8
{SPR_FBLL, 21, 3, {NULL}, 0, 0, S_NULL}, // S_FIRETRAIL9 {SPR_FBLL, 21, 3, {NULL}, 0, 0, S_NULL}, // S_FIRETRAIL9
{SPR_SSMN, 4, 1, {NULL}, 0, 0, S_MINESHIELD2}, // S_MINESHIELD1 {SPR_SSMN, 0, 30, {NULL}, 0, 0, S_SSMINE2}, // S_SSMINE1
{SPR_SSMN, 5, 1, {NULL}, 0, 0, S_MINESHIELD1}, // S_MINESHIELD2 {SPR_SSMN, 3, 3, {NULL}, 0, 0, S_SSMINE3}, // S_SSMINE2
{SPR_SSMN, 4, 1, {NULL}, 0, 0, S_MINEAIR2}, // S_MINEAIR1 {SPR_SSMN, 2, 3, {NULL}, 0, 0, S_SSMINE4}, // S_SSMINE3
{SPR_SSMN, 5, 1, {NULL}, 0, 0, S_MINEAIR1}, // S_MINEAIR2 {SPR_SSMN, 1, 3, {NULL}, 0, 0, S_SSMINE1}, // S_SSMINE4
{SPR_SSMN, 6, 3, {NULL}, 0, 0, S_MINEDEPLOY2}, // S_MINEDEPLOY1 {SPR_SSMN, 4, 1, {NULL}, 0, 0, S_SSMINE_SHIELD2}, // S_SSMINE_SHIELD1
{SPR_SSMN, 7, 5, {NULL}, 0, 0, S_MINEDEPLOY3}, // S_MINEDEPLOY2 {SPR_SSMN, 5, 1, {NULL}, 0, 0, S_SSMINE_SHIELD1}, // S_SSMINE_SHIELD2
{SPR_SSMN, 8, 7, {NULL}, 0, 0, S_MINEDEPLOY4}, // S_MINEDEPLOY3 {SPR_SSMN, 4, 1, {NULL}, 0, 0, S_SSMINE_AIR2}, // S_SSMINE_AIR1
{SPR_SSMN, 9, 1, {NULL}, 0, 0, S_MINEDEPLOY5}, // S_MINEDEPLOY4 {SPR_SSMN, 5, 1, {NULL}, 0, 0, S_SSMINE_AIR1}, // S_SSMINE_AIR2
{SPR_SSMN, 10, 1, {NULL}, 0, 0, S_MINEDEPLOY6}, // S_MINEDEPLOY5 {SPR_SSMN, 6, 3, {NULL}, 0, 0, S_SSMINE_DEPLOY2}, // S_SSMINE_DEPLOY1
{SPR_SSMN, 9, 1, {NULL}, 0, 0, S_MINEDEPLOY7}, // S_MINEDEPLOY6 {SPR_SSMN, 7, 5, {NULL}, 0, 0, S_SSMINE_DEPLOY3}, // S_SSMINE_DEPLOY2
{SPR_SSMN, 10, 3, {NULL}, 0, 0, S_MINEDEPLOY8}, // S_MINEDEPLOY7 {SPR_SSMN, 8, 7, {NULL}, 0, 0, S_SSMINE_DEPLOY4}, // S_SSMINE_DEPLOY3
{SPR_SSMN, 11, 1, {NULL}, 0, 0, S_MINEDEPLOY9}, // S_MINEDEPLOY8 {SPR_SSMN, 9, 1, {NULL}, 0, 0, S_SSMINE_DEPLOY5}, // S_SSMINE_DEPLOY4
{SPR_SSMN, 10, 1, {NULL}, 0, 0, S_MINEDEPLOY10}, // S_MINEDEPLOY9 {SPR_SSMN, 10, 1, {NULL}, 0, 0, S_SSMINE_DEPLOY6}, // S_SSMINE_DEPLOY5
{SPR_SSMN, 11, 3, {NULL}, 0, 0, S_MINEDEPLOY11}, // S_MINEDEPLOY10 {SPR_SSMN, 9, 1, {NULL}, 0, 0, S_SSMINE_DEPLOY7}, // S_SSMINE_DEPLOY6
{SPR_SSMN, 12, 3, {NULL}, 0, 0, S_MINEDEPLOY12}, // S_MINEDEPLOY11 {SPR_SSMN, 10, 3, {NULL}, 0, 0, S_SSMINE_DEPLOY8}, // S_SSMINE_DEPLOY7
{SPR_SSMN, 13, 3, {NULL}, 0, 0, S_MINEDEPLOY13}, // S_MINEDEPLOY12 {SPR_SSMN, 11, 1, {NULL}, 0, 0, S_SSMINE_DEPLOY9}, // S_SSMINE_DEPLOY8
{SPR_SSMN, 14, 3, {NULL}, 0, 0, S_MINEITEM1}, // S_MINEDEPLOY13 {SPR_SSMN, 10, 1, {NULL}, 0, 0, S_SSMINE_DEPLOY10}, // S_SSMINE_DEPLOY9
{SPR_SSMN, 0, 30, {NULL}, 0, 0, S_MINEITEM2}, // S_MINEITEM1 {SPR_SSMN, 11, 3, {NULL}, 0, 0, S_SSMINE_DEPLOY11}, // S_SSMINE_DEPLOY10
{SPR_SSMN, 3, 3, {NULL}, 0, 0, S_MINEITEM3}, // S_MINEITEM2 {SPR_SSMN, 12, 3, {NULL}, 0, 0, S_SSMINE_DEPLOY12}, // S_SSMINE_DEPLOY11
{SPR_SSMN, 2, 3, {NULL}, 0, 0, S_MINEITEM4}, // S_MINEITEM3 {SPR_SSMN, 13, 3, {NULL}, 0, 0, S_SSMINE_DEPLOY13}, // S_SSMINE_DEPLOY12
{SPR_SSMN, 1, 3, {NULL}, 0, 0, S_MINEITEM1}, // S_MINEITEM4 {SPR_SSMN, 14, 3, {NULL}, 0, 0, S_SSMINE1}, // S_SSMINE_DEPLOY13
{SPR_SSMN, 3, 1, {A_MineExplode}, MT_MINEEXPLOSION, 0, S_NULL}, // S_MINEEXPLODE {SPR_SSMN, 3, 1, {A_MineExplode}, MT_MINEEXPLOSION, 0, S_NULL}, // S_SSMINE_EXPLODE
{SPR_NULL, 0, 6, {NULL}, 0, 0, S_MINEEXPLOSION2}, // S_MINEEXPLOSION1 {SPR_NULL, 0, 6, {NULL}, 0, 0, S_MINEEXPLOSION2}, // S_MINEEXPLOSION1
{SPR_NULL, 1, 22, {A_ForceStop}, 0, 0, S_NULL}, // S_MINEEXPLOSION2 {SPR_NULL, 1, 22, {A_ForceStop}, 0, 0, S_NULL}, // S_MINEEXPLOSION2
@ -14471,36 +14457,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_BANANASHIELD { // MT_BANANA
-1, // doomednum -1, // doomednum
S_BANANAITEM, // spawnstate S_BANANA, // 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_DEADBANANA, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // 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_BANANAITEM
-1, // doomednum
S_BANANAITEM, // spawnstate
2, // spawnhealth 2, // spawnhealth
S_NULL, // seestate S_NULL, // seestate
sfx_tossed, // seesound sfx_tossed, // seesound
@ -14511,7 +14470,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
sfx_None, // painsound sfx_None, // painsound
S_NULL, // meleestate S_NULL, // meleestate
S_NULL, // missilestate S_NULL, // missilestate
S_DEADBANANA, // deathstate S_BANANA_DEAD, // deathstate
S_NULL, // xdeathstate S_NULL, // xdeathstate
sfx_None, // deathsound sfx_None, // deathsound
0, // speed 0, // speed
@ -14525,6 +14484,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_BANANA_SHIELD
-1, // doomednum
S_BANANA, // 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_BANANA_DEAD, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // 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_GREENSHIELD { // MT_GREENSHIELD
-1, // doomednum -1, // doomednum
S_GREENSHIELD1, // spawnstate S_GREENSHIELD1, // spawnstate
@ -14606,36 +14592,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_REDSHIELD { // MT_JAWZ
-1, // doomednum -1, // doomednum
S_REDSHIELD1, // spawnstate S_JAWZ, // 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_DEADRED, // 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_REDITEM
-1, // doomednum
S_REDITEM1, // spawnstate
1, // spawnhealth 1, // spawnhealth
S_NULL, // seestate S_NULL, // seestate
sfx_tossed, // seesound sfx_tossed, // seesound
@ -14646,7 +14605,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
sfx_None, // painsound sfx_None, // painsound
S_NULL, // meleestate S_NULL, // meleestate
S_NULL, // missilestate S_NULL, // missilestate
S_DEADRED, // deathstate S_JAWZ_DEAD, // deathstate
S_NULL, // xdeathstate S_NULL, // xdeathstate
sfx_shbrk, // deathsound sfx_shbrk, // deathsound
7*FRACUNIT, // speed 7*FRACUNIT, // speed
@ -14660,9 +14619,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_REDITEMDUD { // MT_JAWZ_DUD
-1, // doomednum -1, // doomednum
S_REDITEM1, // spawnstate S_JAWZ, // spawnstate
1, // spawnhealth 1, // spawnhealth
S_NULL, // seestate S_NULL, // seestate
sfx_tossed, // seesound sfx_tossed, // seesound
@ -14673,7 +14632,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
sfx_None, // painsound sfx_None, // painsound
S_NULL, // meleestate S_NULL, // meleestate
S_NULL, // missilestate S_NULL, // missilestate
S_DEADRED, // deathstate S_JAWZ_DEAD, // deathstate
S_NULL, // xdeathstate S_NULL, // xdeathstate
sfx_shbrk, // deathsound sfx_shbrk, // deathsound
56*FRACUNIT, // speed 56*FRACUNIT, // speed
@ -14687,20 +14646,20 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_MINESHIELD { // MT_JAWZ_SHIELD
-1, // doomednum -1, // doomednum
S_MINESHIELD1, // spawnstate S_JAWZ_SHIELD, // spawnstate
1000, // spawnhealth 1000, // spawnhealth
S_NULL, // seestate S_NULL, // seestate
sfx_None, // seesound sfx_None, // seesound
8, // reactiontime 8, // reactiontime
sfx_None, // attacksound sfx_None, // attacksound
S_NULL, // painstate S_NULL, // painstate
320*FRACUNIT, // painchance 0, // painchance
sfx_None, // painsound sfx_None, // painsound
S_NULL, // meleestate S_NULL, // meleestate
S_NULL, // missilestate S_NULL, // missilestate
S_MINEEXPLODE, // deathstate S_JAWZ_DEAD, // deathstate
S_NULL, // xdeathstate S_NULL, // xdeathstate
sfx_None, // deathsound sfx_None, // deathsound
10*FRACUNIT, // speed 10*FRACUNIT, // speed
@ -14714,9 +14673,9 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_MINEITEM { // MT_SSMINE
-1, // doomednum -1, // doomednum
S_MINEAIR1, // spawnstate S_SSMINE_AIR1, // spawnstate
1, // spawnhealth 1, // spawnhealth
S_NULL, // seestate S_NULL, // seestate
sfx_tossed, // seesound sfx_tossed, // seesound
@ -14727,7 +14686,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
sfx_None, // painsound sfx_None, // painsound
S_NULL, // meleestate S_NULL, // meleestate
S_NULL, // missilestate S_NULL, // missilestate
S_MINEEXPLODE, // deathstate S_SSMINE_EXPLODE, // deathstate
S_NULL, // xdeathstate S_NULL, // xdeathstate
sfx_None, // deathsound sfx_None, // deathsound
0, // speed 0, // speed
@ -14741,6 +14700,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_SSMINE_SHIELD
-1, // doomednum
S_SSMINE_SHIELD1, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
320*FRACUNIT, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_SSMINE_EXPLODE, // 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_MINEEXPLOSION { // MT_MINEEXPLOSION
-1, // doomednum -1, // doomednum
S_MINEEXPLOSION1, // spawnstate S_MINEEXPLOSION1, // spawnstate
@ -14916,7 +14902,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
sfx_None, // painsound sfx_None, // painsound
S_NULL, // meleestate S_NULL, // meleestate
S_NULL, // missilestate S_NULL, // missilestate
S_MINEEXPLODE, // deathstate S_SSMINE_EXPLODE, // deathstate
S_NULL, // xdeathstate S_NULL, // xdeathstate
sfx_None, // deathsound sfx_None, // deathsound
0, // speed 0, // speed

View file

@ -589,7 +589,7 @@ typedef enum sprite
SPR_FITM, // Eggman Monitor SPR_FITM, // Eggman Monitor
SPR_BANA, // Banana Peel SPR_BANA, // Banana Peel
SPR_GSHE, // Orbinaut SPR_GSHE, // Orbinaut
SPR_RSHE, // Jawz SPR_JAWZ, // Jawz
SPR_SSMN, // SS Mine SPR_SSMN, // SS Mine
SPR_KRBM, // SS Mine BOOM SPR_KRBM, // SS Mine BOOM
SPR_BLIG, // Self-Propelled Bomb SPR_BLIG, // Self-Propelled Bomb
@ -3144,8 +3144,8 @@ typedef enum state
//} //}
// Banana // Banana
S_BANANAITEM, S_BANANA,
S_DEADBANANA, S_BANANA_DEAD,
//{ Orbinaut //{ Orbinaut
S_GREENSHIELD1, S_GREENSHIELD1,
@ -3167,23 +3167,9 @@ typedef enum state
S_DEADGREEN, S_DEADGREEN,
//} //}
//{ Jawz //{ Jawz
S_REDSHIELD1, S_JAWZ,
S_REDSHIELD2, S_JAWZ_SHIELD,
S_REDSHIELD3, S_JAWZ_DEAD,
S_REDSHIELD4,
S_REDSHIELD5,
S_REDSHIELD6,
S_REDSHIELD7,
S_REDSHIELD8,
S_REDITEM1,
S_REDITEM2,
S_REDITEM3,
S_REDITEM4,
S_REDITEM5,
S_REDITEM6,
S_REDITEM7,
S_REDITEM8,
S_DEADRED,
//} //}
S_FIRETRAIL1, S_FIRETRAIL1,
@ -3197,28 +3183,28 @@ typedef enum state
S_FIRETRAIL9, S_FIRETRAIL9,
// Special Stage Mine // Special Stage Mine
S_MINESHIELD1, S_SSMINE1,
S_MINESHIELD2, S_SSMINE2,
S_MINEAIR1, S_SSMINE3,
S_MINEAIR2, S_SSMINE4,
S_MINEDEPLOY1, S_SSMINE_SHIELD1,
S_MINEDEPLOY2, S_SSMINE_SHIELD2,
S_MINEDEPLOY3, S_SSMINE_AIR1,
S_MINEDEPLOY4, S_SSMINE_AIR2,
S_MINEDEPLOY5, S_SSMINE_DEPLOY1,
S_MINEDEPLOY6, S_SSMINE_DEPLOY2,
S_MINEDEPLOY7, S_SSMINE_DEPLOY3,
S_MINEDEPLOY8, S_SSMINE_DEPLOY4,
S_MINEDEPLOY9, S_SSMINE_DEPLOY5,
S_MINEDEPLOY10, S_SSMINE_DEPLOY6,
S_MINEDEPLOY11, S_SSMINE_DEPLOY7,
S_MINEDEPLOY12, S_SSMINE_DEPLOY8,
S_MINEDEPLOY13, S_SSMINE_DEPLOY9,
S_MINEITEM1, S_SSMINE_DEPLOY10,
S_MINEITEM2, S_SSMINE_DEPLOY11,
S_MINEITEM3, S_SSMINE_DEPLOY12,
S_MINEITEM4, S_SSMINE_DEPLOY13,
S_MINEEXPLODE, S_SSMINE_EXPLODE,
S_MINEEXPLOSION1, S_MINEEXPLOSION1,
S_MINEEXPLOSION2, S_MINEEXPLOSION2,
@ -3985,19 +3971,19 @@ typedef enum mobj_type
MT_FAKESHIELD, MT_FAKESHIELD,
MT_FAKEITEM, MT_FAKEITEM,
MT_BANANASHIELD, // Banana Stuff MT_BANANA, // Banana Stuff
MT_BANANAITEM, MT_BANANA_SHIELD,
MT_GREENSHIELD, // Orbinaut stuff MT_GREENSHIELD, // Orbinaut stuff
MT_GREENITEM, MT_GREENITEM,
MT_FIRETRAIL, MT_FIRETRAIL,
MT_REDSHIELD, // Jawz stuff MT_JAWZ, // Jawz stuff
MT_REDITEM, MT_JAWZ_DUD,
MT_REDITEMDUD, MT_JAWZ_SHIELD,
MT_MINESHIELD, // Mine stuff MT_SSMINE, // Mine stuff
MT_MINEITEM, MT_SSMINE_SHIELD,
MT_MINEEXPLOSION, MT_MINEEXPLOSION,
MT_MINEEXPLOSIONSOUND, MT_MINEEXPLOSIONSOUND,

View file

@ -2781,7 +2781,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
newangle = player->mo->angle; newangle = player->mo->angle;
newx = player->mo->x + P_ReturnThrustX(player->mo, newangle + ANGLE_180, 64*FRACUNIT); newx = player->mo->x + P_ReturnThrustX(player->mo, newangle + ANGLE_180, 64*FRACUNIT);
newy = player->mo->y + P_ReturnThrustY(player->mo, newangle + ANGLE_180, 64*FRACUNIT); newy = player->mo->y + P_ReturnThrustY(player->mo, newangle + ANGLE_180, 64*FRACUNIT);
mo = P_SpawnMobj(newx, newy, player->mo->z, MT_BANANASHIELD); mo = P_SpawnMobj(newx, newy, player->mo->z, MT_BANANA_SHIELD);
mo->threshold = 10; mo->threshold = 10;
if (mo) if (mo)
P_SetTarget(&mo->target, player->mo); P_SetTarget(&mo->target, player->mo);
@ -2804,7 +2804,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
newangle = player->mo->angle; newangle = player->mo->angle;
newx = player->mo->x + P_ReturnThrustX(player->mo, newangle + ANGLE_180, 64*FRACUNIT); newx = player->mo->x + P_ReturnThrustX(player->mo, newangle + ANGLE_180, 64*FRACUNIT);
newy = player->mo->y + P_ReturnThrustY(player->mo, newangle + ANGLE_180, 64*FRACUNIT); newy = player->mo->y + P_ReturnThrustY(player->mo, newangle + ANGLE_180, 64*FRACUNIT);
mo = P_SpawnMobj(newx, newy, player->mo->z, MT_BANANASHIELD); mo = P_SpawnMobj(newx, newy, player->mo->z, MT_BANANA_SHIELD);
if (mo) if (mo)
{ {
@ -2818,14 +2818,14 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
} }
else if (!(cmd->buttons & BT_ATTACK) && player->kartstuff[k_itemheld] == 1) else if (!(cmd->buttons & BT_ATTACK) && player->kartstuff[k_itemheld] == 1)
{ {
K_ThrowKartItem(player, false, MT_BANANAITEM, -1, false); K_ThrowKartItem(player, false, MT_BANANA, -1, false);
K_PlayTauntSound(player->mo); K_PlayTauntSound(player->mo);
player->kartstuff[k_itemamount]--; player->kartstuff[k_itemamount]--;
player->kartstuff[k_itemheld] = 0; player->kartstuff[k_itemheld] = 0;
} }
else if (ATTACK_IS_DOWN && player->kartstuff[k_itemheld] == 2) // Banana x3 thrown else if (ATTACK_IS_DOWN && player->kartstuff[k_itemheld] == 2) // Banana x3 thrown
{ {
K_ThrowKartItem(player, false, MT_BANANAITEM, -1,false ); K_ThrowKartItem(player, false, MT_BANANA, -1,false );
K_PlayTauntSound(player->mo); K_PlayTauntSound(player->mo);
player->pflags |= PF_ATTACKDOWN; player->pflags |= PF_ATTACKDOWN;
player->kartstuff[k_itemamount]--; player->kartstuff[k_itemamount]--;
@ -2937,7 +2937,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
newangle = player->mo->angle; newangle = player->mo->angle;
newx = player->mo->x + P_ReturnThrustX(player->mo, newangle + ANGLE_180, 64*FRACUNIT); newx = player->mo->x + P_ReturnThrustX(player->mo, newangle + ANGLE_180, 64*FRACUNIT);
newy = player->mo->y + P_ReturnThrustY(player->mo, newangle + ANGLE_180, 64*FRACUNIT); newy = player->mo->y + P_ReturnThrustY(player->mo, newangle + ANGLE_180, 64*FRACUNIT);
mo = P_SpawnMobj(newx, newy, player->mo->z, MT_REDSHIELD); mo = P_SpawnMobj(newx, newy, player->mo->z, MT_JAWZ_SHIELD);
mo->threshold = 10; mo->threshold = 10;
if (mo) if (mo)
P_SetTarget(&mo->target, player->mo); P_SetTarget(&mo->target, player->mo);
@ -2960,7 +2960,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
newangle = player->mo->angle; newangle = player->mo->angle;
newx = player->mo->x + P_ReturnThrustX(player->mo, newangle + ANGLE_180, 64*FRACUNIT); newx = player->mo->x + P_ReturnThrustX(player->mo, newangle + ANGLE_180, 64*FRACUNIT);
newy = player->mo->y + P_ReturnThrustY(player->mo, newangle + ANGLE_180, 64*FRACUNIT); newy = player->mo->y + P_ReturnThrustY(player->mo, newangle + ANGLE_180, 64*FRACUNIT);
mo = P_SpawnMobj(newx, newy, player->mo->z, MT_REDSHIELD); mo = P_SpawnMobj(newx, newy, player->mo->z, MT_JAWZ_SHIELD);
if (mo) if (mo)
{ {
mo->threshold = 10; mo->threshold = 10;
@ -2976,17 +2976,17 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
player->kartstuff[k_itemamount]--; player->kartstuff[k_itemamount]--;
player->kartstuff[k_itemheld] = 0; player->kartstuff[k_itemheld] = 0;
if (player->kartstuff[k_throwdir] == 1 || player->kartstuff[k_throwdir] == 0) if (player->kartstuff[k_throwdir] == 1 || player->kartstuff[k_throwdir] == 0)
K_ThrowKartItem(player, true, MT_REDITEM, 1, false); K_ThrowKartItem(player, true, MT_JAWZ, 1, false);
else if (player->kartstuff[k_throwdir] == -1) // Throwing backward gives you a dud that doesn't home in else if (player->kartstuff[k_throwdir] == -1) // Throwing backward gives you a dud that doesn't home in
K_ThrowKartItem(player, true, MT_REDITEMDUD, -1, false); K_ThrowKartItem(player, true, MT_JAWZ_DUD, -1, false);
K_PlayTauntSound(player->mo); K_PlayTauntSound(player->mo);
} }
else if (ATTACK_IS_DOWN && HOLDING_ITEM && player->kartstuff[k_itemheld] == 2) // Jawz x2 thrown else if (ATTACK_IS_DOWN && HOLDING_ITEM && player->kartstuff[k_itemheld] == 2) // Jawz x2 thrown
{ {
if (player->kartstuff[k_throwdir] == 1 || player->kartstuff[k_throwdir] == 0) if (player->kartstuff[k_throwdir] == 1 || player->kartstuff[k_throwdir] == 0)
K_ThrowKartItem(player, true, MT_REDITEM, 1, false); K_ThrowKartItem(player, true, MT_JAWZ, 1, false);
else if (player->kartstuff[k_throwdir] == -1) // Throwing backward gives you a dud that doesn't home in else if (player->kartstuff[k_throwdir] == -1) // Throwing backward gives you a dud that doesn't home in
K_ThrowKartItem(player, true, MT_REDITEMDUD, -1, false); K_ThrowKartItem(player, true, MT_JAWZ_DUD, -1, false);
K_PlayTauntSound(player->mo); K_PlayTauntSound(player->mo);
player->pflags |= PF_ATTACKDOWN; player->pflags |= PF_ATTACKDOWN;
player->kartstuff[k_itemamount]--; player->kartstuff[k_itemamount]--;
@ -3006,14 +3006,14 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
newangle = player->mo->angle; newangle = player->mo->angle;
newx = player->mo->x + P_ReturnThrustX(player->mo, newangle + ANGLE_180, 64*FRACUNIT); newx = player->mo->x + P_ReturnThrustX(player->mo, newangle + ANGLE_180, 64*FRACUNIT);
newy = player->mo->y + P_ReturnThrustY(player->mo, newangle + ANGLE_180, 64*FRACUNIT); newy = player->mo->y + P_ReturnThrustY(player->mo, newangle + ANGLE_180, 64*FRACUNIT);
mo = P_SpawnMobj(newx, newy, player->mo->z, MT_MINESHIELD); mo = P_SpawnMobj(newx, newy, player->mo->z, MT_SSMINE_SHIELD);
mo->threshold = 10; mo->threshold = 10;
if (mo) if (mo)
P_SetTarget(&mo->target, player->mo); P_SetTarget(&mo->target, player->mo);
} }
else if (!(cmd->buttons & BT_ATTACK) && HOLDING_ITEM) else if (!(cmd->buttons & BT_ATTACK) && HOLDING_ITEM)
{ {
K_ThrowKartItem(player, false, MT_MINEITEM, 1, true); K_ThrowKartItem(player, false, MT_SSMINE, 1, true);
K_PlayTauntSound(player->mo); K_PlayTauntSound(player->mo);
player->kartstuff[k_itemamount]--; player->kartstuff[k_itemamount]--;
player->kartstuff[k_itemheld] = 0; player->kartstuff[k_itemheld] = 0;

View file

@ -2013,9 +2013,9 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source)
if ((target->target->player->kartstuff[k_itemheld]) if ((target->target->player->kartstuff[k_itemheld])
&& ((target->type == MT_GREENSHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_ORBINAUT) && ((target->type == MT_GREENSHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_ORBINAUT)
|| (target->type == MT_REDSHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_JAWZ) || (target->type == MT_JAWZ_SHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_JAWZ)
|| (target->type == MT_BANANASHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_BANANA) || (target->type == MT_BANANA_SHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_BANANA)
|| (target->type == MT_MINESHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_MINE))) || (target->type == MT_SSMINE_SHIELD && target->target->player->kartstuff[k_itemtype] == KITEM_MINE)))
{ {
if (target->lastlook > 0) if (target->lastlook > 0)
target->target->player->kartstuff[k_itemamount] = target->lastlook-1; target->target->player->kartstuff[k_itemamount] = target->lastlook-1;
@ -2036,8 +2036,8 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source)
// SRB2kart // SRB2kart
if (target->type != MT_PLAYER && !(target->flags & MF_MONITOR) if (target->type != MT_PLAYER && !(target->flags & MF_MONITOR)
&& !(target->type == MT_GREENITEM || target->type == MT_GREENSHIELD && !(target->type == MT_GREENITEM || target->type == MT_GREENSHIELD
|| target->type == MT_REDITEM || target->type == MT_REDITEMDUD || target->type == MT_REDSHIELD || target->type == MT_JAWZ || target->type == MT_JAWZ_DUD || target->type == MT_JAWZ_SHIELD
|| target->type == MT_BANANAITEM || target->type == MT_BANANASHIELD || target->type == MT_BANANA || target->type == MT_BANANA_SHIELD
|| target->type == MT_FAKEITEM || target->type == MT_FAKESHIELD || target->type == MT_FAKEITEM || target->type == MT_FAKESHIELD
|| target->type == MT_FIREBALL)) // kart dead items || target->type == MT_FIREBALL)) // kart dead items
target->flags |= MF_NOGRAVITY; // Don't drop Tails 03-08-2000 target->flags |= MF_NOGRAVITY; // Don't drop Tails 03-08-2000
@ -3167,7 +3167,7 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
else else
{ {
if (inflictor && (inflictor->type == MT_GREENITEM || inflictor->type == MT_GREENSHIELD if (inflictor && (inflictor->type == MT_GREENITEM || inflictor->type == MT_GREENSHIELD
|| inflictor->type == MT_REDITEM || inflictor->type == MT_REDSHIELD || inflictor->type == MT_REDITEMDUD || inflictor->type == MT_JAWZ || inflictor->type == MT_JAWZ_SHIELD || inflictor->type == MT_JAWZ_DUD
|| inflictor->type == MT_FAKEITEM || inflictor->type == MT_FAKESHIELD || inflictor->type == MT_FAKEITEM || inflictor->type == MT_FAKESHIELD
|| inflictor->player)) || inflictor->player))
{ {

View file

@ -655,8 +655,8 @@ static boolean PIT_CheckThing(mobj_t *thing)
if (tmthing->type == MT_RANDOMITEM) if (tmthing->type == MT_RANDOMITEM)
return true; return true;
if (tmthing->type == MT_GREENITEM || tmthing->type == MT_REDITEM || tmthing->type == MT_REDITEMDUD if (tmthing->type == MT_GREENITEM || tmthing->type == MT_JAWZ || tmthing->type == MT_JAWZ_DUD
|| tmthing->type == MT_GREENSHIELD || tmthing->type == MT_REDSHIELD) || tmthing->type == MT_GREENSHIELD || tmthing->type == MT_JAWZ_SHIELD)
{ {
// see if it went over / under // see if it went over / under
if (tmthing->z > thing->z + thing->height) if (tmthing->z > thing->z + thing->height)
@ -670,13 +670,13 @@ static boolean PIT_CheckThing(mobj_t *thing)
if (tmthing->health <= 0 || thing->health <= 0) if (tmthing->health <= 0 || thing->health <= 0)
return true; return true;
if ((tmthing->type == MT_GREENSHIELD || tmthing->type == MT_REDSHIELD) && tmthing->lastlook if ((tmthing->type == MT_GREENSHIELD || tmthing->type == MT_JAWZ_SHIELD) && tmthing->lastlook
&& (thing->type == MT_GREENSHIELD || thing->type == MT_REDSHIELD) && thing->lastlook && (thing->type == MT_GREENSHIELD || thing->type == MT_JAWZ_SHIELD) && thing->lastlook
&& (tmthing->target == thing->target)) // Don't hit each other if you have the same target && (tmthing->target == thing->target)) // Don't hit each other if you have the same target
return true; return true;
if (thing->player && thing->player->powers[pw_flashing] if (thing->player && thing->player->powers[pw_flashing]
&& !(tmthing->type == MT_GREENITEM || tmthing->type == MT_REDITEM || tmthing->type == MT_REDITEMDUD)) && !(tmthing->type == MT_GREENITEM || tmthing->type == MT_JAWZ || tmthing->type == MT_JAWZ_DUD))
return true; return true;
if (thing->type == MT_PLAYER) if (thing->type == MT_PLAYER)
@ -684,7 +684,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
// Player Damage // Player Damage
P_DamageMobj(thing, tmthing, tmthing->target, 1); P_DamageMobj(thing, tmthing, tmthing->target, 1);
if (tmthing->type == MT_GREENITEM || tmthing->type == MT_REDITEM || tmthing->type == MT_REDITEMDUD) if (tmthing->type == MT_GREENITEM || tmthing->type == MT_JAWZ || tmthing->type == MT_JAWZ_DUD)
S_StartSound(thing, sfx_shelit); S_StartSound(thing, sfx_shelit);
// This Item Damage // This Item Damage
@ -699,9 +699,9 @@ static boolean PIT_CheckThing(mobj_t *thing)
P_SetObjectMomZ(tmthing, 8*FRACUNIT, false); P_SetObjectMomZ(tmthing, 8*FRACUNIT, false);
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT); 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_REDITEM || thing->type == MT_REDITEMDUD else if (thing->type == MT_GREENITEM || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|| thing->type == MT_GREENSHIELD || thing->type == MT_REDSHIELD || thing->type == MT_GREENSHIELD || thing->type == MT_JAWZ_SHIELD
|| thing->type == MT_BANANAITEM || thing->type == MT_BANANASHIELD || thing->type == MT_BANANA || thing->type == MT_BANANA_SHIELD
|| thing->type == MT_FIREBALL) || thing->type == MT_FIREBALL)
{ {
// Other Item Damage // Other Item Damage
@ -732,7 +732,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
} }
else if (thing->type == MT_FAKEITEM || thing->type == MT_FAKESHIELD) else if (thing->type == MT_FAKEITEM || thing->type == MT_FAKESHIELD)
{ {
if (tmthing->type == MT_GREENSHIELD || tmthing->type == MT_REDSHIELD) if (tmthing->type == MT_GREENSHIELD || tmthing->type == MT_JAWZ_SHIELD)
{ {
// This Item Damage // This Item Damage
if (tmthing->eflags & MFE_VERTICALFLIP) if (tmthing->eflags & MFE_VERTICALFLIP)
@ -761,7 +761,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
P_SetObjectMomZ(thing, 8*FRACUNIT, false); P_SetObjectMomZ(thing, 8*FRACUNIT, false);
P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT); P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT);
} }
else if (thing->type == MT_MINESHIELD || thing->type == MT_MINEITEM) else if (thing->type == MT_SSMINE_SHIELD || thing->type == MT_SSMINE)
{ {
// This Item Damage // This Item Damage
if (tmthing->eflags & MFE_VERTICALFLIP) if (tmthing->eflags & MFE_VERTICALFLIP)
@ -778,12 +778,12 @@ static boolean PIT_CheckThing(mobj_t *thing)
// Bomb death // Bomb death
P_KillMobj(thing, tmthing, tmthing); P_KillMobj(thing, tmthing, tmthing);
} }
else if (thing->flags & MF_SPRING && (tmthing->type == MT_REDITEM || tmthing->type == MT_REDITEMDUD || tmthing->type == MT_GREENITEM)) else if (thing->flags & MF_SPRING && (tmthing->type == MT_JAWZ || tmthing->type == MT_JAWZ_DUD || tmthing->type == MT_GREENITEM))
P_DoSpring(thing, tmthing); P_DoSpring(thing, tmthing);
return true; return true;
} }
else if (tmthing->flags & MF_SPRING && (thing->type == MT_REDITEM || thing->type == MT_REDITEMDUD || thing->type == MT_GREENITEM)) else if (tmthing->flags & MF_SPRING && (thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD || thing->type == MT_GREENITEM))
{ {
// see if it went over / under // see if it went over / under
if (tmthing->z > thing->z + thing->height) if (tmthing->z > thing->z + thing->height)
@ -849,7 +849,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
return true; // This doesn't collide with anything, but we want it to effect the player anyway. return true; // This doesn't collide with anything, but we want it to effect the player anyway.
} }
else if (tmthing->type == MT_BANANASHIELD || tmthing->type == MT_BANANAITEM else if (tmthing->type == MT_BANANA_SHIELD || tmthing->type == MT_BANANA
|| tmthing->type == MT_FIREBALL) || tmthing->type == MT_FIREBALL)
{ {
// see if it went over / under // see if it went over / under
@ -864,7 +864,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
if (tmthing->health <= 0 || thing->health <= 0) if (tmthing->health <= 0 || thing->health <= 0)
return true; return true;
if (((tmthing->type == MT_BANANASHIELD) && (thing->type == MT_BANANASHIELD)) if (((tmthing->type == MT_BANANA_SHIELD) && (thing->type == MT_BANANA_SHIELD))
&& (tmthing->target == thing->target)) // Don't hit each other if you have the same target && (tmthing->target == thing->target)) // Don't hit each other if you have the same target
return true; return true;
@ -891,9 +891,9 @@ static boolean PIT_CheckThing(mobj_t *thing)
P_SetObjectMomZ(tmthing, 8*FRACUNIT, false); P_SetObjectMomZ(tmthing, 8*FRACUNIT, false);
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT); P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT);
} }
else if (thing->type == MT_BANANAITEM || thing->type == MT_BANANASHIELD else if (thing->type == MT_BANANA || thing->type == MT_BANANA_SHIELD
|| thing->type == MT_GREENITEM || thing->type == MT_GREENSHIELD || thing->type == MT_GREENITEM || thing->type == MT_GREENSHIELD
|| thing->type == MT_REDITEM || thing->type == MT_REDITEMDUD || thing->type == MT_REDSHIELD || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD || thing->type == MT_JAWZ_SHIELD
|| thing->type == MT_FIREBALL) || thing->type == MT_FIREBALL)
{ {
// Other Item Damage // Other Item Damage
@ -924,7 +924,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
} }
else if (thing->type == MT_FAKEITEM || thing->type == MT_FAKESHIELD) else if (thing->type == MT_FAKEITEM || thing->type == MT_FAKESHIELD)
{ {
if (tmthing->type == MT_BANANASHIELD) if (tmthing->type == MT_BANANA_SHIELD)
{ {
// This Item Damage // This Item Damage
if (tmthing->eflags & MFE_VERTICALFLIP) if (tmthing->eflags & MFE_VERTICALFLIP)
@ -973,9 +973,9 @@ static boolean PIT_CheckThing(mobj_t *thing)
return true; 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_GREENITEM // When these items collide with the fake item, just the fake item is destroyed
|| thing->type == MT_REDITEM || thing->type == MT_REDITEMDUD || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|| thing->type == MT_MINEITEM || thing->type == MT_SSMINE
|| thing->type == MT_BANANAITEM || thing->type == MT_FIREBALL) || thing->type == MT_BANANA || thing->type == MT_FIREBALL)
{ {
// This Item Damage // This Item Damage
if (tmthing->eflags & MFE_VERTICALFLIP) if (tmthing->eflags & MFE_VERTICALFLIP)
@ -990,9 +990,9 @@ static boolean PIT_CheckThing(mobj_t *thing)
P_InstaThrust(tmthing, R_PointToAngle2(thing->x, thing->y, tmthing->x, tmthing->y)+ANGLE_90, 16*FRACUNIT); 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_GREENSHIELD // When these items collide with the fake item, both of them are destroyed
|| thing->type == MT_REDSHIELD || thing->type == MT_JAWZ_SHIELD
|| thing->type == MT_MINESHIELD || thing->type == MT_SSMINE_SHIELD
|| thing->type == MT_BANANASHIELD || thing->type == MT_BANANA_SHIELD
|| thing->type == MT_FAKEITEM || thing->type == MT_FAKESHIELD) || thing->type == MT_FAKEITEM || thing->type == MT_FAKESHIELD)
{ {
// Other Item Damage // Other Item Damage
@ -1041,7 +1041,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
return true; return true;
} }
else if (tmthing->type == MT_MINESHIELD || tmthing->type == MT_MINEITEM) else if (tmthing->type == MT_SSMINE_SHIELD || tmthing->type == MT_SSMINE)
{ {
// see if it went over / under // see if it went over / under
if (tmthing->z > thing->z + thing->height) if (tmthing->z > thing->z + thing->height)
@ -1062,8 +1062,8 @@ static boolean PIT_CheckThing(mobj_t *thing)
{ {
P_KillMobj(tmthing, thing, thing); P_KillMobj(tmthing, thing, thing);
} }
else if (thing->type == MT_GREENITEM || thing->type == MT_REDITEM || thing->type == MT_REDITEMDUD else if (thing->type == MT_GREENITEM || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|| thing->type == MT_GREENSHIELD || thing->type == MT_REDSHIELD) || thing->type == MT_GREENSHIELD || thing->type == MT_JAWZ_SHIELD)
{ {
P_KillMobj(tmthing, thing, thing); P_KillMobj(tmthing, thing, thing);
@ -1084,10 +1084,10 @@ static boolean PIT_CheckThing(mobj_t *thing)
} }
else if (tmthing->type == MT_PLAYER && else if (tmthing->type == MT_PLAYER &&
(thing->type == MT_GREENSHIELD || thing->type == MT_GREENITEM (thing->type == MT_GREENSHIELD || thing->type == MT_GREENITEM
|| thing->type == MT_REDSHIELD || thing->type == MT_REDITEM || thing->type == MT_REDITEMDUD || 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_FAKESHIELD || thing->type == MT_FAKEITEM
|| thing->type == MT_BANANASHIELD || thing->type == MT_BANANAITEM || thing->type == MT_BANANA_SHIELD || thing->type == MT_BANANA
|| thing->type == MT_MINESHIELD || thing->type == MT_MINEITEM || thing->type == MT_SSMINE_SHIELD || thing->type == MT_SSMINE
|| thing->type == MT_MINEEXPLOSION || thing->type == MT_MINEEXPLOSION
|| thing->type == MT_SINK || thing->type == MT_FIREBALL || thing->type == MT_SINK || thing->type == MT_FIREBALL
)) ))
@ -1099,11 +1099,11 @@ static boolean PIT_CheckThing(mobj_t *thing)
return true; // underneath return true; // underneath
if (tmthing->player && tmthing->player->powers[pw_flashing] if (tmthing->player && tmthing->player->powers[pw_flashing]
&& !(thing->type == MT_GREENITEM || thing->type == MT_REDITEM || thing->type == MT_REDITEMDUD)) && !(thing->type == MT_GREENITEM || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD))
return true; return true;
if (thing->type == MT_GREENSHIELD || thing->type == MT_REDSHIELD if (thing->type == MT_GREENSHIELD || thing->type == MT_JAWZ_SHIELD
|| thing->type == MT_GREENITEM || thing->type == MT_REDITEM || thing->type == MT_REDITEMDUD || thing->type == MT_GREENITEM || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD
|| thing->type == MT_FAKESHIELD || thing->type == MT_FAKEITEM) || thing->type == MT_FAKESHIELD || thing->type == MT_FAKEITEM)
{ {
if ((thing->target == tmthing) && (thing->threshold > 0)) if ((thing->target == tmthing) && (thing->threshold > 0))
@ -1115,7 +1115,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
// Player Damage // Player Damage
P_DamageMobj(tmthing, thing, thing->target, 1); P_DamageMobj(tmthing, thing, thing->target, 1);
if (thing->type == MT_GREENITEM || thing->type == MT_REDITEM || thing->type == MT_REDITEMDUD) if (thing->type == MT_GREENITEM || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD)
S_StartSound(tmthing, sfx_shelit); S_StartSound(tmthing, sfx_shelit);
// Other Item Damage // Other Item Damage
@ -1130,7 +1130,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
P_SetObjectMomZ(thing, 8*FRACUNIT, false); P_SetObjectMomZ(thing, 8*FRACUNIT, false);
P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT); P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT);
} }
else if (thing->type == MT_BANANASHIELD || thing->type == MT_BANANAITEM else if (thing->type == MT_BANANA_SHIELD || thing->type == MT_BANANA
|| thing->type == MT_FIREBALL) || thing->type == MT_FIREBALL)
{ {
if ((thing->target == tmthing) && (thing->threshold > 0)) if ((thing->target == tmthing) && (thing->threshold > 0))
@ -1154,7 +1154,7 @@ static boolean PIT_CheckThing(mobj_t *thing)
P_SetObjectMomZ(thing, 8*FRACUNIT, false); P_SetObjectMomZ(thing, 8*FRACUNIT, false);
P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT); P_InstaThrust(thing, R_PointToAngle2(tmthing->x, tmthing->y, thing->x, thing->y)+ANGLE_90, 16*FRACUNIT);
} }
else if (thing->type == MT_MINESHIELD || thing->type == MT_MINEITEM) else if (thing->type == MT_SSMINE_SHIELD || thing->type == MT_SSMINE)
{ {
if ((thing->target == tmthing) && (thing->threshold > 0)) if ((thing->target == tmthing) && (thing->threshold > 0))
return true; return true;

View file

@ -1401,9 +1401,9 @@ fixed_t P_GetMobjGravity(mobj_t *mo)
case MT_WATERDROP: case MT_WATERDROP:
gravityadd >>= 1; gravityadd >>= 1;
break; break;
case MT_BANANAITEM: case MT_BANANA:
case MT_FAKEITEM: case MT_FAKEITEM:
case MT_MINEITEM: case MT_SSMINE:
gravityadd = FixedMul(gravityadd, 5*FRACUNIT/2); gravityadd = FixedMul(gravityadd, 5*FRACUNIT/2);
default: default:
break; break;
@ -1743,7 +1743,7 @@ void P_XYMovement(mobj_t *mo)
B_MoveBlocked(player); B_MoveBlocked(player);
} }
//{ SRB2kart - Jawz //{ SRB2kart - Jawz
if (mo->type == MT_REDITEM || mo->type == MT_REDITEMDUD) if (mo->type == MT_JAWZ || mo->type == MT_JAWZ_DUD)
{ {
if (mo->health == 1) if (mo->health == 1)
{ {
@ -1997,7 +1997,7 @@ void P_XYMovement(mobj_t *mo)
#endif #endif
//{ SRB2kart stuff //{ SRB2kart stuff
if (mo->type == MT_GREENITEM || mo->type == MT_REDITEMDUD || mo->type == MT_REDITEM || mo->type == MT_FIREBALL) //(mo->type == MT_REDITEM && !mo->tracer)) if (mo->type == MT_GREENITEM || mo->type == MT_JAWZ_DUD || mo->type == MT_JAWZ || mo->type == MT_FIREBALL) //(mo->type == MT_JAWZ && !mo->tracer))
return; return;
if (mo->player && mo->player->kartstuff[k_spinouttimer] && mo->player->speed <= mo->player->normalspeed/2) if (mo->player && mo->player->kartstuff[k_spinouttimer] && mo->player->speed <= mo->player->normalspeed/2)
@ -2328,10 +2328,10 @@ static boolean P_ZMovement(mobj_t *mo)
// SRB2kart stuff that should die in pits // SRB2kart stuff that should die in pits
// Shouldn't stop moving along the Z if there's no speed though! // Shouldn't stop moving along the Z if there's no speed though!
case MT_FAKEITEM: case MT_FAKEITEM:
case MT_BANANAITEM: case MT_BANANA:
case MT_GREENITEM: case MT_GREENITEM:
case MT_REDITEM: case MT_JAWZ:
case MT_REDITEMDUD: case MT_JAWZ_DUD:
case MT_FIREBALL: case MT_FIREBALL:
// Remove stuff from death pits. // Remove stuff from death pits.
if (P_CheckDeathPitCollide(mo)) if (P_CheckDeathPitCollide(mo))
@ -6642,10 +6642,10 @@ void P_MobjThinker(mobj_t *mobj)
break; break;
} }
case MT_GREENSHIELD: case MT_GREENSHIELD:
case MT_REDSHIELD: case MT_JAWZ_SHIELD:
case MT_BANANASHIELD: case MT_BANANA_SHIELD:
case MT_FAKESHIELD: case MT_FAKESHIELD:
case MT_MINESHIELD: case MT_SSMINE_SHIELD:
if (mobj->health > 0 && mobj->target && mobj->target->player && mobj->target->player->mo if (mobj->health > 0 && mobj->target && mobj->target->player && mobj->target->player->mo
&& mobj->target->player->health > 0 && !mobj->target->player->spectator) && mobj->target->player->health > 0 && !mobj->target->player->spectator)
{ {
@ -6653,11 +6653,11 @@ void P_MobjThinker(mobj_t *mobj)
const fixed_t radius = FixedHypot(mobj->target->radius, mobj->target->radius) + FixedHypot(mobj->radius, mobj->radius); // mobj's distance from its Target, or Radius. const fixed_t radius = FixedHypot(mobj->target->radius, mobj->target->radius) + FixedHypot(mobj->radius, mobj->radius); // mobj's distance from its Target, or Radius.
//mobj->angle += FixedAngle(12*FRACUNIT); // mobj's actual speed. //mobj->angle += FixedAngle(12*FRACUNIT); // mobj's actual speed.
if ((mobj->type == MT_GREENSHIELD || mobj->type == MT_REDSHIELD) && mobj->lastlook > 0) if ((mobj->type == MT_GREENSHIELD || mobj->type == MT_JAWZ_SHIELD) && mobj->lastlook > 0)
mobj->angle += FixedAngle(mobj->info->speed); mobj->angle += FixedAngle(mobj->info->speed);
else if (mobj->type == MT_BANANASHIELD && mobj->lastlook == 2) else if (mobj->type == MT_BANANA_SHIELD && mobj->lastlook == 2)
mobj->angle = (mobj->target->angle + ANGLE_135); mobj->angle = (mobj->target->angle + ANGLE_135);
else if (mobj->type == MT_BANANASHIELD && mobj->lastlook == 3) else if (mobj->type == MT_BANANA_SHIELD && mobj->lastlook == 3)
mobj->angle = (mobj->target->angle + ANGLE_225); mobj->angle = (mobj->target->angle + ANGLE_225);
else else
mobj->angle = (mobj->target->angle + ANGLE_180); mobj->angle = (mobj->target->angle + ANGLE_180);
@ -6714,9 +6714,9 @@ void P_MobjThinker(mobj_t *mobj)
// Was this so hard? // Was this so hard?
if ((mobj->type == MT_GREENSHIELD && mobj->target->player->kartstuff[k_itemtype] != KITEM_ORBINAUT) if ((mobj->type == MT_GREENSHIELD && mobj->target->player->kartstuff[k_itemtype] != KITEM_ORBINAUT)
|| (mobj->type == MT_REDSHIELD && mobj->target->player->kartstuff[k_itemtype] != KITEM_JAWZ) || (mobj->type == MT_JAWZ_SHIELD && mobj->target->player->kartstuff[k_itemtype] != KITEM_JAWZ)
|| (mobj->type == MT_BANANASHIELD && mobj->target->player->kartstuff[k_itemtype] != KITEM_BANANA) || (mobj->type == MT_BANANA_SHIELD && mobj->target->player->kartstuff[k_itemtype] != KITEM_BANANA)
|| (mobj->type == MT_MINESHIELD && mobj->target->player->kartstuff[k_itemtype] != KITEM_MINE) || (mobj->type == MT_SSMINE_SHIELD && mobj->target->player->kartstuff[k_itemtype] != KITEM_MINE)
|| (mobj->type == MT_FAKESHIELD && !mobj->target->player->kartstuff[k_eggmanheld]) || (mobj->type == MT_FAKESHIELD && !mobj->target->player->kartstuff[k_eggmanheld])
|| (mobj->type != MT_FAKESHIELD && !mobj->target->player->kartstuff[k_itemheld]) || (mobj->type != MT_FAKESHIELD && !mobj->target->player->kartstuff[k_itemheld])
|| (mobj->lastlook > 0 && mobj->target->player->kartstuff[k_itemamount] < mobj->lastlook)) || (mobj->lastlook > 0 && mobj->target->player->kartstuff[k_itemamount] < mobj->lastlook))
@ -7335,14 +7335,14 @@ void P_MobjThinker(mobj_t *mobj)
break; break;
//{ SRB2kart Items - Death States //{ SRB2kart Items - Death States
case MT_GREENITEM: case MT_GREENITEM:
case MT_REDITEM: case MT_JAWZ:
case MT_REDITEMDUD: case MT_JAWZ_DUD:
case MT_BANANAITEM: case MT_BANANA:
case MT_FAKEITEM: case MT_FAKEITEM:
if (mobj->z <= mobj->floorz) if (mobj->z <= mobj->floorz)
P_RemoveMobj(mobj); P_RemoveMobj(mobj);
break; break;
case MT_MINEITEM: case MT_SSMINE:
case MT_BLUEEXPLOSION: case MT_BLUEEXPLOSION:
if (mobj->health > -100) if (mobj->health > -100)
{ {
@ -7852,7 +7852,7 @@ void P_MobjThinker(mobj_t *mobj)
else if (gamespeed == 2) else if (gamespeed == 2)
finalspeed = FixedMul(finalspeed, FRACUNIT+FRACUNIT/4); finalspeed = FixedMul(finalspeed, FRACUNIT+FRACUNIT/4);
mobj->angle = R_PointToAngle2(mobj->x, mobj->y, mobj->x+mobj->momx, mobj->y+mobj->momy); mobj->angle = R_PointToAngle2(0, 0, mobj->momx, mobj->momy);
if (mobj->health <= 5) if (mobj->health <= 5)
{ {
INT32 i; INT32 i;
@ -7882,7 +7882,7 @@ void P_MobjThinker(mobj_t *mobj)
S_StartSound(mobj, mobj->info->activesound); S_StartSound(mobj, mobj->info->activesound);
break; break;
} }
case MT_REDITEM: case MT_JAWZ:
{ {
sector_t *sec2; sector_t *sec2;
fixed_t topspeed = 64*FRACUNIT; fixed_t topspeed = 64*FRACUNIT;
@ -7932,7 +7932,8 @@ void P_MobjThinker(mobj_t *mobj)
mobj->friction = 0; mobj->friction = 0;
} }
P_InstaThrust(mobj, R_PointToAngle2(0, 0, mobj->momx, mobj->momy), topspeed); mobj->angle = R_PointToAngle2(0, 0, mobj->momx, mobj->momy);
P_InstaThrust(mobj, mobj->angle, topspeed);
sec2 = P_ThingOnSpecial3DFloor(mobj); sec2 = P_ThingOnSpecial3DFloor(mobj);
if ((sec2 && GETSECSPECIAL(sec2->special, 3) == 1) if ((sec2 && GETSECSPECIAL(sec2->special, 3) == 1)
@ -7942,12 +7943,12 @@ void P_MobjThinker(mobj_t *mobj)
break; break;
} }
case MT_REDITEMDUD: case MT_JAWZ_DUD:
{ {
sector_t *sec2; sector_t *sec2;
P_SpawnGhostMobj(mobj); P_SpawnGhostMobj(mobj);
mobj->angle = R_PointToAngle2(mobj->x, mobj->y, mobj->x+mobj->momx, mobj->y+mobj->momy); mobj->angle = R_PointToAngle2(0, 0, mobj->momx, mobj->momy);
P_InstaThrust(mobj, mobj->angle, mobj->info->speed); P_InstaThrust(mobj, mobj->angle, mobj->info->speed);
sec2 = P_ThingOnSpecial3DFloor(mobj); sec2 = P_ThingOnSpecial3DFloor(mobj);
@ -7964,7 +7965,7 @@ void P_MobjThinker(mobj_t *mobj)
break; break;
} }
case MT_BANANAITEM: case MT_BANANA:
case MT_FAKEITEM: case MT_FAKEITEM:
if (mobj->momx || mobj->momy) if (mobj->momx || mobj->momy)
P_SpawnGhostMobj(mobj); P_SpawnGhostMobj(mobj);
@ -7992,7 +7993,7 @@ void P_MobjThinker(mobj_t *mobj)
if (mobj->threshold > 0) if (mobj->threshold > 0)
mobj->threshold--; mobj->threshold--;
break; break;
case MT_MINEITEM: case MT_SSMINE:
if (mobj->target && mobj->target->player) if (mobj->target && mobj->target->player)
mobj->color = mobj->target->player->skincolor; mobj->color = mobj->target->player->skincolor;
else else
@ -8001,8 +8002,8 @@ void P_MobjThinker(mobj_t *mobj)
P_SpawnGhostMobj(mobj); P_SpawnGhostMobj(mobj);
if (P_IsObjectOnGround(mobj)) if (P_IsObjectOnGround(mobj))
{ {
if (mobj->state == &states[S_MINEAIR1] || mobj->state == &states[S_MINEAIR2]) if (mobj->state == &states[S_SSMINE_AIR1] || mobj->state == &states[S_SSMINE_AIR2])
P_SetMobjState(mobj, S_MINEDEPLOY1); P_SetMobjState(mobj, S_SSMINE_DEPLOY1);
if (mobj->reactiontime >= mobj->info->reactiontime) if (mobj->reactiontime >= mobj->info->reactiontime)
{ {
mobj->momx = mobj->momy = 0; mobj->momx = mobj->momy = 0;
@ -8016,8 +8017,8 @@ void P_MobjThinker(mobj_t *mobj)
if (!mobj->reactiontime) if (!mobj->reactiontime)
P_KillMobj(mobj, NULL, NULL); P_KillMobj(mobj, NULL, NULL);
} }
if (mobj->state == &states[S_MINEITEM1] || mobj->state == &states[S_MINEITEM2] if (mobj->state == &states[S_SSMINE1] || mobj->state == &states[S_SSMINE2]
|| mobj->state == &states[S_MINEITEM3] || mobj->state == &states[S_MINEITEM4]) || mobj->state == &states[S_SSMINE3] || mobj->state == &states[S_SSMINE4])
A_GrenadeRing(mobj); A_GrenadeRing(mobj);
if (mobj->threshold > 0) if (mobj->threshold > 0)
mobj->threshold--; mobj->threshold--;
@ -8829,15 +8830,15 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
switch (mobj->type) switch (mobj->type)
{ {
case MT_PLAYER: case MT_PLAYER:
case MT_BIGMACE: case MT_SMALLMACE: case MT_BIGMACE: case MT_SMALLMACE:
case MT_FALLINGROCK: case MT_FALLINGROCK:
//case MT_RANDOMITEM: //case MT_RANDOMITEM:
case MT_BANANAITEM: case MT_BANANASHIELD: case MT_BANANA: case MT_BANANA_SHIELD:
case MT_GREENITEM: case MT_GREENSHIELD: case MT_GREENITEM: case MT_GREENSHIELD:
case MT_REDITEM: case MT_REDSHIELD: case MT_REDITEMDUD: case MT_JAWZ: case MT_JAWZ_DUD: case MT_JAWZ_SHIELD:
case MT_BATTLEBALLOON: case MT_FIREBALL: case MT_BATTLEBALLOON: case MT_FIREBALL:
case MT_FAKEITEM: case MT_FAKESHIELD: case MT_FAKEITEM: case MT_FAKESHIELD:
case MT_MINEITEM: case MT_MINESHIELD: case MT_SSMINE: case MT_SSMINE_SHIELD:
P_SpawnShadowMobj(mobj); P_SpawnShadowMobj(mobj);
default: default:
break; break;

View file

@ -7836,9 +7836,9 @@ void P_NukeEnemies(mobj_t *inflictor, mobj_t *source, fixed_t radius)
P_DamageMobj(mo, inflictor, source, 1); P_DamageMobj(mo, inflictor, source, 1);
//{ SRB2kart //{ SRB2kart
if (mo->type == MT_GREENITEM || mo->type == MT_REDITEM || mo->type == MT_REDITEMDUD if (mo->type == MT_GREENITEM || mo->type == MT_JAWZ || mo->type == MT_JAWZ_DUD
|| mo->type == MT_GREENSHIELD || mo->type == MT_REDSHIELD || mo->type == MT_GREENSHIELD || mo->type == MT_JAWZ_SHIELD
|| mo->type == MT_BANANAITEM || mo->type == MT_BANANASHIELD || mo->type == MT_BANANA || mo->type == MT_BANANA_SHIELD
|| mo->type == MT_FAKEITEM || mo->type == MT_FAKESHIELD || mo->type == MT_FAKEITEM || mo->type == MT_FAKESHIELD
|| mo->type == MT_FIREBALL) || mo->type == MT_FIREBALL)
{ {