diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index 5e1dfeb..ea6a09b 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -184,7 +184,7 @@ void Bullet::ProcBomb() { //烟雾弹 a8::Vec2 bomb_pos = GetPos(); - room->frame_event.AddSmoke(this, meta->i->id(), bomb_pos); + room->frame_event.AddSmoke(this, meta->i->id(), bomb_pos, 1000 * 30); ProcSmokeBomb(); } break; diff --git a/server/gameserver/frameevent.cc b/server/gameserver/frameevent.cc index 6b1c741..aef5a7e 100644 --- a/server/gameserver/frameevent.cc +++ b/server/gameserver/frameevent.cc @@ -200,7 +200,7 @@ void FrameEvent::AddBulletNumChg(CreatureWeakPtr& sender) } } -void FrameEvent::AddSmoke(Bullet* bullet, int item_id, a8::Vec2 pos) +void FrameEvent::AddSmoke(Bullet* bullet, int item_id, a8::Vec2 pos, float time_addition) { if (!bullet->sender.Get()) { return; @@ -213,6 +213,7 @@ void FrameEvent::AddSmoke(Bullet* bullet, int item_id, a8::Vec2 pos) p.set_item_id(item_id); TypeConvert::ToPb(pos, p.mutable_pos()); p.set_player_id(bullet->sender.Get()->GetUniId()); + p.set_time_addition(time_addition); } { int idx = smokes_.size() - 1; diff --git a/server/gameserver/frameevent.h b/server/gameserver/frameevent.h index 3a889ae..b55192c 100644 --- a/server/gameserver/frameevent.h +++ b/server/gameserver/frameevent.h @@ -26,7 +26,7 @@ public: float fly_distance); void RemoveBullet(a8::Vec2 pos, int bullet_uniid); void AddExplosion(Bullet* bullet, int item_id, a8::Vec2 bomb_pos); - void AddSmoke(Bullet* bullet, int item_id, a8::Vec2 pos); + void AddSmoke(Bullet* bullet, int item_id, a8::Vec2 pos, float time_addition); void AddPlaySkill(CreatureWeakPtr& sender, int skill_id); void AddExplosionEx(CreatureWeakPtr& sender, int item_id, a8::Vec2 bomb_pos, int effect); void AddBulletNumChg(CreatureWeakPtr& sender); diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index cef9d82..3559b8b 100755 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -453,7 +453,6 @@ message MFSmokeFull optional int32 obj_uniid = 1; //唯一id optional MFVec2 pos = 2; //位置 optional float rad = 3; //半径 - optional float time_addition = 4; //烟雾弹时间加成(单位毫秒) } //载具-部分 @@ -674,6 +673,7 @@ message MFSmoke optional int32 item_id = 1; //配置表id optional MFVec2 pos = 2; //位置 optional int32 player_id = 4; //玩家id + optional float time_addition = 5; //烟雾弹时间加成(单位毫秒) } //表情