MCPcopy Create free account
hub / github.com/FloatTech/ZeroBot-Plugin-Playground / settleOfWork

Method settleOfWork

plugin/cybercat/keepcat.go:343–371  ·  view source on GitHub ↗

打工结算

(gid string)

Source from the content-addressed store, hash-verified

341
342// 打工结算
343func (inf *catInfo) settleOfWork(gid string) (int, bool) {
344 workTime := inf.Work % 10
345 if workTime <= 0 {
346 return 0, true
347 }
348 lastTime := time.Unix(inf.Work/10, 0)
349 subtime := time.Since(lastTime).Hours()
350 if subtime < float64(workTime) {
351 return 0, false
352 }
353 getFood := 5 * rand.Float64()
354 mood := rand.Intn(int(workTime))
355 if rand.Intn(5) < 3 { // 60%受饿
356 getFood = -(getFood + float64(workTime)*rand.Float64())
357 mood *= -3
358 }
359 inf.Satiety += getFood * 100 / math.Max(1, inf.Weight)
360 inf.Mood += mood
361 inf.Work = time.Now().Unix() * 10
362 inf.LastTime = time.Unix(inf.LastTime, 0).Add(time.Duration(workTime) * time.Hour).Unix()
363 if catdata.insert(gid, inf) != nil {
364 return 0, true
365 }
366 getmoney := 10 + rand.Intn(10*int(workTime))
367 if wallet.InsertWalletOf(inf.User, getmoney) != nil {
368 return 0, true
369 }
370 return getmoney, true
371}

Callers 1

initFunction · 0.80

Calls 1

insertMethod · 0.45

Tested by

no test coverage detected