更新诅咒
(uid int64, info string, number int)
| 258 | |
| 259 | // 更新诅咒 |
| 260 | func (sql *fishdb) updateCurseFor(uid int64, info string, number int) (err error) { |
| 261 | if number < 1 { |
| 262 | return |
| 263 | } |
| 264 | sql.Lock() |
| 265 | defer sql.Unlock() |
| 266 | userInfo := fishState{ID: uid} |
| 267 | err = sql.db.Create("fishState", &userInfo) |
| 268 | if err != nil { |
| 269 | return err |
| 270 | } |
| 271 | changeCheck := false |
| 272 | add := 0 |
| 273 | buffName := "宝藏诅咒" |
| 274 | _ = sql.db.Find("fishState", &userInfo, "WHERE ID = ?", uid) |
| 275 | if info == "fish" { |
| 276 | userInfo.Bless += number |
| 277 | for userInfo.Bless >= 75 { |
| 278 | add++ |
| 279 | changeCheck = true |
| 280 | buffName = "净化书" |
| 281 | userInfo.Bless -= 75 |
| 282 | } |
| 283 | } else { |
| 284 | userInfo.Curse += number |
| 285 | for userInfo.Curse >= 10 { |
| 286 | add++ |
| 287 | changeCheck = true |
| 288 | userInfo.Curse -= 10 |
| 289 | } |
| 290 | } |
| 291 | err = sql.db.Insert("fishState", &userInfo) |
| 292 | if err != nil { |
| 293 | return err |
| 294 | } |
| 295 | if changeCheck { |
| 296 | table := strconv.FormatInt(uid, 10) + "Pack" |
| 297 | thing := article{ |
| 298 | Duration: time.Now().Unix(), |
| 299 | Name: buffName, |
| 300 | Type: "treasure", |
| 301 | } |
| 302 | _ = sql.db.Find(table, &thing, "WHERE Name = ?", buffName) |
| 303 | thing.Number += add |
| 304 | return sql.db.Insert(table, &thing) |
| 305 | } |
| 306 | return |
| 307 | } |
| 308 | |
| 309 | /*********************************************************/ |
| 310 | /************************装备相关函数***********************/ |