From d5cf64310713e204dd70ea7f10439f77448ac48d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 6 Jul 2019 09:26:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=8A=80=E8=83=BD=E8=A1=A8?= =?UTF-8?q?=E8=AF=BB=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/bullet.cc | 2 + server/gameserver/human.cc | 53 ++----------------------- server/gameserver/metadata.cc | 4 -- server/gameserver/metadata.h | 4 -- server/tools/protobuild/cs_proto.proto | 2 +- server/tools/protobuild/metatable.proto | 9 ++--- 6 files changed, 11 insertions(+), 63 deletions(-) diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index 91c6baf..972416c 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -62,12 +62,14 @@ void Bullet::OnHit(std::set& 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; diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index f32f3dd..b9f0be3 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -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) diff --git a/server/gameserver/metadata.cc b/server/gameserver/metadata.cc index b3ebd8a..a9e52af 100644 --- a/server/gameserver/metadata.cc +++ b/server/gameserver/metadata.cc @@ -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() diff --git a/server/gameserver/metadata.h b/server/gameserver/metadata.h index 52bdb83..ad6f64e 100755 --- a/server/gameserver/metadata.h +++ b/server/gameserver/metadata.h @@ -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 diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index 091d6bc..bb7b5a4 100755 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -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列表 } //玩家信息-全量 diff --git a/server/tools/protobuild/metatable.proto b/server/tools/protobuild/metatable.proto index 6007ef0..38f64d9 100755 --- a/server/tools/protobuild/metatable.proto +++ b/server/tools/protobuild/metatable.proto @@ -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; }