mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-24 06:27:24 +00:00
Merge remote-tracking branch 'upstream/main'
This commit is contained in:
commit
6aa7c592a2
@ -29,6 +29,14 @@ void SpeedBehavior::Calculate(BehaviorContext* context, RakNet::BitStream* bitSt
|
|||||||
Handle(context, bitStream, branch);
|
Handle(context, bitStream, branch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SpeedBehavior::UnCast(BehaviorContext* context, BehaviorBranchContext branch) {
|
||||||
|
End(context, branch, LWOOBJID_EMPTY);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SpeedBehavior::Timer(BehaviorContext* context, BehaviorBranchContext branch, LWOOBJID second) {
|
||||||
|
End(context, branch, second);
|
||||||
|
}
|
||||||
|
|
||||||
void SpeedBehavior::End(BehaviorContext* context, BehaviorBranchContext branch, LWOOBJID second) {
|
void SpeedBehavior::End(BehaviorContext* context, BehaviorBranchContext branch, LWOOBJID second) {
|
||||||
auto* target = EntityManager::Instance()->GetEntity(branch.target);
|
auto* target = EntityManager::Instance()->GetEntity(branch.target);
|
||||||
if (!target) return;
|
if (!target) return;
|
||||||
@ -40,10 +48,6 @@ void SpeedBehavior::End(BehaviorContext* context, BehaviorBranchContext branch,
|
|||||||
EntityManager::Instance()->SerializeEntity(target);
|
EntityManager::Instance()->SerializeEntity(target);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SpeedBehavior::Timer(BehaviorContext* context, BehaviorBranchContext branch, LWOOBJID second) {
|
|
||||||
End(context, branch, second);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SpeedBehavior::Load() {
|
void SpeedBehavior::Load() {
|
||||||
m_RunSpeed = GetFloat("run_speed");
|
m_RunSpeed = GetFloat("run_speed");
|
||||||
m_AffectsCaster = GetBoolean("affects_caster");
|
m_AffectsCaster = GetBoolean("affects_caster");
|
||||||
|
@ -15,6 +15,8 @@ public:
|
|||||||
|
|
||||||
void Calculate(BehaviorContext* context, RakNet::BitStream* bitStream, BehaviorBranchContext branch) override;
|
void Calculate(BehaviorContext* context, RakNet::BitStream* bitStream, BehaviorBranchContext branch) override;
|
||||||
|
|
||||||
|
void UnCast(BehaviorContext* context, BehaviorBranchContext branch) override;
|
||||||
|
|
||||||
void Timer(BehaviorContext* context, BehaviorBranchContext branch, LWOOBJID second) override;
|
void Timer(BehaviorContext* context, BehaviorBranchContext branch, LWOOBJID second) override;
|
||||||
|
|
||||||
void End(BehaviorContext* context, BehaviorBranchContext branch, LWOOBJID second) override;
|
void End(BehaviorContext* context, BehaviorBranchContext branch, LWOOBJID second) override;
|
||||||
|
@ -246,6 +246,7 @@ SkillExecutionResult SkillComponent::CalculateBehavior(const uint32_t skillId, c
|
|||||||
start.skillID = skillId;
|
start.skillID = skillId;
|
||||||
start.uiSkillHandle = context->skillUId;
|
start.uiSkillHandle = context->skillUId;
|
||||||
start.optionalOriginatorID = context->originator;
|
start.optionalOriginatorID = context->originator;
|
||||||
|
start.optionalTargetID = target;
|
||||||
|
|
||||||
auto* originator = EntityManager::Instance()->GetEntity(context->originator);
|
auto* originator = EntityManager::Instance()->GetEntity(context->originator);
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include "GameConfig.h"
|
#include "GameConfig.h"
|
||||||
#include "RocketLaunchLupComponent.h"
|
#include "RocketLaunchLupComponent.h"
|
||||||
#include "eUnequippableActiveType.h"
|
#include "eUnequippableActiveType.h"
|
||||||
|
#include "RacingTaskParam.h"
|
||||||
|
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <future>
|
#include <future>
|
||||||
@ -5482,7 +5483,8 @@ void GameMessages::HandleModularBuildFinish(RakNet::BitStream* inStream, Entity*
|
|||||||
|
|
||||||
auto* temp = inv->GetInventory(TEMP_MODELS);
|
auto* temp = inv->GetInventory(TEMP_MODELS);
|
||||||
std::vector<LOT> modList;
|
std::vector<LOT> modList;
|
||||||
|
auto& oldPartList = character->GetVar<std::string>(u"currentModifiedBuild");
|
||||||
|
bool everyPieceSwapped = !oldPartList.empty(); // If the player didn't put a build in initially, then they should not get this achievement.
|
||||||
if (count >= 3) {
|
if (count >= 3) {
|
||||||
std::u16string modules;
|
std::u16string modules;
|
||||||
|
|
||||||
@ -5490,7 +5492,8 @@ void GameMessages::HandleModularBuildFinish(RakNet::BitStream* inStream, Entity*
|
|||||||
uint32_t mod;
|
uint32_t mod;
|
||||||
inStream->Read(mod);
|
inStream->Read(mod);
|
||||||
modList.push_back(mod);
|
modList.push_back(mod);
|
||||||
modules += u"1:" + (GeneralUtils::to_u16string(mod));
|
auto modToStr = GeneralUtils::to_u16string(mod);
|
||||||
|
modules += u"1:" + (modToStr);
|
||||||
if (k + 1 != count) modules += u"+";
|
if (k + 1 != count) modules += u"+";
|
||||||
|
|
||||||
if (temp->GetLotCount(mod) > 0) {
|
if (temp->GetLotCount(mod) > 0) {
|
||||||
@ -5498,6 +5501,13 @@ void GameMessages::HandleModularBuildFinish(RakNet::BitStream* inStream, Entity*
|
|||||||
} else {
|
} else {
|
||||||
inv->RemoveItem(mod, 1);
|
inv->RemoveItem(mod, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Doing this check for 1 singular mission that needs to know when you've swapped every part out during a car modular build.
|
||||||
|
// since all 8129's are the same, skip checking that
|
||||||
|
if (mod != 8129) {
|
||||||
|
if (oldPartList.find(GeneralUtils::UTF16ToWTF8(modToStr)) != std::string::npos) everyPieceSwapped = false;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto moduleAssembly = new LDFData<std::u16string>(u"assemblyPartLOTs", modules);
|
const auto moduleAssembly = new LDFData<std::u16string>(u"assemblyPartLOTs", modules);
|
||||||
@ -5516,6 +5526,7 @@ void GameMessages::HandleModularBuildFinish(RakNet::BitStream* inStream, Entity*
|
|||||||
if (entity->GetLOT() != 9980 || Game::server->GetZoneID() != 1200) {
|
if (entity->GetLOT() != 9980 || Game::server->GetZoneID() != 1200) {
|
||||||
if (missionComponent != nullptr) {
|
if (missionComponent != nullptr) {
|
||||||
missionComponent->Progress(MissionTaskType::MISSION_TASK_TYPE_SCRIPT, entity->GetLOT(), entity->GetObjectID());
|
missionComponent->Progress(MissionTaskType::MISSION_TASK_TYPE_SCRIPT, entity->GetLOT(), entity->GetObjectID());
|
||||||
|
if (count >= 7 && everyPieceSwapped) missionComponent->Progress(MissionTaskType::MISSION_TASK_TYPE_RACING, LWOOBJID_EMPTY, (LWOOBJID)RacingTaskParam::RACING_TASK_PARAM_MODULAR_BUILDING);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -347,6 +347,15 @@ void Item::Disassemble(const eInventoryType inventoryType) {
|
|||||||
if (data->GetKey() == u"assemblyPartLOTs") {
|
if (data->GetKey() == u"assemblyPartLOTs") {
|
||||||
auto modStr = data->GetValueAsString();
|
auto modStr = data->GetValueAsString();
|
||||||
|
|
||||||
|
// This shouldn't be null but always check your pointers.
|
||||||
|
if (GetInventory()) {
|
||||||
|
auto inventoryComponent = GetInventory()->GetComponent();
|
||||||
|
if (inventoryComponent) {
|
||||||
|
auto entity = inventoryComponent->GetParent();
|
||||||
|
if (entity) entity->SetVar<std::string>(u"currentModifiedBuild", modStr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<LOT> modArray;
|
std::vector<LOT> modArray;
|
||||||
|
|
||||||
std::stringstream ssData(modStr);
|
std::stringstream ssData(modStr);
|
||||||
|
1
migrations/cdserver/5_serratorizer_chargeup_fix.sql
Normal file
1
migrations/cdserver/5_serratorizer_chargeup_fix.sql
Normal file
@ -0,0 +1 @@
|
|||||||
|
UPDATE behaviorParameter SET value = 20 WHERE behaviorID = 21001 AND parameterID = "value 2";
|
Loading…
Reference in New Issue
Block a user