|
@@ -8,6 +8,7 @@ import (
|
|
|
"sync"
|
|
"sync"
|
|
|
"time"
|
|
"time"
|
|
|
|
|
|
|
|
|
|
+ "wartank/pkg/alias"
|
|
|
"wartank/pkg/components/section"
|
|
"wartank/pkg/components/section"
|
|
|
"wartank/pkg/components/sound"
|
|
"wartank/pkg/components/sound"
|
|
|
"wartank/pkg/types"
|
|
"wartank/pkg/types"
|
|
@@ -24,8 +25,8 @@ import (
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
const (
|
|
const (
|
|
|
- времОжидПлат = 60 // Время ожидания платного ускорения
|
|
|
|
|
- времОжидБесплат = 1810 // Время ожидания бесплатного ускорения
|
|
|
|
|
|
|
+ времОжидПлат = 60 * 1_000 // Время ожидания платного ускорения
|
|
|
|
|
+ времОжидБесплат = 1810 * 1_000 // Время ожидания бесплатного ускорения
|
|
|
|
|
|
|
|
)
|
|
)
|
|
|
|
|
|
|
@@ -44,7 +45,7 @@ type База struct {
|
|
|
|
|
|
|
|
// НовБаза -- возвращает новую базу бота
|
|
// НовБаза -- возвращает новую базу бота
|
|
|
func НовБаза(ангар types.ИАнгар) (*База, error) {
|
|
func НовБаза(ангар types.ИАнгар) (*База, error) {
|
|
|
- section, err := section.NewSection(ангар.Бот(), "База", `<title>База</title>`)
|
|
|
|
|
|
|
+ section, err := section.НовСекция(ангар.Бот(), "База", `<title>База</title>`)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
return nil, fmt.Errorf("NewBase(): in create ISection, err=\n\t%w", err)
|
|
return nil, fmt.Errorf("NewBase(): in create ISection, err=\n\t%w", err)
|
|
|
}
|
|
}
|
|
@@ -119,7 +120,6 @@ func (sf *База) пуск() {
|
|
|
for {
|
|
for {
|
|
|
select {
|
|
select {
|
|
|
case <-sf.Кнт().Done():
|
|
case <-sf.Кнт().Done():
|
|
|
- sf.ВремяОпрос().Стоп()
|
|
|
|
|
return
|
|
return
|
|
|
// case <-sf.ВремяОпрос().КаналСиг():
|
|
// case <-sf.ВремяОпрос().КаналСиг():
|
|
|
// фнЦикл()
|
|
// фнЦикл()
|
|
@@ -154,24 +154,24 @@ func (sf *База) runComponent() error {
|
|
|
|
|
|
|
|
// Выбирает время обновления базы по компонентам
|
|
// Выбирает время обновления базы по компонентам
|
|
|
func (sf *База) setCountDown() {
|
|
func (sf *База) setCountDown() {
|
|
|
- timeBase := sf.банк.ВремяОпрос().Получ()
|
|
|
|
|
|
|
+ timeBase := sf.банк.ВремяОпрос().ПолучМилСек()
|
|
|
timeCount := timeBase
|
|
timeCount := timeBase
|
|
|
- timeArsenal := sf.арсенал.ВремяОпрос().Получ()
|
|
|
|
|
- timeMine := sf.шахта.ВремяОпрос().Получ()
|
|
|
|
|
|
|
+ timeArsenal := sf.арсенал.ВремяОпрос().ПолучМилСек()
|
|
|
|
|
+ timeMine := sf.шахта.ВремяОпрос().ПолучМилСек()
|
|
|
if timeArsenal < timeCount {
|
|
if timeArsenal < timeCount {
|
|
|
timeCount = timeArsenal
|
|
timeCount = timeArsenal
|
|
|
}
|
|
}
|
|
|
if timeMine < timeCount {
|
|
if timeMine < timeCount {
|
|
|
timeCount = timeMine
|
|
timeCount = timeMine
|
|
|
}
|
|
}
|
|
|
- if timeCount <= 1 {
|
|
|
|
|
|
|
+ if timeCount <= 1*1_000 {
|
|
|
sf.времОстат = 5
|
|
sf.времОстат = 5
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- if timeCount > (600) {
|
|
|
|
|
|
|
+ if timeCount > (600 * 1_000) {
|
|
|
sf.времОстат = 600
|
|
sf.времОстат = 600
|
|
|
}
|
|
}
|
|
|
- sf.SetCountDown(timeCount)
|
|
|
|
|
|
|
+ sf.Секция.ОбратВремяУст(timeCount)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Арсенал -- возвращает объект арсенала
|
|
// Арсенал -- возвращает объект арсенала
|
|
@@ -241,7 +241,7 @@ func (sf *База) checkMineTime() {
|
|
|
strTime := lstTime[1]
|
|
strTime := lstTime[1]
|
|
|
lstTime = strings.Split(strTime, `</span></span></div></td>`)
|
|
lstTime = strings.Split(strTime, `</span></span></div></td>`)
|
|
|
strTime = lstTime[0]
|
|
strTime = lstTime[0]
|
|
|
- if err := sf.шахта.ParseCountDown(strTime); err != nil {
|
|
|
|
|
|
|
+ if err := sf.шахта.ParseCountDown(alias.Время(strTime)); err != nil {
|
|
|
log.Printf("ERRO Base.checkMineTime(): при установке обратного отсчёта(%v), err=\n\t%v\n", strTime, err)
|
|
log.Printf("ERRO Base.checkMineTime(): при установке обратного отсчёта(%v), err=\n\t%v\n", strTime, err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -349,7 +349,7 @@ func (sf *База) шахтаСтатаОбновить() {
|
|
|
strTime := lstTime[1]
|
|
strTime := lstTime[1]
|
|
|
lstTime = strings.Split(strTime, `</span></span></div></td>`)
|
|
lstTime = strings.Split(strTime, `</span></span></div></td>`)
|
|
|
strTime = lstTime[0]
|
|
strTime = lstTime[0]
|
|
|
- if err := sf.шахта.ParseCountDown(strTime); err != nil {
|
|
|
|
|
|
|
+ if err := sf.шахта.ParseCountDown(alias.Время(strTime)); err != nil {
|
|
|
log.Printf("ERRO Base.checkMineStat(): при установке времени ожидания шахты(%v)\n\terr=%v\n", strTime, err)
|
|
log.Printf("ERRO Base.checkMineStat(): при установке времени ожидания шахты(%v)\n\terr=%v\n", strTime, err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -434,7 +434,7 @@ func (sf *База) проверитьАрсеналВремя() {
|
|
|
strTime := lstTime[1]
|
|
strTime := lstTime[1]
|
|
|
lstTime = strings.Split(strTime, `</span></span></div></td>`)
|
|
lstTime = strings.Split(strTime, `</span></span></div></td>`)
|
|
|
strTime = lstTime[0]
|
|
strTime = lstTime[0]
|
|
|
- if err := sf.арсенал.ParseCountDown(strTime); err != nil {
|
|
|
|
|
|
|
+ if err := sf.арсенал.ParseCountDown(alias.Время(strTime)); err != nil {
|
|
|
log.Printf("ERRO Base.checkArsenalTime(): при установке времени ожидания арсенала(%v)\n\terr=%v\n", strTime, err)
|
|
log.Printf("ERRO Base.checkArsenalTime(): при установке времени ожидания арсенала(%v)\n\terr=%v\n", strTime, err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -488,7 +488,7 @@ func (sf *База) проверитьАрсеналУскорение() {
|
|
|
}
|
|
}
|
|
|
{ // Платное ускорение
|
|
{ // Платное ускорение
|
|
|
if strings.Contains(strOut, `Ускорить за`) {
|
|
if strings.Contains(strOut, `Ускорить за`) {
|
|
|
- if err := sf.арсенал.SetCountDown(времОжидПлат); err != nil {
|
|
|
|
|
|
|
+ if err := sf.арсенал.ОбратВремяУст(времОжидПлат); err != nil {
|
|
|
log.Printf("WARN Base.checkArsenalForce(): при установке платного времени ускорения апгрейда арсенала(%v)\n\terr=%v\n", времОжидПлат, err)
|
|
log.Printf("WARN Base.checkArsenalForce(): при установке платного времени ускорения апгрейда арсенала(%v)\n\terr=%v\n", времОжидПлат, err)
|
|
|
}
|
|
}
|
|
|
sf.арсенал.РежимТекущ().Уст("upgrade")
|
|
sf.арсенал.РежимТекущ().Уст("upgrade")
|
|
@@ -531,7 +531,7 @@ func (sf *База) проверитьАрсеналУскорение() {
|
|
|
}
|
|
}
|
|
|
sf.арсенал.РежимТекущ().Уст("upgrade")
|
|
sf.арсенал.РежимТекущ().Уст("upgrade")
|
|
|
sf.арсенал.РежимТекущ().РежимУст("апгрейд")
|
|
sf.арсенал.РежимТекущ().РежимУст("апгрейд")
|
|
|
- if err := sf.арсенал.SetCountDown(времОжидБесплат); err != nil {
|
|
|
|
|
|
|
+ if err := sf.арсенал.ОбратВремяУст(времОжидБесплат); err != nil {
|
|
|
log.Printf("WARN Base.checkArsenalForce(): при установке бесплатного времени ускорения апгрейда арсенала(%v)\n\terr=%v\n", времОжидБесплат, err)
|
|
log.Printf("WARN Base.checkArsenalForce(): при установке бесплатного времени ускорения апгрейда арсенала(%v)\n\terr=%v\n", времОжидБесплат, err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -545,8 +545,8 @@ func (sf *База) проверитьБанк() error {
|
|
|
sf.checkBankMode()
|
|
sf.checkBankMode()
|
|
|
}
|
|
}
|
|
|
sf.checkBankTime() // Проверка времени ожидания
|
|
sf.checkBankTime() // Проверка времени ожидания
|
|
|
- countTime := sf.банк.ВремяОпрос().Получ()
|
|
|
|
|
- if countTime > 5 {
|
|
|
|
|
|
|
+ countTime := sf.банк.ВремяОпрос().ПолучМилСек()
|
|
|
|
|
+ if countTime > 5_000 {
|
|
|
return nil
|
|
return nil
|
|
|
}
|
|
}
|
|
|
sf.checkBankForce() // Нужно ли ускорить апгрейд банка
|
|
sf.checkBankForce() // Нужно ли ускорить апгрейд банка
|
|
@@ -608,7 +608,7 @@ func (sf *База) checkBankTime() {
|
|
|
strTime := lstTime[1]
|
|
strTime := lstTime[1]
|
|
|
lstTime = strings.Split(strTime, `</span></span></div></td>`)
|
|
lstTime = strings.Split(strTime, `</span></span></div></td>`)
|
|
|
strTime = lstTime[0]
|
|
strTime = lstTime[0]
|
|
|
- if err := sf.банк.ParseCountDown(strTime); err != nil {
|
|
|
|
|
|
|
+ if err := sf.банк.ParseCountDown(alias.Время(strTime)); err != nil {
|
|
|
log.Printf("ERRO Base.checkBankTime(): при установке времени ожидания банка(%v)\n\terr=%v\n", strTime, err)
|
|
log.Printf("ERRO Base.checkBankTime(): при установке времени ожидания банка(%v)\n\terr=%v\n", strTime, err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -636,7 +636,7 @@ func (sf *База) checkBankProduct() {
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
sf.банк.UpdateLst()
|
|
sf.банк.UpdateLst()
|
|
|
- sf.банк.SetCountDown(1)
|
|
|
|
|
|
|
+ sf.банк.ОбратВремяУст(1_1000)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Проверка получения серебра из банка
|
|
// Проверка получения серебра из банка
|
|
@@ -683,13 +683,13 @@ func (sf *База) checkBankTake() {
|
|
|
if err := sf.банк.СтрОбновить(lstBank); err != nil {
|
|
if err := sf.банк.СтрОбновить(lstBank); err != nil {
|
|
|
log.Printf("ERRO Base.checkBankTake(): при установке lstBank, err=\n\t%v'n", err)
|
|
log.Printf("ERRO Base.checkBankTake(): при установке lstBank, err=\n\t%v'n", err)
|
|
|
}
|
|
}
|
|
|
- sf.банк.SetCountDown(1)
|
|
|
|
|
|
|
+ sf.банк.ОбратВремяУст(1_000)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
if err := sf.СтрОбновить(lstBank); err != nil {
|
|
if err := sf.СтрОбновить(lstBank); err != nil {
|
|
|
log.Printf("ERRO Base.checkBankTake(): при установке lstBase, err=\n\t%v'n", err)
|
|
log.Printf("ERRO Base.checkBankTake(): при установке lstBase, err=\n\t%v'n", err)
|
|
|
}
|
|
}
|
|
|
- sf.банк.SetCountDown(1)
|
|
|
|
|
|
|
+ sf.банк.ОбратВремяУст(1_000)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Проверяет на ускорение апгрейда банка
|
|
// Проверяет на ускорение апгрейда банка
|
|
@@ -711,7 +711,7 @@ func (sf *База) checkBankForce() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
if isOut && strings.Contains(strOut, `Ускорить за`) {
|
|
if isOut && strings.Contains(strOut, `Ускорить за`) {
|
|
|
- if err := sf.банк.SetCountDown(времОжидПлат); err != nil {
|
|
|
|
|
|
|
+ if err := sf.банк.ОбратВремяУст(времОжидПлат); err != nil {
|
|
|
log.Printf("WARN Base.checkBankForce(): при установке времени ожидания платного ускорения апгрейда банка(%v)\n\terr=%v\n", времОжидПлат, err)
|
|
log.Printf("WARN Base.checkBankForce(): при установке времени ожидания платного ускорения апгрейда банка(%v)\n\terr=%v\n", времОжидПлат, err)
|
|
|
}
|
|
}
|
|
|
sf.банк.РежимТекущ().Уст("upgrade")
|
|
sf.банк.РежимТекущ().Уст("upgrade")
|
|
@@ -747,7 +747,7 @@ func (sf *База) checkBankForce() {
|
|
|
}
|
|
}
|
|
|
sf.банк.РежимТекущ().Уст("upgrade")
|
|
sf.банк.РежимТекущ().Уст("upgrade")
|
|
|
sf.банк.РежимТекущ().РежимУст("апгрейд")
|
|
sf.банк.РежимТекущ().РежимУст("апгрейд")
|
|
|
- if err := sf.банк.SetCountDown(времОжидБесплат); err != nil {
|
|
|
|
|
|
|
+ if err := sf.банк.ОбратВремяУст(времОжидБесплат); err != nil {
|
|
|
log.Printf("WARN Base.checkBankForce(): при установке времени бесплатного ускорения агрейда банка(%v)\n\terr=%v\n", времОжидБесплат, err)
|
|
log.Printf("WARN Base.checkBankForce(): при установке времени бесплатного ускорения агрейда банка(%v)\n\terr=%v\n", времОжидБесплат, err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -775,7 +775,7 @@ func (sf *База) шахтаАпгрейдФорсаж() {
|
|
|
if isOut && strings.Contains(strOut, `Ускорить за`) {
|
|
if isOut && strings.Contains(strOut, `Ускорить за`) {
|
|
|
sf.шахта.РежимТекущ().Уст("upgrade")
|
|
sf.шахта.РежимТекущ().Уст("upgrade")
|
|
|
sf.шахта.РежимТекущ().РежимУст("апгрейд")
|
|
sf.шахта.РежимТекущ().РежимУст("апгрейд")
|
|
|
- if err := sf.шахта.SetCountDown(времОжидПлат); err != nil {
|
|
|
|
|
|
|
+ if err := sf.шахта.ОбратВремяУст(времОжидПлат); err != nil {
|
|
|
log.Printf("WARN Base.checkMineForce(): при установке времени платного апгрейда шахты(%v)\n\terr=%v\n", времОжидПлат, err)
|
|
log.Printf("WARN Base.checkMineForce(): при установке времени платного апгрейда шахты(%v)\n\terr=%v\n", времОжидПлат, err)
|
|
|
}
|
|
}
|
|
|
return
|
|
return
|
|
@@ -806,7 +806,7 @@ func (sf *База) шахтаАпгрейдФорсаж() {
|
|
|
// log._rintf("ERRO NetBank.checkMineForce(): при обновлении lstBase, err=\n\t%v\n", err)
|
|
// log._rintf("ERRO NetBank.checkMineForce(): при обновлении lstBase, err=\n\t%v\n", err)
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- if err := sf.шахта.SetCountDown(времОжидБесплат); err != nil {
|
|
|
|
|
|
|
+ if err := sf.шахта.ОбратВремяУст(времОжидБесплат); err != nil {
|
|
|
log.Printf("WARN Base.checkMineForce(): при установке времени апгрейда шахты(%v)\n\terr=%v\n", времОжидБесплат, err)
|
|
log.Printf("WARN Base.checkMineForce(): при установке времени апгрейда шахты(%v)\n\terr=%v\n", времОжидБесплат, err)
|
|
|
}
|
|
}
|
|
|
// sound.MineForce()
|
|
// sound.MineForce()
|
|
@@ -827,8 +827,8 @@ func (sf *База) проверитьПолигонУсиление() {
|
|
|
isOut bool
|
|
isOut bool
|
|
|
lstBase = sf.СписПолучить()
|
|
lstBase = sf.СписПолучить()
|
|
|
)
|
|
)
|
|
|
- countTime := sf.полигон.ВремяОпрос().Получ()
|
|
|
|
|
- if countTime > 3 {
|
|
|
|
|
|
|
+ countTime := sf.полигон.ВремяОпрос().ПолучМилСек()
|
|
|
|
|
+ if countTime > 3_000 {
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
{ // Проверка на платное ускорение апгрейда
|
|
{ // Проверка на платное ускорение апгрейда
|
|
@@ -852,7 +852,7 @@ func (sf *База) проверитьПолигонУсиление() {
|
|
|
// }
|
|
// }
|
|
|
sf.полигон.РежимТекущ().Уст("upgrade")
|
|
sf.полигон.РежимТекущ().Уст("upgrade")
|
|
|
sf.полигон.РежимТекущ().РежимУст("апгрейд")
|
|
sf.полигон.РежимТекущ().РежимУст("апгрейд")
|
|
|
- if err := sf.полигон.SetCountDown(времОжидПлат); err != nil {
|
|
|
|
|
|
|
+ if err := sf.полигон.ОбратВремяУст(времОжидПлат); err != nil {
|
|
|
log.Printf("WARN Base.checkPolygonForce(): при установке платного времени апгрейда полигона(%v)\n\terr=%v\n", времОжидПлат, err)
|
|
log.Printf("WARN Base.checkPolygonForce(): при установке платного времени апгрейда полигона(%v)\n\terr=%v\n", времОжидПлат, err)
|
|
|
}
|
|
}
|
|
|
return
|
|
return
|
|
@@ -887,7 +887,7 @@ func (sf *База) проверитьПолигонУсиление() {
|
|
|
sf.полигон.РежимТекущ().Уст("upgrade")
|
|
sf.полигон.РежимТекущ().Уст("upgrade")
|
|
|
sf.полигон.РежимТекущ().РежимУст("апгрейд")
|
|
sf.полигон.РежимТекущ().РежимУст("апгрейд")
|
|
|
// Установить время ожидания для обновления
|
|
// Установить время ожидания для обновления
|
|
|
- if err := sf.полигон.SetCountDown(времОжидБесплат); err != nil {
|
|
|
|
|
|
|
+ if err := sf.полигон.ОбратВремяУст(времОжидБесплат); err != nil {
|
|
|
log.Printf("WARN Base.checkPolygonForce(): при установке времени бесплатного апгрейда полигона(%v)\n\terr=%v\n", времОжидБесплат, err)
|
|
log.Printf("WARN Base.checkPolygonForce(): при установке времени бесплатного апгрейда полигона(%v)\n\terr=%v\n", времОжидБесплат, err)
|
|
|
}
|
|
}
|
|
|
// log._rintf("INFO NetBank.checkPolygonForce(): ускорено строительство полигона\n")
|
|
// log._rintf("INFO NetBank.checkPolygonForce(): ускорено строительство полигона\n")
|