diff --git a/source/platform/pfgen.cpp b/source/platform/pfgen.cpp index 8bb2fa9cf..68881bd17 100644 --- a/source/platform/pfgen.cpp +++ b/source/platform/pfgen.cpp @@ -60,6 +60,7 @@ void CNpcFallingPlatformGenerator::think( int _frames ) { case NPC_OILDRUM_PLATFORM: case NPC_CRATE_PLATFORM: + case NPC_VERTICAL_OILDRUM_PLATFORM: { newPlatform = new ("falling platform") CNpcFallingNoRespawnPlatform; break; diff --git a/source/platform/platdata.cpp b/source/platform/platdata.cpp index 0aa1e5ab0..c57619674 100644 --- a/source/platform/platdata.cpp +++ b/source/platform/platdata.cpp @@ -302,6 +302,34 @@ CNpcPlatform::NPC_PLATFORM_DATA CNpcPlatform::m_data[NPC_PLATFORM_TYPE_MAX] = NPC_PLATFORM_TIMER_NONE, }, + { // NPC_VERTICAL_OILDRUM_GENERATOR + ACTORS_CLAM_SBK, + ANIM_CLAM_SIDESNAP, + 2, + 128, + true, + DAMAGE__NONE, + 0, + 4, + NPC_PLATFORM_INFINITE_LIFE, + 2, + NPC_PLATFORM_TIMER_NONE, + }, + + { // NPC_VERTICAL_OILDRUM_PLATFORM + ACTORS_CLAM_SBK, + ANIM_CLAM_SIDESNAP, + 2, + 128, + true, + DAMAGE__NONE, + 0, + 4, + NPC_PLATFORM_INFINITE_LIFE, + 4, + NPC_PLATFORM_TIMER_NONE, + }, + { // NPC_PLAYER_BUBBLE_PLATFORM ACTORS_CLAM_SBK, ANIM_CLAM_SIDESNAP, @@ -339,5 +367,6 @@ CNpcPlatform::NPC_PLATFORM_UNIT_TYPE CNpcPlatform::mapEditConvertTable[NPC_PLATF NPC_OILDRUM_GENERATOR, NPC_CRATE_GENERATOR, NPC_RAFT_PLATFORM, + NPC_VERTICAL_OILDRUM_GENERATOR, NPC_PLAYER_BUBBLE_PLATFORM, }; diff --git a/source/platform/platform.cpp b/source/platform/platform.cpp index 500707691..eeb86c407 100644 --- a/source/platform/platform.cpp +++ b/source/platform/platform.cpp @@ -255,6 +255,15 @@ CNpcPlatform *CNpcPlatform::Create(sThingPlatform *ThisPlatform) break; } + case NPC_VERTICAL_OILDRUM_GENERATOR: + { + CNpcFallingPlatformGenerator *generator; + generator = new ("vertical oildrum generator") CNpcFallingPlatformGenerator; + generator->setTargetType( NPC_VERTICAL_OILDRUM_PLATFORM ); + platform = generator; + break; + } + default: { ASSERT( 0 ); diff --git a/source/platform/platform.h b/source/platform/platform.h index b43df203e..28493f3cc 100644 --- a/source/platform/platform.h +++ b/source/platform/platform.h @@ -72,6 +72,8 @@ public: NPC_OILDRUM_GENERATOR, NPC_CRATE_GENERATOR, NPC_RAFT_PLATFORM, + NPC_VERTICAL_OILDRUM_GENERATOR, + NPC_VERTICAL_OILDRUM_PLATFORM, NPC_PLAYER_BUBBLE_PLATFORM, NPC_PLATFORM_TYPE_MAX, }; diff --git a/tools/Data/bin/MkLevel.ini b/tools/Data/bin/MkLevel.ini index 9b7bdbdcb..e372b515d 100644 --- a/tools/Data/bin/MkLevel.ini +++ b/tools/Data/bin/MkLevel.ini @@ -101,6 +101,7 @@ BouncyTyre=15 DualPlatform=16 Wooden=6 Raft=19 +VertOilDrumGenerator=20 ################################################ # Triggers diff --git a/tools/MapEdit/platform.ini b/tools/MapEdit/platform.ini index c7328fc9f..e28b878f3 100644 --- a/tools/MapEdit/platform.ini +++ b/tools/MapEdit/platform.ini @@ -78,3 +78,7 @@ Gfx=..\..\Graphics\platforms\wooden\wooden.gin [Raft] Gfx=..\..\Graphics\platforms\raft\raft.gin + +[VertOildrumGenerator] +Gfx=..\..\Graphics\platforms\vert_Oildrum\vert_Oildrum.gin +