github.com/lianghucheng/zrddz@v0.0.0-20200923083010-c71f680932e2/src/game/internal/subsidy_chip.go (about) 1 package internal 2 3 import ( 4 "conf" 5 "msg" 6 "time" 7 ) 8 9 func (user *User) AskSubsidyChip() { 10 if user.baseData.userData.SubsidyDeadLine < time.Now().Unix() { 11 next := time.Now().Add(24 * time.Hour) 12 user.baseData.userData.SubsidyDeadLine = time.Date(next.Year(), next.Month(), next.Day(), 0, 0, 0, 0, next.Location()).Unix() 13 user.baseData.userData.SubsidyTimes = 0 14 saveUserData(user.baseData.userData) 15 } 16 17 if user.baseData.userData.Chips < int64(conf.Server.SubsidyLine) && user.baseData.userData.SubsidyTimes < 2 { 18 user.WriteMsg(&msg.S2C_SubsidyChip{ 19 SubsidyTimes: user.baseData.userData.SubsidyTimes + 1, 20 TotalTimes: conf.Server.SubsidyTotal, 21 Chip: conf.Server.SubsidyChip, 22 }) 23 } else if user.baseData.userData.SubsidyTimes >= 2 { 24 user.WriteMsg(&msg.S2C_SubsidyChip{ 25 Error: msg.SubsidyMore, 26 }) 27 } 28 } 29 30 func (user *User) TakenSubsidyChip(reply bool) { 31 if reply { 32 if user.baseData.userData.SubsidyDeadLine < time.Now().Unix() { 33 next := time.Now().Add(24 * time.Hour) 34 user.baseData.userData.SubsidyDeadLine = time.Date(next.Year(), next.Month(), next.Day(), 0, 0, 0, 0, next.Location()).Unix() 35 user.baseData.userData.SubsidyTimes = 0 36 } 37 38 if user.baseData.userData.SubsidyTimes < 2 && user.baseData.userData.Chips < int64(conf.Server.SubsidyLine) { 39 user.baseData.userData.SubsidyTimes++ 40 user.baseData.userData.Chips += int64(conf.Server.SubsidyChip) 41 user.WriteMsg(&msg.S2C_UpdateUserChips{ 42 Chips: user.baseData.userData.Chips, 43 }) 44 user.WriteMsg(&msg.S2C_TakenSubsidyChip{ 45 Chip: conf.Server.SubsidyChip, 46 }) 47 saveUserData(user.baseData.userData) 48 WriteChipsRecord(user.baseData.userData, int64(conf.Server.SubsidyChip), subsidyChip) 49 } else if user.baseData.userData.SubsidyTimes >= 2 { 50 user.WriteMsg(&msg.S2C_SubsidyChip{ 51 Error: msg.SubsidyMore, 52 }) 53 } else if user.baseData.userData.Chips >= int64(conf.Server.SubsidyLine) { 54 user.WriteMsg(&msg.S2C_SubsidyChip{ 55 Error: msg.SubsidyNotLack, 56 }) 57 } 58 } 59 }