diff --git a/server/gameserver/obstacle.cc b/server/gameserver/obstacle.cc index da09273..2afd667 100644 --- a/server/gameserver/obstacle.cc +++ b/server/gameserver/obstacle.cc @@ -304,7 +304,7 @@ void Obstacle::Explosion(Bullet* bullet) case ET_Player: { Human* hum = (Human*)target; - if (!hum->dead) { + if (!hum->dead && hum->team_id != team_id_) { float dmg = meta->i->damage(); float def = hum->ability.def; float finaly_dmg = dmg * (1 - def/MetaMgr::Instance()->K); diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index a99dea4..b900bf5 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -184,7 +184,8 @@ void Player::UpdateShot() if (dead || downed || room->IsWaitingStart() || - HasBuffEffect(kBET_Jump)) { + HasBuffEffect(kBET_Jump) || + HasBuffEffect(kBET_Fly)) { shot_start = false; shot_hold = false; series_shot_frames = 0; diff --git a/server/gameserver/roomobstacle.cc b/server/gameserver/roomobstacle.cc index ff54bbe..33c7ce7 100644 --- a/server/gameserver/roomobstacle.cc +++ b/server/gameserver/roomobstacle.cc @@ -384,7 +384,7 @@ void RoomObstacle::ActiveMine() { room->xtimer.AddRepeatTimerAndAttach ( - SERVER_FRAME_RATE, + 1, a8::XParams() .SetSender(this), [] (const a8::XParams& param)