Przeglądaj źródła

d06 Исправления

SVI 2 lat temu
rodzic
commit
90eb1595ca

+ 1 - 1
pkg/types/iarsenal.go

@@ -5,7 +5,7 @@ package types
 */
 
 // ИОружейная -- интерфейс к объекту оружейной
-type ИОружейная interface {
+type ИАрсенал interface {
 	ИСценаСтр
 	ИБазаСтроение
 	// Фугасы -- возвращает объект фугасов

+ 1 - 1
pkg/types/ibase.go

@@ -8,7 +8,7 @@ package types
 type ИБаза interface {
 	ИСценаСтр
 	// Арсенал -- возвращает объект арсенала
-	Арсенал() ИОружейная
+	Арсенал() ИАрсенал
 	// Банк -- возвращает объект банка
 	Банк() ИБанк
 	// Полигон -- возвращает объект полигона

+ 108 - 85
server/serv_bots/warbot/angar/base/arsenal/arsenal.go

@@ -22,8 +22,8 @@ const (
 	стрРемки      = "ремки"
 )
 
-// Оружейная -- объект оружейной на базе
-type Оружейная struct {
+// Арсенал -- объект оружейной на базе
+type Арсенал struct {
 	*section.Секция
 	слог         types.ИСлог
 	бот          types.ИБот
@@ -41,39 +41,39 @@ type Оружейная struct {
 	фнОтмена     func()           // Функция отмены шахты
 }
 
-// НовОружейная -- возвращает новый *Arsenal
-func НовОружейная(база types.ИБаза) (*Оружейная, error) {
+// НовАрсенал -- возвращает новый *Arsenal
+func НовАрсенал(база types.ИБаза) (*Арсенал, error) {
 	section, err := section.НовСекция(база.Бот(), "Арсенал", `<span class="green2">Ремкомплект</span><br/>`)
 	if err != nil {
-		return nil, fmt.Errorf("НовОружейная(): in create ISection, err=\n\t%w", err)
+		return nil, fmt.Errorf("НовАрсенал(): in create ISection, err=\n\t%w", err)
 	}
 
 	фугас, ош := static_param.НовСтатПарам(стрФугасы)
 	if ош != nil {
-		return nil, fmt.Errorf("НовОружейная(): при создании статистики фугасов, ош=\n\t%w", ош)
+		return nil, fmt.Errorf("НовАрсенал(): при создании статистики фугасов, ош=\n\t%w", ош)
 	}
 	бронейбойки, ош := static_param.НовСтатПарам(стрБронебойки)
 	if ош != nil {
-		return nil, fmt.Errorf("НовОружейная(): при создании статистики бронебоек, ош=\n\t%w", ош)
+		return nil, fmt.Errorf("НовАрсенал(): при создании статистики бронебоек, ош=\n\t%w", ош)
 	}
 	кумулятив, ош := static_param.НовСтатПарам(стрКумулятивы)
 	if ош != nil {
-		return nil, fmt.Errorf("НовОружейная(): при создании статистики  кумулятивов, ош=\n\t%w", ош)
+		return nil, fmt.Errorf("НовАрсенал(): при создании статистики  кумулятивов, ош=\n\t%w", ош)
 	}
 	ремка, ош := static_param.НовСтатПарам(стрРемки)
 	if ош != nil {
-		return nil, fmt.Errorf("НовОружейная(): при создании статистики  ремок, ош=\n\t%w", ош)
+		return nil, fmt.Errorf("НовАрсенал(): при создании статистики  ремок, ош=\n\t%w", ош)
 	}
 	уровень, ош := static_param.НовСтатПарам("уровень")
 	if ош != nil {
-		return nil, fmt.Errorf("НовОружейная(): при создании статистики числа добычи, ош=\n\t%w", ош)
+		return nil, fmt.Errorf("НовАрсенал(): при создании статистики числа добычи, ош=\n\t%w", ош)
 	}
 	продуктКол, ош := static_param.НовСтатПарам("свинец")
 	if ош != nil {
 		return nil, fmt.Errorf("НовШахта(): при создании статистики числа добычи, ош=\n\t%w", ош)
 	}
 	кнт, фнОтмена := context.WithCancel(база.Контекст())
-	сам := &Оружейная{
+	сам := &Арсенал{
 		Секция:     section,
 		бот:        база.Бот(),
 		слог:       база.Бот().Сервер().Слог(),
@@ -90,41 +90,41 @@ func НовОружейная(база types.ИБаза) (*Оружейная, e
 	{ // ArsenalNet
 		сам.сеть, err = arsenalnet.НовАрсеналСеть(сам)
 		if err != nil {
-			return nil, fmt.Errorf("НовОружейная(): in create NetArsenal, err=\n\t%w", err)
+			return nil, fmt.Errorf("НовАрсенал(): in create NetArsenal, err=\n\t%w", err)
 		}
 	}
-	_ = types.ИОружейная(сам)
+	_ = types.ИАрсенал(сам)
 	return сам, nil
 }
 
 // Уровень -- возвращает уровень шахты
-func (сам *Оружейная) Уровень() types.ИСтатПарам {
+func (сам *Арсенал) Уровень() types.ИСтатПарам {
 	return сам.уровень
 }
 
 // ПродуктКолСейчас -- возвращает количество прозводимого продукта
-func (сам *Оружейная) ПродуктКолСейчас() int {
+func (сам *Арсенал) ПродуктКолСейчас() int {
 	return сам.продуктКол.Получ()
 }
 
 // ПродуктИмяСейчас -- возвращает имя прозводимого продукта
-func (сам *Оружейная) ПродуктИмяСейчас() string {
+func (сам *Арсенал) ПродуктИмяСейчас() string {
 	return сам.продуктИмя
 }
 
 // ПродуктВремяСейчас -- сколько осталось времени до производства продукта
-func (сам *Оружейная) ПродуктВремяСейчас() string {
+func (сам *Арсенал) ПродуктВремяСейчас() string {
 	return сам.продуктВремя
 	// return сам.Секция.ВремяОпрос().Стр()
 }
 
-func (сам *Оружейная) Пуск() error {
+func (сам *Арсенал) Пуск() error {
 	go сам.пуск()
 	return nil
 }
 
 // запускает обработку арсенала
-func (сам *Оружейная) пуск() {
+func (сам *Арсенал) пуск() {
 	// сам.getTime()
 	time.Sleep(time.Second * 3)
 	фнРабота := func() {
@@ -133,16 +133,32 @@ func (сам *Оружейная) пуск() {
 				time.Sleep(time.Second * 5)
 			}
 		}()
-		if сам.уровеньОбновить() {
-			return
+		{ // стройка
+			счёт := 5
+			for счёт > 0 {
+				if сам.построить() {
+					break
+				}
+				счёт--
+			}
+		}
+		{ // апгрейд
+			счёт := 5
+			for счёт > 0 {
+				if сам.проапгрейдить() {
+					break
+				}
+				счёт--
+			}
 		}
+		_ = сам.уровеньОбновить()
 		ош := сам.СтатаОбновить()
 		if ош != nil {
 			сам.слог.Ошибка("ArsenalNet.Run(): in update stat, err=\n\t%w", ош)
-			return
 		}
 		сам.забрать()
 		сам.сделать()
+		log.Printf("Арсенал.пуск(): бот=%q, цикл завершён\n", сам.бот.Имя())
 	}
 	for {
 		select {
@@ -163,19 +179,19 @@ func (сам *Оружейная) пуск() {
 }
 
 // Обновляет текущий уровень оружейки (может быть не построена)
-func (сам *Оружейная) уровеньОбновить() bool {
+func (сам *Арсенал) уровеньОбновить() bool {
 	списСтр, ош := сам.сеть.Клиент().Get("http://wartank.ru/buildings")
 	if ош != nil {
-		log.Printf("Оружейная.уровеньОбновить(): in make request, err=\n\t%v\n", ош)
+		log.Printf("Арсенал.уровеньОбновить(): in make request, err=\n\t%v\n", ош)
 		return false
 	}
-	// <span class="green2">Оружейная - 0</span><br/>
+	// <span class="green2">Арсенал - 0</span><br/>
 	var (
 		еслиНайти = false
 		стр       = ""
 	)
 	for _, стр = range списСтр {
-		if strings.Contains(стр, `<span class="green2">Оружейная - `) {
+		if strings.Contains(стр, `<span class="green2">Арсенал - `) {
 			еслиНайти = true
 			break
 		}
@@ -183,42 +199,49 @@ func (сам *Оружейная) уровеньОбновить() bool {
 	if !еслиНайти {
 		return false
 	}
-	_стр := strings.TrimPrefix(стр, `<span class="green2">Оружейная - `)
+	_стр := strings.TrimPrefix(стр, `<span class="green2">Арсенал - `)
 	_стр = strings.TrimSuffix(_стр, `</span><br/>`)
 	иУровень, ош := strconv.Atoi(_стр)
 	if ош != nil {
-		log.Printf("Оружейная.уровеньОбновить(): строка уровня сбойная, стр=%q, ош=\n\t%v\n", стр, ош)
+		log.Printf("Арсенал.уровеньОбновить(): строка уровня сбойная, стр=%q, ош=\n\t%v\n", стр, ош)
 		return false
 	}
 	сам.уровень.Уст(иУровень)
-	switch иУровень {
-	case 0: // оружейку надо построить
-		счёт := 5
-		for счёт > 0 {
-			if сам.построить(списСтр) {
-				break
-			}
-			счёт--
-		}
-	default: // Пробуем проапгрейдить
-		счёт := 5
-		for счёт > 0 {
-			if сам.проапгрейдить() {
-				break
-			}
-			счёт--
-		}
-	}
 	return true
 }
 
 // Строит оружейку при нулевом уровне
-func (сам *Оружейная) построить(списСтр []string) bool {
-	// <td style="width:50%;padding-left:1px;"><a class="simple-but border mb5" href="building-upgrade/Armory"><span><span>Построить</span></span></a></td>
+func (сам *Арсенал) построить() bool {
+	списСтр, ош := сам.сеть.Клиент().Get("http://wartank.ru/buildings")
+	if ош != nil {
+		log.Printf("Арсенал.уровеньОбновить(): in make request, err=\n\t%v\n", ош)
+		return false
+	}
+	// <span class="green2">Арсенал - 0</span><br/>
 	var (
 		еслиНайти = false
 		стр       = ""
 	)
+	for _, стр = range списСтр {
+		if strings.Contains(стр, `<span class="green2">Арсенал - `) {
+			еслиНайти = true
+			break
+		}
+	}
+	if !еслиНайти {
+		return false
+	}
+	_стр := strings.TrimPrefix(стр, `<span class="green2">Арсенал - `)
+	_стр = strings.TrimSuffix(_стр, `</span><br/>`)
+	иУровень, ош := strconv.Atoi(_стр)
+	if ош != nil {
+		log.Printf("Арсенал.уровеньОбновить(): строка уровня сбойная, стр=%q, ош=\n\t%v\n", стр, ош)
+		return false
+	}
+	сам.уровень.Уст(иУровень)
+	// <td style="width:50%;padding-left:1px;"><a class="simple-but border mb5" href="building-upgrade/Armory"><span><span>Построить</span></span></a></td>
+	стр = ""
+	еслиНайти = false
 	for _, стр = range списСтр {
 		if strings.Contains(стр, `href="building-upgrade/Armory"><span><span>Построить</span></span>`) {
 			еслиНайти = true
@@ -229,12 +252,12 @@ func (сам *Оружейная) построить(списСтр []string) bo
 		return true
 	}
 	// Пробуем построить оружейку
-	_стр := strings.TrimPrefix(стр, `<td style="width:50%;padding-left:1px;"><a class="simple-but border mb5" href="`)
+	_стр = strings.TrimPrefix(стр, `<td style="width:50%;padding-left:1px;"><a class="simple-but border mb5" href="`)
 	_стр = strings.TrimSuffix(_стр, `"><span><span>Построить</span></span></a></td>`)
 	ссылка := "https://wartank.ru/" + _стр
-	списСтр, ош := сам.сеть.Клиент().Get(ссылка)
+	списСтр, ош = сам.сеть.Клиент().Get(ссылка)
 	if ош != nil {
-		log.Printf("ERRO Оружейная.построить(): при GET-команде 'построить оружейку', err=\n\t%v\n", ош)
+		log.Printf("ERRO Арсенал.построить(): при GET-команде 'построить оружейку', err=\n\t%v\n", ош)
 		return false
 	}
 	еслиНайти = false
@@ -254,14 +277,14 @@ func (сам *Оружейная) построить(списСтр []string) bo
 	ссылка = "https://wartank.ru/building-upgrade/" + _стр
 	_, ош = сам.сеть.Клиент().Get(ссылка)
 	if ош != nil {
-		log.Printf("ERRO Оружейная.построить(): при GET-команде 'купить постройку оружейки', err=\n\t%v\n", ош)
+		log.Printf("ERRO Арсенал.построить(): при GET-команде 'купить постройку оружейки', err=\n\t%v\n", ош)
 		return false
 	}
 	return true
 }
 
 // Пытается проапгрейдить оружейку
-func (сам *Оружейная) проапгрейдить() bool {
+func (сам *Арсенал) проапгрейдить() bool {
 	time.Sleep(time.Millisecond * 1000)
 	var (
 		еслиНайти = false
@@ -273,7 +296,7 @@ func (сам *Оружейная) проапгрейдить() bool {
 		defer time.Sleep(time.Millisecond * 1000)
 		списСтр, ош = сам.сеть.Клиент().Get("https://wartank.ru/building-upgrade/Armory")
 		if ош != nil {
-			log.Printf("Оружейная.проапгрейдить().фнКупить(): при GET-команде 'купить постройку оружейки', err=\n\t%v\n", ош)
+			log.Printf("Арсенал.проапгрейдить().фнКупить(): при GET-команде 'купить постройку оружейки', err=\n\t%v\n", ош)
 			return false
 		}
 		for _, стр = range списСтр {
@@ -294,17 +317,17 @@ func (сам *Оружейная) проапгрейдить() bool {
 		ссылка := "https://wartank.ru/building-upgrade/" + _стр
 		списСтр, ош = сам.сеть.Клиент().Get(ссылка)
 		if ош != nil {
-			log.Printf("Оружейная.проапгрейдить().фнКупить(): при GET-команде 'купить постройку оружейки', err=\n\t%v\n", ош)
+			log.Printf("Арсенал.проапгрейдить().фнКупить(): при GET-команде 'купить постройку оружейки', err=\n\t%v\n", ош)
 			return false
 		}
 		// Проверить, что постройка состоялась
 		for _, стр := range списСтр {
 			if strings.Contains(стр, "ILinkListener-upgradeLink-link") {
-				log.Printf("Оружейная.проапгрейдить().фнКупить(): покупка оружейкине прошла\n\tlink=%v\n\tстр=\n\t%v\n", ссылка, стр)
+				log.Printf("Арсенал.проапгрейдить().фнКупить(): покупка оружейкине прошла\n\tlink=%v\n\tстр=\n\t%v\n", ссылка, стр)
 				return false // Покупка не оплачена
 			}
 		}
-		log.Printf("!!!!! Оружейная.проапгрейдить().фнКупить(): покупка оружейки прошла\n")
+		log.Printf("!!!!! Арсенал.проапгрейдить().фнКупить(): покупка оружейки прошла\n")
 		return true
 	}
 
@@ -326,17 +349,17 @@ func (сам *Оружейная) проапгрейдить() bool {
 		ссылка := "https://wartank.ru" + _стр
 		списСтр, ош = сам.сеть.Клиент().Get(ссылка)
 		if ош != nil {
-			log.Printf("Оружейная.проапгрейдить().фнПодтверждение(): при GET-команде 'подтвердить постройку склада топлива', err=\n\t%v\n", ош)
+			log.Printf("Арсенал.проапгрейдить().фнПодтверждение(): при GET-команде 'подтвердить постройку склада топлива', err=\n\t%v\n", ош)
 			return false
 		}
 		// Проверить, что постройка состоялась
 		for _, стр := range списСтр {
 			if strings.Contains(стр, "<title>Вы сделали слишком большую паузу</title>") {
-				log.Printf("Оружейная.проапгрейдить().фнПодтверждение(): подтверждение покупка склада топлива не прошла\n\tlink=%v\n\tстр=\n\t%v\n", ссылка, стр)
+				log.Printf("Арсенал.проапгрейдить().фнПодтверждение(): подтверждение покупка склада топлива не прошла\n\tlink=%v\n\tстр=\n\t%v\n", ссылка, стр)
 				return false // Покупка не оплачена
 			}
 		}
-		log.Printf("+++++Оружейная.проапгрейдить().фнПодтверждение(): подтверждение покупка склада топлива прошла\n")
+		log.Printf("+++++Арсенал.проапгрейдить().фнПодтверждение(): подтверждение покупка склада топлива прошла\n")
 		return true
 	}
 
@@ -356,7 +379,7 @@ func (сам *Оружейная) проапгрейдить() bool {
 }
 
 // Проверяет на забрать оружейную
-func (сам *Оружейная) забрать() bool {
+func (сам *Арсенал) забрать() bool {
 	var (
 		strOut      string
 		ind         int
@@ -389,11 +412,11 @@ func (сам *Оружейная) забрать() bool {
 	time.Sleep(time.Millisecond * 100)
 	лстАрсенал, ош = сам.сеть.Get(strLink)
 	if ош != nil {
-		log.Printf("Оружейная.забрать(): при выполнении Get-запроса? err=\n\t%v\n", ош)
+		log.Printf("Арсенал.забрать(): при выполнении Get-запроса? err=\n\t%v\n", ош)
 		return false
 	}
 	if len(лстАрсенал) == 0 {
-		log.Printf("Оружейная.забрать(): len lstBase(%v)==0", len(lstBase))
+		log.Printf("Арсенал.забрать(): len lstBase(%v)==0", len(lstBase))
 		return false
 	}
 	for _, strOut = range лстАрсенал {
@@ -402,39 +425,39 @@ func (сам *Оружейная) забрать() bool {
 		}
 	}
 	if ош = сам.СтрОбновить(лстАрсенал); ош != nil {
-		log.Printf("Оружейная.checkArsenalGet(): при обновлении lstBase, err=\n\t%v\n", ош)
+		log.Printf("Арсенал.checkArsenalGet(): при обновлении lstBase, err=\n\t%v\n", ош)
 	}
 	if ош = сам.СтрОбновить(лстАрсенал); ош != nil {
-		log.Printf("Оружейная.checkArsenalGet(): при обновлении lstArsenal, err=\n\t%v\n", ош)
+		log.Printf("Арсенал.checkArsenalGet(): при обновлении lstArsenal, err=\n\t%v\n", ош)
 	}
 	return true
 }
 
 // Фугасы -- возвращает объект числа фугасов
-func (сам *Оружейная) Фугасы() types.ИСтатПарам {
+func (сам *Арсенал) Фугасы() types.ИСтатПарам {
 	return сам.фугас
 }
 
 // Бронебойки -- возвращает объект бронебойных снарядов
-func (сам *Оружейная) Бронебойки() types.ИСтатПарам {
+func (сам *Арсенал) Бронебойки() types.ИСтатПарам {
 	return сам.бронебойка
 }
 
 // Кумулятивы -- возвращает объект бронебойных снарядов
-func (сам *Оружейная) Кумулятивы() types.ИСтатПарам {
+func (сам *Арсенал) Кумулятивы() types.ИСтатПарам {
 	return сам.кумулятив
 }
 
 // Ремки -- возвращает объект ремкомплектов
-func (сам *Оружейная) Ремки() types.ИСтатПарам {
+func (сам *Арсенал) Ремки() types.ИСтатПарам {
 	return сам.ремка
 }
 
 // Обновляет состояние арсенала по требованию
-func (сам *Оружейная) СтатаОбновить() (err error) {
+func (сам *Арсенал) СтатаОбновить() (err error) {
 	// _mt.Println("\tArsenalNet.updateArsenal()")
 	if ош := сам.сеть.Обновить(); ош != nil {
-		return fmt.Errorf("Оружейная.СтатаОбновить(): при обновлении lstArsenal, err=%w", ош)
+		return fmt.Errorf("Арсенал.СтатаОбновить(): при обновлении lstArsenal, err=%w", ош)
 	}
 	var (
 		strOut     string
@@ -453,7 +476,7 @@ func (сам *Оружейная) СтатаОбновить() (err error) {
 		strFugas = lstFugas[0]
 		iFugas, err := strconv.Atoi(strFugas)
 		if err != nil {
-			return fmt.Errorf("Оружейная.СтатаОбновить(): fugas(%v) not number, err=\n\t%w", strFugas, err)
+			return fmt.Errorf("Арсенал.СтатаОбновить(): fugas(%v) not number, err=\n\t%w", strFugas, err)
 		}
 		сам.Фугасы().Уст(iFugas)
 	}
@@ -470,7 +493,7 @@ func (сам *Оружейная) СтатаОбновить() (err error) {
 		strArmor = lstArmor[0]
 		iArmor, err := strconv.Atoi(strArmor)
 		if err != nil {
-			return fmt.Errorf("Оружейная.СтатаОбновить(): armor(%v) not number, err=\n\t%w", strArmor, err)
+			return fmt.Errorf("Арсенал.СтатаОбновить(): armor(%v) not number, err=\n\t%w", strArmor, err)
 		}
 		сам.Бронебойки().Уст(iArmor)
 	}
@@ -487,7 +510,7 @@ func (сам *Оружейная) СтатаОбновить() (err error) {
 		strKumul = lstKumul[0]
 		iKumul, err := strconv.Atoi(strKumul)
 		if err != nil {
-			return fmt.Errorf("Оружейная.СтатаОбновить(): kumul(%v) not number, err=\n\t%w", strKumul, err)
+			return fmt.Errorf("Арсенал.СтатаОбновить(): kumul(%v) not number, err=\n\t%w", strKumul, err)
 		}
 		сам.Кумулятивы().Уст(iKumul)
 	}
@@ -504,7 +527,7 @@ func (сам *Оружейная) СтатаОбновить() (err error) {
 		strRemka = lstRemka[0]
 		iRemka, err := strconv.Atoi(strRemka)
 		if err != nil {
-			return fmt.Errorf("Оружейная.СтатаОбновить(): remka(%v) not number, err=\n\t%w", strRemka, err)
+			return fmt.Errorf("Арсенал.СтатаОбновить(): remka(%v) not number, err=\n\t%w", strRemka, err)
 		}
 		сам.Ремки().Уст(iRemka)
 	}
@@ -512,10 +535,10 @@ func (сам *Оружейная) СтатаОбновить() (err error) {
 }
 
 // Выбирает что надо делать, запускает процесс изготовления
-func (сам *Оружейная) сделать() bool {
+func (сам *Арсенал) сделать() bool {
 	ош := сам.сеть.Обновить()
 	if ош != nil {
-		// log._rintf("ERRO Оружейная.сделать(): при обновлении lstArsenal, err=\n\t%v\n", err)
+		// log._rintf("ERRO Арсенал.сделать(): при обновлении lstArsenal, err=\n\t%v\n", err)
 		return false
 	}
 	// _mt.Println("\tArsenalNet.сделать()")
@@ -554,7 +577,7 @@ func (сам *Оружейная) сделать() bool {
 			for !сам.сделатьБронебойки() {
 			}
 		default:
-			// log._rintf("ERRO Оружейная.сделать(): неизвестный тип арсенала(%v)", typeArmor)
+			// log._rintf("ERRO Арсенал.сделать(): неизвестный тип арсенала(%v)", typeArmor)
 		}
 		сам.продуктИмя = снарядТип
 	}
@@ -562,7 +585,7 @@ func (сам *Оружейная) сделать() bool {
 }
 
 // Создать бронебойные
-func (сам *Оружейная) сделатьБронебойки() bool {
+func (сам *Арсенал) сделатьБронебойки() bool {
 	var (
 		стрВых      string
 		lstArsenal  = сам.СписПолучить()
@@ -597,7 +620,7 @@ func (сам *Оружейная) сделатьБронебойки() bool {
 }
 
 // Создать кумулятивные
-func (сам *Оружейная) сделатьКумули() bool {
+func (сам *Арсенал) сделатьКумули() bool {
 	var (
 		стрВых      string
 		lstArsenal  = сам.СписПолучить()
@@ -632,7 +655,7 @@ func (сам *Оружейная) сделатьКумули() bool {
 }
 
 // Создать фугасы
-func (сам *Оружейная) сделатьФугасы() bool {
+func (сам *Арсенал) сделатьФугасы() bool {
 	var (
 		lstArsenal = сам.СписПолучить()
 		стрВых     string
@@ -664,12 +687,12 @@ func (сам *Оружейная) сделатьФугасы() bool {
 		return false
 	}
 	сам.СценаРежим().РежимУст(стрФугасы)
-	// log._rintf("INFO Оружейная.makeFugas()\n")
+	// log._rintf("INFO Арсенал.makeFugas()\n")
 	return true
 }
 
 // Создать ремку. Выполняется если подходят условия
-func (сам *Оружейная) сделатьРемку() bool {
+func (сам *Арсенал) сделатьРемку() bool {
 	// _mt.Println("\tArsenalNet.makeRemka()")
 	var (
 		стрВых      string
@@ -678,7 +701,7 @@ func (сам *Оружейная) сделатьРемку() bool {
 	)
 	lstArsenal, ош := сам.сеть.Клиент().Get("https://wartank.ru/production/Armory")
 	if ош != nil {
-		log.Printf("Оружейная.сделатьРемку(): при получении страницы оружейки, err=\n\t%v\n", ош)
+		log.Printf("Арсенал.сделатьРемку(): при получении страницы оружейки, err=\n\t%v\n", ош)
 		return false
 	}
 	// <span class="green2">Ремкомплект</span><br/>
@@ -703,7 +726,7 @@ func (сам *Оружейная) сделатьРемку() bool {
 	ссылка := "https://wartank.ru/production/" + _ссылка
 	time.Sleep(time.Millisecond * 50)
 	if _, err := сам.сеть.Клиент().Get(ссылка); err != nil {
-		log.Printf("Оружейная.сделатьРемку(): при отдаче команды сделать ремку, err=\n\t%v\n", err)
+		log.Printf("Арсенал.сделатьРемку(): при отдаче команды сделать ремку, err=\n\t%v\n", err)
 		return false
 	}
 	сам.СценаРежим().РежимУст(стрРемки)

+ 1 - 1
server/serv_bots/warbot/angar/base/arsenal/arsenalnet/arsenalnet.go

@@ -17,7 +17,7 @@ type ArsenalNet struct {
 }
 
 // НовАрсеналСеть -- возвращает новый *ArsenalNet
-func НовАрсеналСеть(arsenal types.ИОружейная) (*ArsenalNet, error) {
+func НовАрсеналСеть(arsenal types.ИАрсенал) (*ArsenalNet, error) {
 	sectionNet, err := scene_net.НовСекцияСеть(arsenal, "https://wartank.ru/production/Armory")
 	if err != nil {
 		return nil, fmt.Errorf("NewArsenalNet(): in create SectionNet, err=\n\t%w", err)

+ 3 - 3
server/serv_bots/warbot/angar/base/base.go

@@ -37,7 +37,7 @@ type База struct {
 	*section.Секция
 	бот          types.ИБот
 	сеть         *basenet.BaseNet
-	арсенал      *arsenal.Оружейная
+	арсенал      *arsenal.Арсенал
 	банк         *bank.Банк
 	полигон      *polygon.Полигон
 	шахта        *mine.Шахта
@@ -66,7 +66,7 @@ func НовБаза(ангар types.ИАнгар) (*База, error) {
 		}
 	}
 	{ // Arsenal
-		сам.арсенал, ош = arsenal.НовОружейная(сам)
+		сам.арсенал, ош = arsenal.НовАрсенал(сам)
 		if ош != nil {
 			return nil, fmt.Errorf("NewBase(): in create IArsenal, err=\n\t%w", ош)
 		}
@@ -203,7 +203,7 @@ func (сам *База) setCountDown() {
 }
 
 // Арсенал -- возвращает объект арсенала
-func (сам *База) Арсенал() types.ИОружейная {
+func (сам *База) Арсенал() types.ИАрсенал {
 	return сам.арсенал
 }
 

+ 4 - 2
server/serv_bots/warbot/angar/base/polygon/polygon.go

@@ -112,11 +112,12 @@ func (сам *Полигон) пуск() {
 				continue
 			}
 		}()
+		сам.построитьПровер()
+		сам.проверитьУскорение()
 		сам.усилениеДобавить()
 		сам.усилениеПровер()
 		сам.времяОбнов()
-		сам.построитьПровер()
-		сам.проверитьУскорение()
+
 		if сам.продуктСейчас.Получ() == стрАпгрейд {
 			ош := сам.ВремяОстат().Уст("00:10:00")
 			if ош != nil {
@@ -132,6 +133,7 @@ func (сам *Полигон) пуск() {
 			}
 			счёт--
 		}
+		log.Printf("Полигон.пуск(): бот=%q, цикл завершён\n", сам.бот.Имя())
 	}
 	for {
 		select {