| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package data
- import (
- "f1-game/internal/extend/rand"
- "f1-game/internal/types"
- )
- // 获取附加属性的数量
- func (p *EquipRow) GetExtraAttrNum() int32 {
- totalProp := int32(0)
- for _, prop := range p.RandomAttrNumRange {
- totalProp += prop.Value
- }
- randNum := rand.RangeInt(0, totalProp)
- curProp := int32(0)
- for _, prop := range p.RandomAttrNumRange {
- curProp += prop.Value
- if randNum <= curProp {
- return prop.Key
- }
- }
- return 0
- }
- // 随机技能池
- func (p *EquipRow) RandomSingleSkillPool() int32 {
- totalProp := int32(0)
- for _, skillPool := range p.RandomSkillPools {
- totalProp += skillPool.Value
- }
- var (
- randValue = rand.RangeInt(0, totalProp)
- curProp = int32(0)
- )
- for _, skillPool := range p.RandomSkillPools {
- curProp += skillPool.Value
- if randValue <= curProp {
- return skillPool.Key
- }
- }
- return 0
- }
- func (p *EquipRow) CalEquipCraftCosts(num int64) types.Assets {
- needCosts := types.Assets{}
- for _, cost := range p.CraftCosts {
- needCosts.Add(cost.ID, cost.Num*num)
- }
- return needCosts
- }
|