1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 19:17:38 +08:00

Merge pull request #222 from icarus-ai/master

石头剪子布&随机骰子
This commit is contained in:
Mrs4s 2021-12-18 17:39:29 +08:00 committed by GitHub
commit 39bea4b399
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 41 additions and 1 deletions

View File

@ -66,3 +66,32 @@ func NewDice(value int32) IMessageElement {
MagicValue: fmt.Sprintf("rscType?1;value=%v", value-1), MagicValue: fmt.Sprintf("rscType?1;value=%v", value-1),
} }
} }
type FingerGuessingElement struct {
*MarketFaceElement
Value int32
Name string
}
var fingerGuessingName = map[int32]string{
0: "石头",
1: "剪刀",
2: "布",
}
func NewFingerGuessing(value int32) IMessageElement {
// value 0石头, 1剪子, 2布
if value < 0 || value > 2 {
return nil
}
return &MarketFaceElement{
Name: "[猜拳]",
FaceId: []byte{131, 200, 162, 147, 174, 101, 202, 20, 15, 52, 129, 32, 167, 116, 72, 238},
TabId: 11415,
ItemType: 6,
SubType: 3,
MediaType: 0,
EncryptKey: []byte{55, 100, 101, 51, 57, 102, 101, 98, 99, 102, 52, 53, 101, 54, 100, 98},
MagicValue: fmt.Sprintf("rscType?1;value=%v", value),
}
}

View File

@ -486,7 +486,7 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
EncryptKey: elem.MarketFace.GetKey(), EncryptKey: elem.MarketFace.GetKey(),
MagicValue: utils.B2S(elem.MarketFace.Mobileparam), MagicValue: utils.B2S(elem.MarketFace.Mobileparam),
} }
if face.Name == "[骰子]" { if face.Name == "[骰子]" || face.Name == "[随机骰子]" {
return []IMessageElement{ return []IMessageElement{
&DiceElement{ &DiceElement{
MarketFaceElement: face, MarketFaceElement: face,
@ -498,6 +498,17 @@ func ParseMessageElems(elems []*msg.Elem) []IMessageElement {
}, },
} }
} }
if face.Name == "[猜拳]" {
v := strings.SplitN(face.MagicValue, "=", 2)[1]
t, _ := strconv.ParseInt(v, 10, 32)
return []IMessageElement{
&FingerGuessingElement{
MarketFaceElement: face,
Value: int32(t),
Name : fingerGuessingName[int32(t)],
},
}
}
return []IMessageElement{face} return []IMessageElement{face}
} }
if elem.NotOnlineImage != nil { if elem.NotOnlineImage != nil {