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  }