mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-08-09 20:24:16 +00:00
Public release of the DLU server code!
Have fun!
This commit is contained in:
39
dScripts/BaseEnemyMech.cpp
Normal file
39
dScripts/BaseEnemyMech.cpp
Normal file
@@ -0,0 +1,39 @@
|
||||
#include "BaseEnemyMech.h"
|
||||
#include "Entity.h"
|
||||
#include "GameMessages.h"
|
||||
#include "Game.h"
|
||||
#include "dLogger.h"
|
||||
#include "ControllablePhysicsComponent.h"
|
||||
#include "EntityManager.h"
|
||||
#include "dpWorld.h"
|
||||
#include "GeneralUtils.h"
|
||||
|
||||
void BaseEnemyMech::OnDie(Entity* self, Entity* killer) {
|
||||
ControllablePhysicsComponent* controlPhys = static_cast<ControllablePhysicsComponent*>(self->GetComponent(COMPONENT_TYPE_CONTROLLABLE_PHYSICS));
|
||||
if (!controlPhys) return;
|
||||
|
||||
NiPoint3 newLoc = {controlPhys->GetPosition().x, dpWorld::Instance().GetHeightAtPoint(controlPhys->GetPosition()), controlPhys->GetPosition().z };
|
||||
//NiPoint3 newLoc = { controlPhys->GetPosition().x, controlPhys->GetPosition().y, controlPhys->GetPosition().z };
|
||||
|
||||
EntityInfo info = EntityInfo();
|
||||
std::vector<LDFBaseData*> cfg;
|
||||
std::u16string activatorPosStr;
|
||||
activatorPosStr += (GeneralUtils::to_u16string(controlPhys->GetPosition().x));
|
||||
activatorPosStr.push_back(0x1f);
|
||||
activatorPosStr += (GeneralUtils::to_u16string(controlPhys->GetPosition().y));
|
||||
activatorPosStr.push_back(0x1f);
|
||||
activatorPosStr += (GeneralUtils::to_u16string(controlPhys->GetPosition().z));
|
||||
|
||||
LDFBaseData* activatorPos = new LDFData<std::u16string>(u"rebuild_activators", activatorPosStr);
|
||||
cfg.push_back(activatorPos);
|
||||
info.lot = qbTurretLOT;
|
||||
info.pos = newLoc;
|
||||
info.rot = controlPhys->GetRotation();
|
||||
info.spawnerID = self->GetObjectID();
|
||||
info.settings = cfg;
|
||||
|
||||
Entity* turret = EntityManager::Instance()->CreateEntity(info, nullptr);
|
||||
if (turret) {
|
||||
EntityManager::Instance()->ConstructEntity(turret);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user