Organize dScripts (#814)

* Organize dScripts

whitespace

Remove parent scope

Remove parent scope from initial setter

Remove debug

Remove helper programs

* Fix NtImagimeterVisibility script

Co-authored-by: aronwk-aaron <aronwk.aaron@gmail.com>
This commit is contained in:
David Markowitz
2022-11-03 10:57:54 -07:00
committed by GitHub
parent b974eed8f5
commit 8d37d9b681
567 changed files with 886 additions and 252 deletions

View File

@@ -0,0 +1,3 @@
set(DSCRIPTS_SOURCES_AI_PETS
"HydrantSmashable.cpp"
PARENT_SCOPE)

View File

@@ -0,0 +1,20 @@
#include "HydrantSmashable.h"
#include "EntityManager.h"
#include "GeneralUtils.h"
void HydrantSmashable::OnDie(Entity* self, Entity* killer) {
const auto hydrantName = self->GetVar<std::u16string>(u"hydrant");
LDFBaseData* data = new LDFData<std::string>(u"hydrant", GeneralUtils::UTF16ToWTF8(hydrantName));
EntityInfo info{};
info.lot = HYDRANT_BROKEN;
info.pos = self->GetPosition();
info.rot = self->GetRotation();
info.settings = { data };
info.spawnerID = self->GetSpawnerID();
auto* hydrant = EntityManager::Instance()->CreateEntity(info);
EntityManager::Instance()->ConstructEntity(hydrant);
}

View File

@@ -0,0 +1,10 @@
#pragma once
#include "CppScripts.h"
class HydrantSmashable : public CppScripts::Script
{
public:
void OnDie(Entity* self, Entity* killer) override;
private:
LOT HYDRANT_BROKEN = 7328;
};