1
This commit is contained in:
parent
4feaeec930
commit
3d9b77dd7d
@ -2,11 +2,17 @@
|
|||||||
|
|
||||||
#include "bornpoint.h"
|
#include "bornpoint.h"
|
||||||
|
|
||||||
|
#include "mt/Map.h"
|
||||||
|
|
||||||
Position BornPoint::RandPoint() const
|
Position BornPoint::RandPoint() const
|
||||||
{
|
{
|
||||||
Position pos;
|
Position pos;
|
||||||
pos.SetX(5120.000000000000);
|
if (wo_meta) {
|
||||||
pos.SetY(6.250846862793);
|
pos.FromGlmVec3(wo_meta->pos);
|
||||||
pos.SetZ(5120.000000000000);
|
} else {
|
||||||
|
pos.SetX(5120.000000000000);
|
||||||
|
pos.SetY(6.250846862793);
|
||||||
|
pos.SetZ(5120.000000000000);
|
||||||
|
}
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,14 @@ namespace mt
|
|||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
{
|
||||||
|
std::vector<std::string> strings;
|
||||||
|
a8::Split(born_point(), strings, ',');
|
||||||
|
_spawn_point = glm::vec3(
|
||||||
|
(float)a8::XValue(strings[0]).GetDouble(),
|
||||||
|
(float)a8::XValue(strings[1]).GetDouble(),
|
||||||
|
(float)a8::XValue(strings[2]).GetDouble());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float PveGemini::GetHpMul(int num) const
|
float PveGemini::GetHpMul(int num) const
|
||||||
|
@ -14,6 +14,8 @@ namespace mt
|
|||||||
void Init1();
|
void Init1();
|
||||||
float GetHpMul(int num) const;
|
float GetHpMul(int num) const;
|
||||||
|
|
||||||
|
glm::vec3 _spawn_point;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::vector<float> hp_muls;
|
std::vector<float> hp_muls;
|
||||||
std::vector<float> hp_mul;
|
std::vector<float> hp_mul;
|
||||||
|
@ -14,11 +14,13 @@ namespace mtb
|
|||||||
int gemini_lv() const { return gemini_lv_; };
|
int gemini_lv() const { return gemini_lv_; };
|
||||||
int gemini_limit() const { return gemini_limit_; };
|
int gemini_limit() const { return gemini_limit_; };
|
||||||
const std::string multiplayer_enemy_hp_mul() const { return multiplayer_enemy_hp_mul_; };
|
const std::string multiplayer_enemy_hp_mul() const { return multiplayer_enemy_hp_mul_; };
|
||||||
|
const std::string born_point() const { return born_point_; };
|
||||||
|
|
||||||
bool has_gemini_id() const { return __flags__.test(0);};
|
bool has_gemini_id() const { return __flags__.test(0);};
|
||||||
bool has_gemini_lv() const { return __flags__.test(1);};
|
bool has_gemini_lv() const { return __flags__.test(1);};
|
||||||
bool has_gemini_limit() const { return __flags__.test(2);};
|
bool has_gemini_limit() const { return __flags__.test(2);};
|
||||||
bool has_multiplayer_enemy_hp_mul() const { return __flags__.test(3);};
|
bool has_multiplayer_enemy_hp_mul() const { return __flags__.test(3);};
|
||||||
|
bool has_born_point() const { return __flags__.test(4);};
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
@ -26,9 +28,10 @@ namespace mtb
|
|||||||
int gemini_lv_ = 0;
|
int gemini_lv_ = 0;
|
||||||
int gemini_limit_ = 0;
|
int gemini_limit_ = 0;
|
||||||
std::string multiplayer_enemy_hp_mul_;
|
std::string multiplayer_enemy_hp_mul_;
|
||||||
|
std::string born_point_;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
std::bitset<4> __flags__;
|
std::bitset<5> __flags__;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -686,11 +686,12 @@ namespace mtb
|
|||||||
{
|
{
|
||||||
a8::reflect::Class* meta_class = nullptr;
|
a8::reflect::Class* meta_class = nullptr;
|
||||||
if (!meta_class) {
|
if (!meta_class) {
|
||||||
meta_class = new a8::reflect::Class("PveGemini", 4, 0);
|
meta_class = new a8::reflect::Class("PveGemini", 5, 0);
|
||||||
meta_class->SetSimpleField(0, "gemini_id", a8::reflect::ET_INT32, my_offsetof2(PveGemini, gemini_id_));
|
meta_class->SetSimpleField(0, "gemini_id", a8::reflect::ET_INT32, my_offsetof2(PveGemini, gemini_id_));
|
||||||
meta_class->SetSimpleField(1, "gemini_lv", a8::reflect::ET_INT32, my_offsetof2(PveGemini, gemini_lv_));
|
meta_class->SetSimpleField(1, "gemini_lv", a8::reflect::ET_INT32, my_offsetof2(PveGemini, gemini_lv_));
|
||||||
meta_class->SetSimpleField(2, "gemini_limit", a8::reflect::ET_INT32, my_offsetof2(PveGemini, gemini_limit_));
|
meta_class->SetSimpleField(2, "gemini_limit", a8::reflect::ET_INT32, my_offsetof2(PveGemini, gemini_limit_));
|
||||||
meta_class->SetSimpleField(3, "multiplayer_enemy_hp_mul", a8::reflect::ET_STRING, my_offsetof2(PveGemini, multiplayer_enemy_hp_mul_));
|
meta_class->SetSimpleField(3, "multiplayer_enemy_hp_mul", a8::reflect::ET_STRING, my_offsetof2(PveGemini, multiplayer_enemy_hp_mul_));
|
||||||
|
meta_class->SetSimpleField(4, "born_point", a8::reflect::ET_STRING, my_offsetof2(PveGemini, born_point_));
|
||||||
}
|
}
|
||||||
return meta_class;
|
return meta_class;
|
||||||
}
|
}
|
||||||
|
@ -2149,6 +2149,11 @@ void Room::CreateSpawnPoints()
|
|||||||
int uniid = AllocUniid();
|
int uniid = AllocUniid();
|
||||||
std::shared_ptr<BornPoint> born_point = std::make_shared<BornPoint>();
|
std::shared_ptr<BornPoint> born_point = std::make_shared<BornPoint>();
|
||||||
born_point_hash_[uniid] = born_point;
|
born_point_hash_[uniid] = born_point;
|
||||||
|
if (IsPveRoom()) {
|
||||||
|
std::shared_ptr<mt::WorldObject> wo_meta = std::make_shared<mt::WorldObject>();
|
||||||
|
wo_meta->pos = pve_instance->_spawn_point;
|
||||||
|
born_point->wo_meta = wo_meta;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3793,6 +3798,9 @@ int Room::GetPolyExtFlag(int poly_idx)
|
|||||||
|
|
||||||
void Room::CreateWorldObjects()
|
void Room::CreateWorldObjects()
|
||||||
{
|
{
|
||||||
|
if (IsPveRoom()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
for (auto& itr : GetMapMeta()->_world_objects) {
|
for (auto& itr : GetMapMeta()->_world_objects) {
|
||||||
std::shared_ptr<mt::WorldObject> obj = itr;
|
std::shared_ptr<mt::WorldObject> obj = itr;
|
||||||
switch ((WorldObjectType_e)obj->object_type) {
|
switch ((WorldObjectType_e)obj->object_type) {
|
||||||
|
@ -520,6 +520,7 @@ message PveGemini
|
|||||||
optional int32 gemini_lv = 2;
|
optional int32 gemini_lv = 2;
|
||||||
optional int32 gemini_limit = 3;
|
optional int32 gemini_limit = 3;
|
||||||
optional string multiplayer_enemy_hp_mul = 4;
|
optional string multiplayer_enemy_hp_mul = 4;
|
||||||
|
optional string born_point = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
message PveGeminiContent
|
message PveGeminiContent
|
||||||
|
Loading…
x
Reference in New Issue
Block a user