diff --git a/modules/stonehenge/modelStonehenge.go b/modules/stonehenge/modelStonehenge.go index 0b98cb552..126d2ea33 100644 --- a/modules/stonehenge/modelStonehenge.go +++ b/modules/stonehenge/modelStonehenge.go @@ -137,12 +137,16 @@ func (this *MStonehenge) AddNewEvent(event []int32, stone *pb.DBStonehenge) { // 完成事件 开启传送门 func (this *MStonehenge) EventOpenRoom(event int32, stone *pb.DBStonehenge) { stone.Rooms.Complete = true - if curRoomConf, err := this.module.configure.GetStoneRoomDataById(stone.Rooms.Roomid); err == nil { - for _, v := range curRoomConf.Condition { - if eventConf, err := this.module.configure.GetStoneEventDataById(event); err == nil { - if eventConf.EventType == v { - stone.Rooms.Complete = false - break + if roomConf, err := this.module.configure.GetStoneRoomDataById(stone.Rooms.Roomid); err == nil { + for _, v := range roomConf.Condition { + for k, ok := range stone.Rooms.Eventid { + if !ok { + if eventConf, err := this.module.configure.GetStoneEventDataById(k); err == nil { + if eventConf.EventType == v { + stone.Rooms.Complete = false + break + } + } } } if !stone.Rooms.Complete { @@ -150,4 +154,5 @@ func (this *MStonehenge) EventOpenRoom(event int32, stone *pb.DBStonehenge) { } } } + }