diff --git a/source/hazard/hazard.cpp b/source/hazard/hazard.cpp index 84a918bb6..4118da789 100644 --- a/source/hazard/hazard.cpp +++ b/source/hazard/hazard.cpp @@ -140,11 +140,9 @@ CNpcHazard::NPC_HAZARD_UNIT_TYPE CNpcHazard::mapEditConvertTable[NPC_HAZARD_TYPE //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -CNpcHazard *CNpcHazard::Create(sThingHazard *ThisHazard) +CNpcHazard *CNpcHazard::Create(int Type) { - CNpcHazard *hazard; - - NPC_HAZARD_UNIT_TYPE Type = getTypeFromMapEdit( ThisHazard->Type ); +CNpcHazard *hazard; hazard = (CNpcHazard*)CThingManager::GetThing(CThing::TYPE_HAZARD,Type); if (!hazard) @@ -281,6 +279,17 @@ CNpcHazard *CNpcHazard::Create(sThingHazard *ThisHazard) hazard->setThingSubType(Type); hazard->init(); + + return( hazard ); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +CNpcHazard *CNpcHazard::Create(sThingHazard *ThisHazard) +{ + NPC_HAZARD_UNIT_TYPE Type = getTypeFromMapEdit( ThisHazard->Type ); + + CNpcHazard *hazard=Create(ThisHazard->Type); + hazard->setWaypoints( ThisHazard ); hazard->setGraphic( ThisHazard ); diff --git a/source/hazard/hazard.h b/source/hazard/hazard.h index 6374aea20..978237b83 100644 --- a/source/hazard/hazard.h +++ b/source/hazard/hazard.h @@ -74,6 +74,7 @@ public: virtual void setRespawnRate( s16 newRespawnRate ) {m_respawnRate=newRespawnRate;} static NPC_HAZARD_UNIT_TYPE getTypeFromMapEdit( u16 newType ); + static CNpcHazard *Create(int Type); static CNpcHazard *Create(sThingHazard *ThisHazard); void setPlatform(CThing *_newPlatform) {m_platform = _newPlatform;}