完成技能表读取
This commit is contained in:
parent
88307527d6
commit
d5cf643107
@ -62,12 +62,14 @@ void Bullet::OnHit(std::set<Entity*>& objects)
|
||||
float finaly_dmg = dmg * (1 - def/MetaMgr::Instance()->K);
|
||||
player->stats.damage_amount_out += finaly_dmg;
|
||||
hum->DecHP(finaly_dmg, player->entity_uniid, player->name, gun_meta->i->id());
|
||||
#if 0
|
||||
if (a8::HasBitFlag(hum->status, HS_ReflectDamage) && hum->skill_meta) {
|
||||
float reflect_dmg = finaly_dmg * hum->skill_meta->value1;
|
||||
if (reflect_dmg > 1.0f) {
|
||||
player->DecHP(reflect_dmg, hum->entity_uniid, hum->name, gun_meta->i->id());
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -639,6 +639,7 @@ bool Human::HasNoDownedTeammate()
|
||||
|
||||
void Human::DoSkill()
|
||||
{
|
||||
#if 0
|
||||
if (skill_meta && skill_meta->i->condition() == SC_Active) {
|
||||
int passed_time = (room->frame_no - last_use_skill_frameno_) * FRAME_RATE_MS;
|
||||
int skill_left_time = std::max(0, skill_meta->last_time * 1000 - passed_time);
|
||||
@ -812,6 +813,7 @@ void Human::DoSkill()
|
||||
last_use_skill_frameno_ = room->frame_no;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void Human::FindLocation()
|
||||
@ -1113,59 +1115,11 @@ void Human::FillBodyState(::google::protobuf::RepeatedPtrField<::cs::MFBodyState
|
||||
state->set_left_time(left_time);
|
||||
state->set_lasting_time(anodyne_max_time * 1000);
|
||||
}
|
||||
if (a8::HasBitFlag(status, HS_Hide) && skill_meta) {
|
||||
int passed_time = (room->frame_no - hide_frameno_) * FRAME_RATE_MS;
|
||||
cs::MFBodyState* state = states->Add();
|
||||
state->set_state_type(HS_Hide);
|
||||
state->set_left_time(std::max(0, skill_meta->last_time * 1000 - passed_time));
|
||||
state->set_lasting_time(skill_meta->last_time * 1000);
|
||||
}
|
||||
if (a8::HasBitFlag(status, HS_Accelerate) && skill_meta) {
|
||||
int passed_time = (room->frame_no - accelerate_frameno_) * FRAME_RATE_MS;
|
||||
cs::MFBodyState* state = states->Add();
|
||||
state->set_state_type(HS_Accelerate);
|
||||
state->set_left_time(std::max(0, skill_meta->last_time * 1000 - passed_time));
|
||||
state->set_lasting_time(skill_meta->last_time * 1000);
|
||||
}
|
||||
if (a8::HasBitFlag(status, HS_DamageAdd) && skill_meta) {
|
||||
int passed_time = (room->frame_no - damageadd_frameno_) * FRAME_RATE_MS;
|
||||
cs::MFBodyState* state = states->Add();
|
||||
state->set_state_type(HS_DamageAdd);
|
||||
state->set_left_time(std::max(0, skill_meta->last_time * 1000 - passed_time));
|
||||
state->set_lasting_time(skill_meta->last_time * 1000);
|
||||
}
|
||||
if (a8::HasBitFlag(status, HS_DefAdd) && skill_meta) {
|
||||
int passed_time = (room->frame_no - defadd_frameno_) * FRAME_RATE_MS;
|
||||
cs::MFBodyState* state = states->Add();
|
||||
state->set_state_type(HS_DefAdd);
|
||||
state->set_left_time(std::max(0, skill_meta->last_time * 1000 - passed_time));
|
||||
state->set_lasting_time(skill_meta->last_time * 1000);
|
||||
}
|
||||
if (a8::HasBitFlag(status, HS_RecoverHP) && skill_meta) {
|
||||
int passed_time = (room->frame_no - recover_hp_frameno_) * FRAME_RATE_MS;
|
||||
cs::MFBodyState* state = states->Add();
|
||||
state->set_state_type(HS_RecoverHP);
|
||||
state->set_left_time(std::max(0, skill_meta->last_time * 1000 - passed_time));
|
||||
state->set_lasting_time(skill_meta->last_time * 1000);
|
||||
}
|
||||
if (a8::HasBitFlag(status, HS_ReflectDamage) && skill_meta) {
|
||||
int passed_time = (room->frame_no - reflect_damage_frameno_) * FRAME_RATE_MS;
|
||||
cs::MFBodyState* state = states->Add();
|
||||
state->set_state_type(HS_ReflectDamage);
|
||||
state->set_left_time(std::max(0, skill_meta->last_time * 1000 - passed_time));
|
||||
state->set_lasting_time(skill_meta->last_time * 1000);
|
||||
}
|
||||
if (a8::HasBitFlag(status, HS_SummonHero) && skill_meta) {
|
||||
int passed_time = (room->frame_no - summon_hero_frameno_) * FRAME_RATE_MS;
|
||||
cs::MFBodyState* state = states->Add();
|
||||
state->set_state_type(HS_SummonHero);
|
||||
state->set_left_time(std::max(0, skill_meta->last_time * 1000 - passed_time));
|
||||
state->set_lasting_time(skill_meta->last_time * 1000);
|
||||
}
|
||||
}
|
||||
|
||||
void Human::SummonHero()
|
||||
{
|
||||
#if 0
|
||||
Hero* hero = room->CreateHero(this);
|
||||
if (hero) {
|
||||
summon_hero_frameno_ = room->frame_no;
|
||||
@ -1193,6 +1147,7 @@ void Human::SummonHero()
|
||||
need_sync_active_player = true;
|
||||
BroadcastFullState();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void Human::AddObserver(Human* observer)
|
||||
|
@ -355,10 +355,6 @@ namespace MetaData
|
||||
|
||||
void Skill::Init()
|
||||
{
|
||||
value1 = a8::XValue(i->value1()).GetDouble();
|
||||
value2 = a8::XValue(i->value2()).GetDouble();
|
||||
area = a8::XValue(i->area()).GetDouble();
|
||||
last_time = a8::XValue(i->last_time()).GetInt();
|
||||
}
|
||||
|
||||
void Dress::Init()
|
||||
|
@ -126,10 +126,6 @@ namespace MetaData
|
||||
const metatable::Skill* i = nullptr;
|
||||
|
||||
void Init();
|
||||
float value1 = 0.0f;
|
||||
float value2 = 0.0f;
|
||||
float area = 0.0f;
|
||||
int last_time = 0;
|
||||
};
|
||||
|
||||
struct Dress
|
||||
|
@ -134,7 +134,7 @@ message MFPlayerPart
|
||||
optional float max_health = 5; //血量上限(只有变化时才发,没变化时为undefined)
|
||||
optional float health = 6; //血量(只有变化时才发,没变化时为undefined)
|
||||
repeated MFBuff add_buff_list = 7; //新增buff列表
|
||||
repeated MFBuff remove_buff_list = 8; //移除的buff列表
|
||||
repeated int32 remove_buff_list = 8; //移除的buff列表
|
||||
}
|
||||
|
||||
//玩家信息-全量
|
||||
|
@ -111,11 +111,10 @@ message Robot
|
||||
message Skill
|
||||
{
|
||||
optional int32 id = 1;
|
||||
optional int32 type = 2;
|
||||
optional int32 condition = 3;
|
||||
optional string value1 = 4;
|
||||
optional string value2 = 5;
|
||||
optional string area = 6;
|
||||
optional int32 release_type = 2;
|
||||
optional int32 skill_effect_id = 3;
|
||||
optional string value = 4;
|
||||
optional string value_up = 6;
|
||||
optional int32 cd_time = 7;
|
||||
optional string last_time = 8;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user