2017-10-06 02:56:06 +04:00
|
|
|
|
// i2_bot – Instinct PokememBro Bot
|
|
|
|
|
// Copyright (c) 2017 Vladimir "fat0troll" Hodakov
|
|
|
|
|
|
2017-10-13 03:05:26 +04:00
|
|
|
|
package dbmapping
|
2017-10-06 02:56:06 +04:00
|
|
|
|
|
|
|
|
|
import (
|
2018-02-05 12:37:46 +04:00
|
|
|
|
"math"
|
2017-10-18 07:03:34 +04:00
|
|
|
|
"time"
|
2017-10-06 02:56:06 +04:00
|
|
|
|
)
|
|
|
|
|
|
2017-12-23 18:49:09 +04:00
|
|
|
|
// Profile is a struct, which represents `profiles` table item in database.
|
2017-10-13 03:05:26 +04:00
|
|
|
|
type Profile struct {
|
2017-10-18 09:39:50 +04:00
|
|
|
|
ID int `db:"id"`
|
|
|
|
|
PlayerID int `db:"player_id"`
|
2017-10-18 07:03:34 +04:00
|
|
|
|
Nickname string `db:"nickname"`
|
|
|
|
|
TelegramNickname string `db:"telegram_nickname"`
|
2017-10-18 09:39:50 +04:00
|
|
|
|
LevelID int `db:"level_id"`
|
2017-10-18 07:03:34 +04:00
|
|
|
|
Pokeballs int `db:"pokeballs"`
|
|
|
|
|
Wealth int `db:"wealth"`
|
2017-10-22 13:13:20 +04:00
|
|
|
|
PokememesWealth int `db:"pokememes_wealth"`
|
2017-10-18 07:03:34 +04:00
|
|
|
|
Exp int `db:"exp"`
|
2017-10-18 09:39:50 +04:00
|
|
|
|
EggExp int `db:"egg_exp"`
|
2017-10-18 07:03:34 +04:00
|
|
|
|
Power int `db:"power"`
|
2017-10-18 09:39:50 +04:00
|
|
|
|
WeaponID int `db:"weapon_id"`
|
2017-10-18 07:03:34 +04:00
|
|
|
|
Crystalls int `db:"crystalls"`
|
2017-10-18 09:39:50 +04:00
|
|
|
|
CreatedAt time.Time `db:"created_at"`
|
2017-10-06 02:56:06 +04:00
|
|
|
|
}
|
2018-02-05 12:37:46 +04:00
|
|
|
|
|
|
|
|
|
// 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)
|
|
|
|
|
}
|