diff --git a/modules/stonehenge/api_event.go b/modules/stonehenge/api_event.go index 0aeb35a4d..7de2b760a 100644 --- a/modules/stonehenge/api_event.go +++ b/modules/stonehenge/api_event.go @@ -231,6 +231,10 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq objId := szHero[v] maxHp := stone.Hero[objId].Property[battle.AttributesTransBase("hp")] stone.Hero[objId].Currhp += int32(math.Floor(float64(maxHp*eventConf.Value1) / 1000)) // 回血 + // 血量上限处理 + if stone.Hero[objId].Currhp > maxHp { + stone.Hero[objId].Currhp = maxHp + } } update["hero"] = stone.Hero case EventType19: @@ -245,6 +249,9 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq for _, v := range comm.GetRandWs(sz, eventConf.Value2) { objId := szHero[v] stone.Hero[objId].Currhp -= int32(math.Floor(float64(stone.Hero[objId].Currhp*eventConf.Value1) / 1000)) // 扣除当前生命值X(千分比) + if stone.Hero[objId].Currhp <= 0 { // 不能扣死英雄 + stone.Hero[objId].Currhp = 1 + } } update["hero"] = stone.Hero case EventType20: // 克隆一名英雄