This commit is contained in:
liwei 2023-08-10 20:28:45 +08:00
commit 47b21022c8
3 changed files with 36 additions and 1 deletions

View File

@ -3,8 +3,10 @@ package stonehenge
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/modules/battle"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"math"
"strconv"
)
@ -176,7 +178,36 @@ func (this *apiComp) Event(session comm.IUserSession, req *pb.StonehengeEventReq
}
return
}
case EventType17: // 英雄回血
case EventType18:
var sz []int32 // 获取
var szHero []string
for _, v := range stone.Hero {
if v.Currhp > 0 {
szHero = append(szHero, v.Oid)
sz = append(sz, 100)
}
}
for _, v := range comm.GetRandWs(sz, eventConf.Value2) {
objId := szHero[v]
maxHp := stone.Hero[objId].Property[battle.AttributesTransBase("hp")]
stone.Hero[objId].Currhp += int32(math.Floor(float64(maxHp*eventConf.Value1) / 1000)) // 回血
}
update["hero"] = stone.Hero
case EventType19:
var sz []int32 // 获取
var szHero []string
for _, v := range stone.Hero { // 过滤死亡英雄
if v.Currhp > 0 {
szHero = append(szHero, v.Oid)
sz = append(sz, 100)
}
}
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千分比
}
update["hero"] = stone.Hero
}
stone.Rooms.Eventid[req.Eventid] = true //

View File

@ -91,6 +91,7 @@ func (this *apiComp) GotoRoom(session comm.IUserSession, req *pb.StonehengeGotoR
Index: stone.CurRoomIndes,
Roomid: curRoomConf.RoomId, // 第一个房间的房间id读配置
Box: map[int32]int32{}, // 重置宝箱事件
// Shop: map[int32]int32{}, // 商店事件
}
if curRoomConf.EventrewardGroup != 0 { // 垃圾事件组

View File

@ -5,6 +5,9 @@ const (
EventType10 = 10 // 宝箱事件
EventType14 = 14 // 战斗事件
EventType16 = 16 // 捡垃圾事件
EventType17 = 17 // 回血事件
EventType18 = 18 // 回血事件 非场景
EventType19 = 19 // 扣血事件 非场景
EventType25 = 25 // buff三选一
EventType28 = 28 // BOSS 战斗
)