40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
// i2_bot – Instinct PokememBro Bot
|
||
// Copyright (c) 2017 Vladimir "fat0troll" Hodakov
|
||
|
||
package dbmapping
|
||
|
||
import (
|
||
"math"
|
||
"time"
|
||
)
|
||
|
||
// Profile is a struct, which represents `profiles` table item in database.
|
||
type Profile struct {
|
||
ID int `db:"id"`
|
||
PlayerID int `db:"player_id"`
|
||
Nickname string `db:"nickname"`
|
||
TelegramNickname string `db:"telegram_nickname"`
|
||
LevelID int `db:"level_id"`
|
||
Pokeballs int `db:"pokeballs"`
|
||
Wealth int `db:"wealth"`
|
||
PokememesWealth int `db:"pokememes_wealth"`
|
||
Exp int `db:"exp"`
|
||
EggExp int `db:"egg_exp"`
|
||
Power int `db:"power"`
|
||
WeaponID int `db:"weapon_id"`
|
||
Crystalls int `db:"crystalls"`
|
||
CreatedAt time.Time `db:"created_at"`
|
||
}
|
||
|
||
// FullExp returns exp points in summary, gained after registration
|
||
func (p *Profile) FullExp() int {
|
||
fullExp := 0.00
|
||
|
||
for i := 1; i < p.LevelID+1; i++ {
|
||
fullExp = fullExp + (100 * math.Pow(2.0, float64(i)))
|
||
}
|
||
|
||
fullExp += float64(p.Exp)
|
||
return int(fullExp)
|
||
}
|