diff --git a/src/g_level.h b/src/g_level.h index d235363831..016e256c35 100644 --- a/src/g_level.h +++ b/src/g_level.h @@ -129,6 +129,7 @@ enum ELevelFlags LEVEL_SPECLOWERFLOOR = 0x00000100, LEVEL_SPECOPENDOOR = 0x00000200, + LEVEL_SPECLOWERFLOORTOHIGHEST= 0x00000300, LEVEL_SPECACTIONSMASK = 0x00000300, LEVEL_MONSTERSTELEFRAG = 0x00000400, diff --git a/src/g_mapinfo.cpp b/src/g_mapinfo.cpp index f8c0874591..1014d17708 100644 --- a/src/g_mapinfo.cpp +++ b/src/g_mapinfo.cpp @@ -1324,6 +1324,7 @@ MapFlagHandlers[] = { "specialaction_exitlevel", MITYPE_SCFLAGS, 0, ~LEVEL_SPECACTIONSMASK }, { "specialaction_opendoor", MITYPE_SCFLAGS, LEVEL_SPECOPENDOOR, ~LEVEL_SPECACTIONSMASK }, { "specialaction_lowerfloor", MITYPE_SCFLAGS, LEVEL_SPECLOWERFLOOR, ~LEVEL_SPECACTIONSMASK }, + { "specialaction_lowerfloortohighest",MITYPE_SCFLAGS,LEVEL_SPECLOWERFLOORTOHIGHEST, ~LEVEL_SPECACTIONSMASK }, { "specialaction_killmonsters", MITYPE_SETFLAG, LEVEL_SPECKILLMONSTERS, 0 }, { "lightning", MITYPE_SETFLAG, LEVEL_STARTLIGHTNING, 0 }, { "smoothlighting", MITYPE_SETFLAG2, LEVEL2_SMOOTHLIGHTING, 0 }, diff --git a/src/p_enemy.cpp b/src/p_enemy.cpp index 1174119d8e..d3ddd8ddd7 100644 --- a/src/p_enemy.cpp +++ b/src/p_enemy.cpp @@ -3160,6 +3160,10 @@ DEFINE_ACTION_FUNCTION(AActor, A_BossDeath) EV_DoFloor (DFloor::floorLowerToLowest, NULL, 666, FRACUNIT, 0, 0, 0, false); return; + case LEVEL_SPECLOWERFLOORTOHIGHEST: + EV_DoFloor (DFloor::floorLowerToHighest, NULL, 666, FRACUNIT, 0, 0, 0, false); + return; + case LEVEL_SPECOPENDOOR: EV_DoDoor (DDoor::doorOpen, NULL, NULL, 666, 8*FRACUNIT, 0, 0, 0); return; diff --git a/wadsrc/static/mapinfo/heretic.txt b/wadsrc/static/mapinfo/heretic.txt index 955574891a..1d3d63fd25 100644 --- a/wadsrc/static/mapinfo/heretic.txt +++ b/wadsrc/static/mapinfo/heretic.txt @@ -193,7 +193,7 @@ map E1M8 lookup "HHUSTR_E1M8" cluster = 1 nointermission ironlichspecial - specialaction_lowerfloor + specialaction_lowerfloortohighest music = "MUS_E1M8" } @@ -279,7 +279,7 @@ map E2M8 lookup "HHUSTR_E2M8" cluster = 2 nointermission minotaurspecial - specialaction_lowerfloor + specialaction_lowerfloortohighest specialaction_killmonsters music = "MUS_E2M8" } @@ -366,7 +366,7 @@ map E3M8 lookup "HHUSTR_E3M8" cluster = 3 nointermission dsparilspecial - specialaction_lowerfloor + specialaction_lowerfloortohighest specialaction_killmonsters music = "MUS_E1M9" } @@ -453,7 +453,7 @@ map E4M8 lookup "HHUSTR_E4M8" cluster = 4 nointermission ironlichspecial - specialaction_lowerfloor + specialaction_lowerfloortohighest specialaction_killmonsters music = "MUS_E1M8" } @@ -541,7 +541,7 @@ map E5M8 lookup "HHUSTR_E5M8" nointermission minotaurspecial specialaction_killmonsters - specialaction_lowerfloor + specialaction_lowerfloortohighest music = "MUS_E2M8" }