移除飞机逻辑

This commit is contained in:
aozhiwei 2020-02-28 11:44:51 +08:00
parent 0b59e39f1f
commit 4f18190a81
8 changed files with 55 additions and 40 deletions

View File

@ -26,7 +26,7 @@ void Android::Initialize()
{
Human::Initialize();
health = meta->i->health();
SetSkinInfo(14001);
RandSkin();
GiveEquip();
}

View File

@ -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;

View File

@ -117,6 +117,12 @@ void Human::FillMFObjectFull(cs::MFObjectFull* full_data)
p->set_disconnected(disconnected);
p->set_anim_type(anim_type);
p->set_anim_seq(anim_seq);
#if 1
for (auto itr : skins) {
auto skin = p->add_skin();
itr.ToPB(skin);
}
#else
if (skin_tank.skin_id != 0) {
skin_tank.ToPB(p->mutable_skin());
} else {
@ -126,6 +132,7 @@ void Human::FillMFObjectFull(cs::MFObjectFull* full_data)
skin.ToPB(p->mutable_skin());
}
}
#endif
p->set_backpack(backpack);
p->set_helmet(helmet);
p->set_chest(chest);
@ -987,6 +994,7 @@ void Human::DoJump()
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);
@ -1160,6 +1168,7 @@ void Human::DoSkill()
last_use_skill_frameno_ = room->frame_no;
}
}
#endif
}
void Human::DoGetDown()
@ -1323,7 +1332,14 @@ void Human::FillMFActivePlayerData(cs::MFActivePlayerData* player_data)
player_data->set_action_target_id(action_target_id);
}
}
#if 1
for (auto itr : skins) {
auto skin = player_data->add_skin();
itr.ToPB(skin);
}
#else
skin.ToPB(player_data->mutable_skin());
#endif
player_data->set_backpack(backpack);
player_data->set_helmet(helmet);
player_data->set_chest(chest);
@ -1344,7 +1360,7 @@ void Human::FillMFActivePlayerData(cs::MFActivePlayerData* player_data)
player_data->set_max_energy_shield(max_energy_shield);
}
#endif
#if 1
#if 0
if (skill_meta) {
if (last_use_skill_frameno_ == 0) {
player_data->set_skill_left_time(0);
@ -1424,6 +1440,7 @@ void Human::RecalcVolume()
void Human::RecalcBuff()
{
buff = HumanAbility();
#if 0
if (skin_jlf_meta) {
buff.damage_add += skin_jlf_meta->GetAttrValue(skin_jlf.skin_lv, EA_Atk);
buff.def_add += skin_jlf_meta->GetAttrValue(skin_jlf.skin_lv, EA_Def);
@ -1433,6 +1450,7 @@ void Human::RecalcBuff()
buff.def_add += skin_meta->GetAttrValue(skin.skin_lv, EA_Def);
buff.speed += skin_meta->GetAttrValue(skin.skin_lv, EA_Speed);
}
#endif
}
int Human::GetInventory(int slot_id)
@ -1501,6 +1519,7 @@ void Human::FillBodyState(::google::protobuf::RepeatedPtrField<::cs::MFBodyState
state->set_left_time(std::max(0, MetaMgr::Instance()->jump_time * 1000 - passed_time));
state->set_lasting_time(MetaMgr::Instance()->jump_time * 1000);
}
#if 0
if (a8::HasBitFlag(status, HS_Hide) && skill_meta) {
int passed_time = (room->frame_no - hide_frameno_) * FRAME_RATE_MS;
cs::MFBodyState* state = states->Add();
@ -1550,6 +1569,7 @@ void Human::FillBodyState(::google::protobuf::RepeatedPtrField<::cs::MFBodyState
state->set_left_time(std::max(0, skill_meta->last_time * 1000 - passed_time));
state->set_lasting_time(skill_meta->last_time * 1000);
}
#endif
if (a8::HasBitFlag(status, HS_AtkAdd)) {
cs::MFBodyState* state = states->Add();
state->set_state_type(HS_AtkAdd);
@ -1560,6 +1580,7 @@ void Human::FillBodyState(::google::protobuf::RepeatedPtrField<::cs::MFBodyState
void Human::SummonHero()
{
#if 0
Hero* hero = room->CreateHero(this);
if (hero) {
summon_hero_frameno_ = room->frame_no;
@ -1587,6 +1608,7 @@ void Human::SummonHero()
need_sync_active_player = true;
BroadcastFullState();
}
#endif
}
void Human::AddObserver(Human* observer)
@ -1913,34 +1935,12 @@ int Human::GetSkinConfigLv(int skin_id)
void Human::SetSkinInfo(int skin_id)
{
#if 0
skin.skin_id = skin_id;
if (skin.skin_id != 0){
skin.skin_lv = std::max(1, GetSkinConfigLv(skin.skin_id));
}
}
const Skin& Human::GetSkin()
{
if (skin_jlf.skin_id != 0) {
return skin_jlf;
}
return skin;
}
int Human::SkinId()
{
if (skin_jlf.skin_id != 0) {
return skin_jlf.skin_id;
}
return skin.skin_id;
}
int Human::SkinLv()
{
if (skin_jlf.skin_id != 0) {
return skin_jlf.skin_lv;
}
return skin.skin_lv;
#endif
}
void Human::CheckSkinTank()
@ -2339,11 +2339,13 @@ void Human::ProcLootSkin(Loot* entity, MetaData::Equip* item_meta)
skin_jlf.skin_id = item_meta->i->id();
skin_jlf.skin_lv = std::max(1, GetSkinConfigLv(skin_jlf.skin_id));
skin_jlf_meta = MetaMgr::Instance()->GetDress(skin_jlf.skin_id);
#if 0
if (skin_jlf_meta) {
skill_meta = MetaMgr::Instance()->GetSkill(skin_jlf_meta->i->skill_id());
} else {
skill_meta = nullptr;
}
#endif
RecalcBuff();
SyncAroundPlayers(__FILE__, __LINE__, __func__);
}
@ -2473,6 +2475,18 @@ void Human::FreeReviveTimer()
}
}
void Human::RandSkin()
{
std::vector<int> ids = {1, 2, 3, 4, 5, 6};
for (int i = 0; i < 3; ++i) {
int rand_idx = rand() % ids.size();
Skin& skin = a8::FastAppend(skins);
skin.skin_id = ids[rand_idx];
skin.skin_lv = 1;
ids.erase(ids.begin() + rand_idx);
}
}
void Human::Revive()
{
auto callback =

View File

@ -49,8 +49,6 @@ class Human : public Entity
MetaData::Player* meta = nullptr;
MetaData::Equip* helmet_meta = nullptr;
MetaData::Equip* chest_meta = nullptr;
MetaData::Dress* skin_meta = nullptr;
MetaData::Skill* skill_meta = nullptr;
MetaData::Dress* skin_jlf_meta = nullptr;
MetaData::Equip* skin_tank_meta = nullptr;
HumanAbility buff;
@ -211,13 +209,11 @@ class Human : public Entity
int GetWeaponConfigLv(int weapon_id);
int GetSkinConfigLv(int skin_id);
void SetSkinInfo(int skin_id);
const Skin& GetSkin();
int SkinId();
int SkinLv();
void CheckSkinTank();
void OnDie();
void FreeDownedTimer();
void FreeReviveTimer();
void RandSkin();
protected:
void _UpdateMove(int speed);
@ -276,7 +272,7 @@ private:
bool sent_battlereport_ = false;
bool sent_game_end_ = false;
Skin skin;
std::list<Skin> skins;
friend class FrameMaker;
friend class FrameEvent;

View File

@ -32,12 +32,6 @@ void Player::Initialize()
Human::Initialize();
health = meta->i->health();
max_energy_shield = energy_shield;
skin_meta = MetaMgr::Instance()->GetDress(SkinId());
if (skin_meta) {
skill_meta = MetaMgr::Instance()->GetSkill(skin_meta->i->skill_id());
} else {
skill_meta = nullptr;
}
RecalcBuff();
}

View File

@ -73,7 +73,10 @@ Player* PlayerMgr::CreatePlayerByCMJoin(long ip_saddr, int socket, const cs::CMJ
hum->skin_configs[skin.skin_id()] = skin.skin_lv();
}
}
#if 0
hum->SetSkinInfo(msg.baseskin());
#endif
hum->RandSkin();
socket_hash_[socket] = hum;
return hum;
}

View File

@ -288,8 +288,10 @@ void Room::CreateAndroid(int robot_num)
if (rnd_skin_robot_idx == i) {
MetaData::Dress* skin_meta = MetaMgr::Instance()->RandDress();
if (skin_meta) {
#if 0
hum->skin_meta = skin_meta;
hum->SetSkinInfo(skin_meta->i->id());
#endif
}
}
uniid_hash_[hum->entity_uniid] = hum;
@ -512,7 +514,9 @@ Hero* Room::CreateHero(Human* hum)
hero->move_dir = hum->move_dir;
hero->attack_dir = hum->attack_dir;
hero->master = hum;
#if 0
hero->skin = hum->GetSkin();
#endif
hero->backpack = hum->backpack;
hero->helmet = hum->helmet;
hero->chest = hum->chest;
@ -642,6 +646,7 @@ void Room::FetchBuilding(Human* hum)
void Room::OnHumanDie(Human* hum)
{
#if 0
if (hum->skill_meta && hum->skill_meta->i->type() == ST_SelfDetonate) {
for (auto& pair : human_hash_) {
if (pair.second != hum && (pair.second->team_id == 0 || pair.second->team_id != hum->team_id)) {
@ -656,6 +661,7 @@ void Room::OnHumanDie(Human* hum)
}
frame_event.AddExplosionEx(hum, 0, hum->pos, 1);
}
#endif
--alive_count_;
--App::Instance()->perf.alive_count;
NotifyUiUpdate();

View File

@ -183,7 +183,7 @@ message MFPlayerFull
optional int32 anim_seq = 11; //
//optional int32 action_type = 12; //0: none 1:reload 2:useitem 3:relive 4: rescue
//optional int32 action_duration = 22; //
optional MFSkin skin = 13; //id
repeated MFSkin skin = 13; //id
optional int32 backpack = 14; //
optional int32 helmet = 16; //
optional int32 chest = 17; //
@ -423,7 +423,7 @@ message MFActivePlayerData
optional int32 action_item_id = 6;
optional int32 action_target_id = 7;
optional MFSkin skin = 30; //id
repeated MFSkin skin = 30; //id
optional int32 backpack = 31; //
optional int32 helmet = 32; //
optional int32 chest = 33; //