瀏覽代碼

d03 Мелкие исправления

SVI 2 年之前
父節點
當前提交
5e3ac152a4

+ 4 - 3
pkg/cons/cons.go

@@ -9,9 +9,10 @@ import (
 */
 
 const (
-	Delay100 = 100 // Задержка в миллисекундах для битвы, сражения, войны
-	Delay500 = 500 // Задержка в миллисекундах для сражения (100 мсек -- слишком часто)
-	SelfName = "WarTank"
+	Delay100   = 100 // Задержка в миллисекундах для битвы, сражения, войны
+	Delay500   = 500 // Задержка в миллисекундах для сражения (100 мсек -- слишком часто)
+	SelfName   = "WarTank"
+	ТопливоМин = 315 // Минимальное количество топлива
 )
 
 const (

+ 3 - 2
server/gui/win_main/win_main.go

@@ -25,8 +25,8 @@ type WinMain struct {
 	fyne.Window
 	serv           types.ИСервер
 	app            fyne.App
-	ботВход       string
-	ботПароль        string
+	ботВход        string
+	ботПароль      string
 	boxLeft        *fyne.Container
 	tabBot         *container.AppTabs // Просмотр параметров бота
 	entLogin       *widget.Label      // Логин текущего бота
@@ -397,6 +397,7 @@ func (sf *WinMain) btnBotClick(login string) func() {
 		sf.entPass.Refresh()
 		sf.checkAutoGame.SetChecked(bot.АвтоИграЕсли())
 		sf.resetStat()
+		sf.Window.SetTitle("Бото-ферма [wartank.ru]: =" + login + "=")
 	}
 }
 

+ 29 - 29
server/serv_bots/warbot/angar/angar.go

@@ -27,18 +27,18 @@ import (
 	Объект ангара приложения
 */
 
-// Angar -- ангар для танка
-type Angar struct {
+// Ангар -- ангар для танка
+type Ангар struct {
 	*section.Section
-	сеть    *angarnet.AngarNet
-	netKill *angar_attack.AngarAttack
+	сеть       *angarnet.AngarNet
+	топливоБой *angar_attack.ТопливоБой
 
 	бот      types.ИБот
 	конвой   *convoy.Convoy
 	сражение *battle.Battle
 	битва    *batmas.BatMas
-	база     *base.Base
-	миссии   *missions.Missions
+	база     *base.База
+	миссии   *missions.Миссии
 
 	золото        types.ИСтатПарам
 	уровень       types.ИСтатПарам
@@ -54,7 +54,7 @@ type Angar struct {
 }
 
 // НовАнгар -- возвращает новый *Angar
-func НовАнгар(bot types.ИБот) (*Angar, error) {
+func НовАнгар(bot types.ИБот) (*Ангар, error) {
 	section, err := section.NewSection(bot, "Ангар", `<title>Ангар</title>`)
 	if err != nil {
 		return nil, fmt.Errorf("НовАнгар(): in create ISection, err=\n\t%w", err)
@@ -84,7 +84,7 @@ func НовАнгар(bot types.ИБот) (*Angar, error) {
 	if ош != nil {
 		return nil, fmt.Errorf("НовАнгар(): при создании статистики серебра заработанного за сессию, ош=\n\t%w", ош)
 	}
-	сам := &Angar{
+	сам := &Ангар{
 		Section:       section,
 		бот:           bot,
 		золото:        золото,
@@ -102,7 +102,7 @@ func НовАнгар(bot types.ИБот) (*Angar, error) {
 		}
 	}
 	{ // Сеть атаки
-		сам.netKill, err = angar_attack.NewAngarAttack(сам)
+		сам.топливоБой, err = angar_attack.НовТопливоБой(сам)
 		if err != nil {
 			return nil, fmt.Errorf("НовАнгар(): in create <AngarAttackNet>, err=\n\t%w", err)
 		}
@@ -133,7 +133,7 @@ func НовАнгар(bot types.ИБот) (*Angar, error) {
 		// go sf.batMas.Run()
 	}
 	{ // База
-		сам.база, err = base.NewBase(сам)
+		сам.база, err = base.НовБаза(сам)
 		if err != nil {
 			return nil, fmt.Errorf("НовАнгар(): in make IBase, err=\n\t%w", err)
 		}
@@ -154,9 +154,9 @@ func НовАнгар(bot types.ИБот) (*Angar, error) {
 }
 
 // запускает обработку ангара
-func (sf *Angar) Пуск() error {
+func (sf *Ангар) Пуск() error {
 	{ // Запуск компонентов
-		if err := sf.netKill.Run(); err != nil {
+		if err := sf.топливоБой.Пуск(); err != nil {
 			return fmt.Errorf("Angar.Run(): при пуске сетевой секции опыт за топливо, err=\n\t%w", err)
 		}
 		if err := sf.конвой.Run(); err != nil {
@@ -171,7 +171,7 @@ func (sf *Angar) Пуск() error {
 		if err := sf.база.Run(); err != nil {
 			return fmt.Errorf("Angar.Run(): при пуске базы, err=\n\t%w", err)
 		}
-		if err := sf.миссии.Run(); err != nil {
+		if err := sf.миссии.Пуск(); err != nil {
 			return fmt.Errorf("Angar.Run(): при пуске наград, err=\n\t%w", err)
 		}
 		go sf.топливо.Run()
@@ -207,7 +207,7 @@ func (sf *Angar) Пуск() error {
 }
 
 // Обновляет ресурсы ангара
-func (sf *Angar) updateResurs() {
+func (sf *Ангар) updateResurs() {
 	if err := sf.сеть.UpdateLst(); err != nil {
 		// log._rintf("ERRO Angar.updateResurs(): при обработке ангара в сети, err=\n\t%v\n", err)
 		return
@@ -217,57 +217,57 @@ func (sf *Angar) updateResurs() {
 }
 
 // IMissions -- возвращает ссылку на объект миссий
-func (sf *Angar) Миссии() types.ИМиссии {
+func (sf *Ангар) Миссии() types.ИМиссии {
 	return sf.миссии
 }
 
 // Сражение -- возвращает объект сражения
-func (sf *Angar) Сражение() types.ИСражениеСцена {
+func (sf *Ангар) Сражение() types.ИСражениеСцена {
 	return sf.сражение
 }
 
 // Конвой -- возвращает объект конвоя
-func (sf *Angar) Конвой() types.Конвой {
+func (sf *Ангар) Конвой() types.Конвой {
 	return sf.конвой
 }
 
 // Золото -- возвращает объект золота
-func (sf *Angar) Золото() types.ИСтатПарам {
+func (sf *Ангар) Золото() types.ИСтатПарам {
 	return sf.золото
 }
 
 // Топливо -- возвращает объект топлива
-func (sf *Angar) Топливо() types.ИСтатПарам {
+func (sf *Ангар) Топливо() types.ИСтатПарам {
 	return sf.топливо.Fuel()
 }
 
 // Уровень -- возвращает объект уровня игрока
-func (sf *Angar) Уровень() types.ИСтатПарам {
+func (sf *Ангар) Уровень() types.ИСтатПарам {
 	return sf.уровень
 }
 
 // Прогресс -- возвращает прогрес уровня игрока
-func (sf *Angar) Прогресс() types.ИСтатПарам {
+func (sf *Ангар) Прогресс() types.ИСтатПарам {
 	return sf.progress
 }
 
 // ИгрокиОнлайн -- возвращает количество игроков онлайн
-func (sf *Angar) ИгрокиОнлайн() types.ИСтатПарам {
+func (sf *Ангар) ИгрокиОнлайн() types.ИСтатПарам {
 	return sf.игроковОнлайн
 }
 
 // СереброВсего -- возвращает объект всего серебра в ангаре
-func (sf *Angar) СереброВсего() types.ИСтатПарам {
+func (sf *Ангар) СереброВсего() types.ИСтатПарам {
 	return sf.сереброВсего
 }
 
 // СереброЗаработаноСессия -- возвращает объект серебра за сессию в ангаре
-func (sf *Angar) СереброЗаработаноСессия() types.ИСтатПарам {
+func (sf *Ангар) СереброЗаработаноСессия() types.ИСтатПарам {
 	return sf.silverOnline
 }
 
 // СереброОбновить -- на основе фактического серебра -- обновляет вырабатанное серебро
-func (sf *Angar) СереброОбновить(silverFact int) {
+func (sf *Ангар) СереброОбновить(silverFact int) {
 	if sf.сереброВсего.Получ() == 0 { // Если запуск
 		sf.сереброВсего.Уст(silverFact)
 		return
@@ -285,14 +285,14 @@ func (sf *Angar) СереброОбновить(silverFact int) {
 }
 
 // База -- возвращает базу
-func (sf *Angar) База() types.ИБаза {
+func (sf *Ангар) База() types.ИБаза {
 	sf.блок.Lock()
 	defer sf.блок.Unlock()
 	return sf.база
 }
 
 // Проверяет на исполнение конвоя
-func (sf *Angar) checkConvoy() {
+func (sf *Ангар) checkConvoy() {
 	var (
 		strOut   string
 		isFind   bool
@@ -314,7 +314,7 @@ func (sf *Angar) checkConvoy() {
 }
 
 // Ищет в теле текста ангара серебро
-func (sf *Angar) findSilver() {
+func (sf *Ангар) findSilver() {
 	// _mt.Println("\tAngarNet.findSilver()")
 	lstAngar := sf.СписПолучить()
 	var strOut string
@@ -336,7 +336,7 @@ func (sf *Angar) findSilver() {
 }
 
 // Ищет в теле текста ангара золото
-func (sf *Angar) findGold() {
+func (sf *Ангар) findGold() {
 	var (
 		lstAngar = sf.бот.Ангар().СписПолучить()
 		strOut   string

+ 71 - 73
server/serv_bots/warbot/angar/angar_attack/angar_attack.go

@@ -9,94 +9,92 @@ import (
 	"time"
 
 	"wartank/pkg/components/sectionnet"
+	"wartank/pkg/cons"
 	"wartank/pkg/types"
 )
 
-// AngarAttack -- объект боя на топливе
-type AngarAttack struct {
+// ТопливоБой -- объект боя на топливе
+type ТопливоБой struct {
 	*sectionnet.SectionNet
-	angar types.ИАнгар
+	ангар types.ИАнгар
 }
 
-// NewAngarAttack -- возвращает новый *AngarAttackNet
-func NewAngarAttack(angar types.ИАнгар) (*AngarAttack, error) {
+// НовТопливоБой -- возвращает новый *AngarAttackNet
+func НовТопливоБой(angar types.ИАнгар) (*ТопливоБой, error) {
 	sectionNet, err := sectionnet.NewSectionNet(angar, "http://wartank.ru/battle")
 	if err != nil {
 		return nil, fmt.Errorf("NewAngarAttack(): in create SectionNet, err=\n\t%w", err)
 	}
-	sf := &AngarAttack{
+	sf := &ТопливоБой{
 		SectionNet: sectionNet,
-		angar:      angar,
+		ангар:      angar,
 	}
 	return sf, nil
 }
 
-func (sf *AngarAttack) Run() error {
-	go sf.run()
+func (sf *ТопливоБой) Пуск() error {
+	go sf.пуск()
 	return nil
 }
 
-func (sf *AngarAttack) run() {
+func (sf *ТопливоБой) пуск() {
 	for {
 		time.Sleep(time.Second * 15) // Минимальный интервал ожттдания прибавки топлива
-		fuel := sf.angar.Топливо().Получ()
-		if fuel < 314 { // Минимальная ёмкость бака -- 315
+		топливо := sf.ангар.Топливо().Получ()
+		if топливо < cons.ТопливоМин { // Минимальная ёмкость бака -- 315
 			continue
 		}
-		log.Printf("Fuel.Run: val=%v\n", fuel)
-		lstBattle, err := sf.makeAtack()
+		log.Printf("Fuel.Run: val=%v\n", топливо)
+		списСтрБой, err := sf.начатьБой()
 		if err != nil {
 			// log._rintf("ERRO AngarAttack.findFuel(): in get page battle, err=\n\t%v\n", err)
 			continue
 		}
-		lstShoot2, err := sf.makeSelectBattle(lstBattle)
+		списВыстрел1, err := sf.выбратьБойСлабый(списСтрБой)
 		if err != nil {
 			// log._rintf("ERRO AngarAttack.findFuel(): in get page shooting, err=\n\t%v\n", err)
 			continue
 		}
-		if err := sf.makeShooting(lstShoot2); err != nil {
+		if err := sf.сделатьВыстрелы(списВыстрел1); err != nil {
 			log.Printf("ERRO AngarAttack.findFuel(): in make shooting, err=\n\t%v\n", err)
 		}
 	}
 
 }
 
-// Идёт в атаку, если топлива больше 90
-func (sf *AngarAttack) makeAtack() (lstBattle []string, err error) {
+// Идёт в атаку, если топлива больше cons.ТопливоМин
+func (sf *ТопливоБой) начатьБой() (спискСтрБой []string, err error) {
 	// Получить ссылку на атаку
 	// _mt.Println("\t AngarAttack.makeAtack()")
-	lstAngar := sf.angar.СписПолучить()
-	var strOut string
-	for _, strAtack := range lstAngar {
-		if strings.Contains(strAtack, `<span>В бой!</span>`) {
-			strOut = strAtack
+	lstAngar := sf.ангар.СписПолучить()
+	var стрАнализ string
+	for _, стрАтак := range lstAngar {
+		if strings.Contains(стрАтак, `<span>В бой!</span>`) {
+			стрАнализ = стрАтак
 			break
 		}
 	}
 	// Вырезать ссылку на атаку
-	lstAngar = strings.Split(strOut, `<a class="simple-but border mb1" href="`)
-	linkBatle := lstAngar[1]
-	lstAngar = strings.Split(linkBatle, `"><span><span>В бой!</span></span></a>`)
-	linkBatle = "http://wartank.ru/" + lstAngar[0]
-	lstBattle, err = sf.Get(linkBatle)
+	lstAngar = strings.Split(стрАнализ, `<a class="simple-but border mb1" href="`)
+	бойСсылка := lstAngar[1]
+	lstAngar = strings.Split(бойСсылка, `"><span><span>В бой!</span></span></a>`)
+	бойСсылка = "http://wartank.ru/" + lstAngar[0]
+	спискСтрБой, err = sf.Get(бойСсылка)
 	if err != nil {
 		return nil, fmt.Errorf("AngarAttack.makeAtack(): in make GET-request to battle, err=\n\t%w", err)
 	}
-	fuel := sf.angar.Топливо().Получ()
-	fuel -= 30
-	sf.angar.Топливо().Уст(fuel)
-	return lstBattle, nil
+	return спискСтрБой, nil
 }
 
 // Выбирает первого более слабого противника и делает первый выстрел
-func (sf *AngarAttack) makeSelectBattle(lstBattle []string) (lstShoot2 []string, err error) {
+func (sf *ТопливоБой) выбратьБойСлабый(списСтрБой []string) (списСтрВыстрел1 []string, err error) {
 	// _mt.Println("\tAngarNet.makeSelectBattle()")
-	var strOut string
+	var стрАнализ string
 	defer func() {
-		if _panic := recover(); _panic != nil {
+		if паника := recover(); паника != nil {
 			msg := time.Now().Local().Format("2006-01-02 15:04:05.000 ") + "fnShoot1\n"
 			msg += "\tNetClient.makeSelectBattle().fnShoot1()\n"
-			msg0 := fmt.Sprintf("%v\n", _panic)
+			msg0 := fmt.Sprintf("%v\n", паника)
 			msg1 := ""
 			for _, _msg := range strings.Split(msg0, "\n") {
 				if _msg == "" {
@@ -108,7 +106,7 @@ func (sf *AngarAttack) makeSelectBattle(lstBattle []string) (lstShoot2 []string,
 			// _mt.Println(msg)
 			err = fmt.Errorf("%v", msg)
 			msg1 = "" // Сброс накопленной ошибки
-			for _, _msg := range lstBattle {
+			for _, _msg := range списСтрБой {
 				if _msg == "" {
 					continue
 				}
@@ -121,35 +119,35 @@ func (sf *AngarAttack) makeSelectBattle(lstBattle []string) (lstShoot2 []string,
 		}
 	}()
 	// Выдернуть строку с первой ссылкой на противника
-	for _, strBattle := range lstBattle {
-		if strings.Contains(strBattle, `opponents-opponents-0`) {
-			strOut = strBattle
+	for _, стрБой_ := range списСтрБой {
+		if strings.Contains(стрБой_, `opponents-opponents-0`) {
+			стрАнализ = стрБой_
 			break
 		}
 	}
-	var linkBattle string
-	switch strOut == "" {
+	var ссылкаБой string
+	switch стрАнализ == "" {
 	case true: // Такая ситуация возможна, если уже были какие-то выстрелы
-		return lstBattle, nil
+		return списСтрБой, nil
 	default: // Успешный выстрел
 		// Вырезать ссылку из строки
-		lstBattle = strings.Split(strOut, `<td class="cntr"><a href="`)
-		linkBattle = lstBattle[1]
-		lstBattle = strings.Split(linkBattle, `"><img class="tank-img" alt="tank" src="/tankimg?`)
-		linkBattle = "http://wartank.ru/" + lstBattle[0]
+		списСтрБой = strings.Split(стрАнализ, `<td class="cntr"><a href="`)
+		ссылкаБой = списСтрБой[1]
+		списСтрБой = strings.Split(ссылкаБой, `"><img class="tank-img" alt="tank" src="/tankimg?`)
+		ссылкаБой = "http://wartank.ru/" + списСтрБой[0]
 	}
-	lstShoot2, err = sf.Get(linkBattle)
+	списСтрВыстрел1, err = sf.Get(ссылкаБой)
 	if err != nil {
 		return nil, fmt.Errorf("AngarAttack.makeSelectBattle(): in GET-response select battle tank, err=\n\t%w", err)
 	}
-	return lstShoot2, nil
+	return списСтрВыстрел1, nil
 }
 
-// Ведёт бой в 2 выстрела (2 и 3 выстрел)
-func (sf *AngarAttack) makeShooting(lstShoot2 []string) error {
+// Ведёт бой в 2 выстрела (здесь только 2 и 3 выстрел -- первый сделан при слабом противнике)
+func (sf *ТопливоБой) сделатьВыстрелы(lstShoot2 []string) error {
 	// _mt.Println("\tAngarNet.makeShooting()")
-	var lstShoot3 []string           // Тело страницы для третьего выстрела
-	fnShoot2 := func() (err error) { // Второй выстрел
+	var списВыстрел3 []string           // Тело страницы для третьего выстрела
+	фнВыстрел2 := func() (err error) { // Второй выстрел
 		// _mt.Println("\tAngarNet.makeShooting().fnShoot2()")
 		defer func() {
 			if _panic := recover(); _panic != nil {
@@ -197,7 +195,7 @@ func (sf *AngarAttack) makeShooting(lstShoot2 []string) error {
 				}
 			}
 			if strOut == "" { // Это ситуация для третьего выстрела
-				lstShoot3 = lstShoot2
+				списВыстрел3 = lstShoot2
 				return nil
 			}
 			// Вырезать ссылку из строки
@@ -212,19 +210,19 @@ func (sf *AngarAttack) makeShooting(lstShoot2 []string) error {
 			lstShoot2 = strings.Split(linkShoot2, `"><span><span>Добить</span></span></a>`)
 			linkShoot2 = "http://wartank.ru/" + lstShoot2[0]
 		}
-		lstShoot3, err = sf.Get(linkShoot2)
+		списВыстрел3, err = sf.Get(linkShoot2)
 		if err != nil {
 			return fmt.Errorf("AngarAttack.makeShooting(): in Get-response shoot2, err=\n\t%w", err)
 		}
-		fuel := sf.angar.Топливо().Получ()
+		fuel := sf.ангар.Топливо().Получ()
 		fuel -= 30
-		sf.angar.Топливо().Уст(fuel)
+		sf.ангар.Топливо().Уст(fuel)
 		return nil
 	}
-	if err := fnShoot2(); err != nil {
+	if err := фнВыстрел2(); err != nil {
 		return err
 	}
-	fnShoot3 := func() (err error) { // Третий выстрел
+	фнВыстрел3 := func() (err error) { // Третий выстрел
 		// _mt.Println("\tAngarNet.makeShooting().fnShoot3()")
 		defer func() {
 			if _panic := recover(); _panic != nil {
@@ -242,7 +240,7 @@ func (sf *AngarAttack) makeShooting(lstShoot2 []string) error {
 				// _mt.Println(msg)
 				err = fmt.Errorf("%v", msg)
 				msg1 = "" // Сброс накопленной ошибки
-				for _, _msg := range lstShoot3 {
+				for _, _msg := range списВыстрел3 {
 					if _msg == "" {
 						continue
 					}
@@ -256,7 +254,7 @@ func (sf *AngarAttack) makeShooting(lstShoot2 []string) error {
 		}()
 		// Получить ссылку на третий выстрел
 		var strOut string
-		for _, strShoot3 := range lstShoot3 {
+		for _, strShoot3 := range списВыстрел3 {
 			if strings.Contains(strShoot3, `<span>Уничтожить</span>`) {
 				strOut = strShoot3
 				break
@@ -266,7 +264,7 @@ func (sf *AngarAttack) makeShooting(lstShoot2 []string) error {
 		switch strOut == "" {
 		case true: // Если не найдена ссылка -- значит было поражение в выстреле
 			if strOut == "" {
-				for _, strShoot3 := range lstShoot3 {
+				for _, strShoot3 := range списВыстрел3 {
 					if strings.Contains(strShoot3, `<span>Взять реванш</span>`) {
 						strOut = strShoot3
 						break
@@ -274,27 +272,27 @@ func (sf *AngarAttack) makeShooting(lstShoot2 []string) error {
 				}
 			}
 			// Вырезать ссылку из строки
-			lstShoot3 = strings.Split(strOut, `<a class="simple-but border" href="`)
-			linkShoot3 = lstShoot3[1]
-			lstShoot3 = strings.Split(linkShoot3, `"><span><span>Взять реванш</span></span></a>`)
-			linkShoot3 = "http://wartank.ru/" + lstShoot3[0]
+			списВыстрел3 = strings.Split(strOut, `<a class="simple-but border" href="`)
+			linkShoot3 = списВыстрел3[1]
+			списВыстрел3 = strings.Split(linkShoot3, `"><span><span>Взять реванш</span></span></a>`)
+			linkShoot3 = "http://wartank.ru/" + списВыстрел3[0]
 		default: // Успешный выстрел
 			// Вырезать ссылку из строки
-			lstShoot3 = strings.Split(strOut, `<a class="simple-but border" href="`)
-			linkShoot3 = lstShoot3[1]
-			lstShoot3 = strings.Split(linkShoot3, `"><span><span>Уничтожить</span></span></a>`)
-			linkShoot3 = "http://wartank.ru/" + lstShoot3[0]
+			списВыстрел3 = strings.Split(strOut, `<a class="simple-but border" href="`)
+			linkShoot3 = списВыстрел3[1]
+			списВыстрел3 = strings.Split(linkShoot3, `"><span><span>Уничтожить</span></span></a>`)
+			linkShoot3 = "http://wartank.ru/" + списВыстрел3[0]
 		}
 
 		if _, err = sf.Get(linkShoot3); err != nil {
 			return fmt.Errorf("AngarAttack.makeShooting(): in Get-response shoot3, err=\n\t%w", err)
 		}
-		fuel := sf.angar.Топливо().Получ()
+		fuel := sf.ангар.Топливо().Получ()
 		fuel -= 30
-		sf.angar.Топливо().Уст(fuel)
+		sf.ангар.Топливо().Уст(fuel)
 		return nil
 	}
-	if err := fnShoot3(); err != nil {
+	if err := фнВыстрел3(); err != nil {
 		return err
 	}
 	return nil

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

@@ -24,66 +24,66 @@ import (
 */
 
 const (
-	forceTimePay  = 60   // Время ожидания платного ускорения
-	forceTimeFree = 1810 // Время ожидания бесплатного ускорения
+	времОжидПлат    = 60   // Время ожидания платного ускорения
+	времОжидБесплат = 1810 // Время ожидания бесплатного ускорения
 
 )
 
-// Base -- объект базы
-type Base struct {
+// База -- объект базы
+type База struct {
 	*section.Section
-	net       *basenet.BaseNet
-	arsenal   *arsenal.Арсенал
-	bank      *bank.Bank
-	polygon   *polygon.Polygon
-	mine      *mine.Шахта
-	market    *market.Market
-	timeSleep int // Сколько времени спать до опроса базы
-	block     sync.Mutex
+	сеть       *basenet.BaseNet
+	арсенал   *arsenal.Арсенал
+	банк      *bank.Bank
+	полигон   *polygon.Polygon
+	шахта      *mine.Шахта
+	ранок    *market.Market
+	времОстат int // Сколько времени спать до опроса базы
+	блок     sync.Mutex
 }
 
-// NewBase -- возвращает новую базу бота
-func NewBase(angar types.ИАнгар) (*Base, error) {
-	section, err := section.NewSection(angar.Бот(), "База", `<title>База</title>`)
+// НовБаза -- возвращает новую базу бота
+func НовБаза(ангар types.ИАнгар) (*База, error) {
+	section, err := section.NewSection(ангар.Бот(), "База", `<title>База</title>`)
 	if err != nil {
 		return nil, fmt.Errorf("NewBase(): in create ISection, err=\n\t%w", err)
 	}
 	log.Printf("NewBase(): %q\n", section.Бот().Имя())
-	sf := &Base{
+	sf := &База{
 		Section: section,
 	}
 	{ // База в сети
-		sf.net, err = basenet.NewBaseNet(sf)
+		sf.сеть, err = basenet.NewBaseNet(sf)
 		if err != nil {
 			return nil, fmt.Errorf("NewBase(): in create NetBase, err=\n\t%w", err)
 		}
 	}
 	{ // Arsenal
-		sf.arsenal, err = arsenal.НовАрсенал(sf)
+		sf.арсенал, err = arsenal.НовАрсенал(sf)
 		if err != nil {
 			return nil, fmt.Errorf("NewBase(): in create IArsenal, err=\n\t%w", err)
 		}
 	}
 	{ // Bank
-		sf.bank, err = bank.НовБанк(sf)
+		sf.банк, err = bank.НовБанк(sf)
 		if err != nil {
 			return nil, fmt.Errorf("NewBase(): in create IBank, err=\n\t%w", err)
 		}
 	}
 	{ // Mine
-		sf.mine, err = mine.НовШахта(sf)
+		sf.шахта, err = mine.НовШахта(sf)
 		if err != nil {
 			return nil, fmt.Errorf("NewBase(): in create IMine, err=\n\t%w", err)
 		}
 	}
 	{ // Market
-		sf.market, err = market.NewMarket(sf)
+		sf.ранок, err = market.NewMarket(sf)
 		if err != nil {
 			return nil, fmt.Errorf("NewBase(): при создании IMarket, err=\n\t%w", err)
 		}
 	}
 	{ // Polygon
-		sf.polygon, err = polygon.NewPolygon(sf)
+		sf.полигон, err = polygon.NewPolygon(sf)
 		if err != nil {
 			return nil, fmt.Errorf("NewBase(): in create IPolygon, err=\n\t%w", err)
 		}
@@ -92,7 +92,7 @@ func NewBase(angar types.ИАнгар) (*Base, error) {
 }
 
 // Запускает базу в обработку
-func (sf *Base) Run() error {
+func (sf *База) Run() error {
 	log.Printf("Base.Run()\n")
 	if err := sf.runComponent(); err != nil {
 		return fmt.Errorf("Base.Run(): run, err=\n\t%w", err)
@@ -102,14 +102,14 @@ func (sf *Base) Run() error {
 }
 
 // Собственная работа
-func (sf *Base) run() {
+func (sf *База) run() {
 	for {
 		select {
 		case <-sf.Кнт().Done():
 			sf.ВремяОпрос().Стоп()
 			return
 		case <-sf.ВремяОпрос().КаналСиг():
-			if err := sf.net.UpdateLst(); err != nil { // Обновить состояние базы
+			if err := sf.сеть.UpdateLst(); err != nil { // Обновить состояние базы
 				log.Printf("ERRO Base.Run(): при обновлении базы, err=\n\t%v\n", err)
 			}
 			sf.checkPolygonForce()                 // Проверить усиление полигона
@@ -119,41 +119,41 @@ func (sf *Base) run() {
 			sf.checkArsenal() // Проверка арсенала
 			sf.checkMine()    // Проверка шахты
 			sf.setCountDown() // Установка счётчика времени
-			time.Sleep(time.Second * time.Duration(sf.timeSleep))
+			time.Sleep(time.Second * time.Duration(sf.времОстат))
 			// sf.CountDown().Set(45)
 		}
 	}
 }
 
 // Запускает компоненты
-func (sf *Base) runComponent() error {
+func (sf *База) runComponent() error {
 	log.Printf("Base.run()\n")
-	sf.block.Lock()
-	defer sf.block.Unlock()
-	if err := sf.arsenal.Run(); err != nil {
+	sf.блок.Lock()
+	defer sf.блок.Unlock()
+	if err := sf.арсенал.Run(); err != nil {
 		return fmt.Errorf("Base.run(): in run IArsenal, err=\n\t%w", err)
 	}
-	if err := sf.bank.Run(); err != nil {
+	if err := sf.банк.Run(); err != nil {
 		return fmt.Errorf("Base.run(): in run IBank, err=\n\t%w", err)
 	}
-	if err := sf.mine.Run(); err != nil {
+	if err := sf.шахта.Run(); err != nil {
 		return fmt.Errorf("Base.run(): in run IMine, err=\n\t%w", err)
 	}
-	if err := sf.market.Run(); err != nil {
+	if err := sf.ранок.Run(); err != nil {
 		return fmt.Errorf("Base.run(): in run IMarket, err=\n\t%w", err)
 	}
-	if err := sf.polygon.Run(); err != nil {
+	if err := sf.полигон.Run(); err != nil {
 		return fmt.Errorf("Base.run(): in run IPolygon, err=\n\t%w", err)
 	}
 	return nil
 }
 
 // Выбирает время обновления базы по компонентам
-func (sf *Base) setCountDown() {
-	timeBase := sf.bank.ВремяОпрос().Получ()
+func (sf *База) setCountDown() {
+	timeBase := sf.банк.ВремяОпрос().Получ()
 	timeCount := timeBase
-	timeArsenal := sf.arsenal.ВремяОпрос().Получ()
-	timeMine := sf.mine.ВремяОпрос().Получ()
+	timeArsenal := sf.арсенал.ВремяОпрос().Получ()
+	timeMine := sf.шахта.ВремяОпрос().Получ()
 	if timeArsenal < timeCount {
 		timeCount = timeArsenal
 	}
@@ -161,53 +161,53 @@ func (sf *Base) setCountDown() {
 		timeCount = timeMine
 	}
 	if timeCount <= 1 {
-		sf.timeSleep = 5
+		sf.времОстат = 5
 		return
 	}
 	if timeCount > (600) {
-		sf.timeSleep = 600
+		sf.времОстат = 600
 	}
 	sf.SetCountDown(timeCount)
 }
 
 // Арсенал -- возвращает объект арсенала
-func (sf *Base) Арсенал() types.ИАрсенал {
-	return sf.arsenal
+func (sf *База) Арсенал() types.ИАрсенал {
+	return sf.арсенал
 }
 
 // Банк -- возвращает объект банка
-func (sf *Base) Банк() types.ИБанк {
-	sf.block.Lock()
-	defer sf.block.Unlock()
-	return sf.bank
+func (sf *База) Банк() types.ИБанк {
+	sf.блок.Lock()
+	defer sf.блок.Unlock()
+	return sf.банк
 }
 
 // Полигон -- возвращает объект полигона
-func (sf *Base) Полигон() types.ИПолигон {
-	return sf.polygon
+func (sf *База) Полигон() types.ИПолигон {
+	return sf.полигон
 }
 
 // Шахта -- возвращает объект шахты
-func (sf *Base) Шахта() types.ИШахта {
-	return sf.mine
+func (sf *База) Шахта() types.ИШахта {
+	return sf.шахта
 }
 
 // Рынок -- возвращает объект рынка
-func (sf *Base) Рынок() types.ИРынок {
-	return sf.market
+func (sf *База) Рынок() types.ИРынок {
+	return sf.ранок
 }
 
 // Проверяет на забрать шахту
-func (sf *Base) checkMine() {
-	countTime := sf.mine.ВремяОпрос().Получ()
+func (sf *База) checkMine() {
+	countTime := sf.шахта.ВремяОпрос().Получ()
 	if countTime > 3 {
 		return
 	}
-	if sf.mine.Руда().Получ() == 0 {
+	if sf.шахта.Руда().Получ() == 0 {
 		sf.checkMineStat()
 	}
 	sf.checkMineForce() // Нужно ли ускорить апгрейд шахты
-	if sf.mine.РежимТекущ().Получ() == "upgrade" {
+	if sf.шахта.РежимТекущ().Получ() == "upgrade" {
 		return
 	}
 	sf.checkMineStat()
@@ -218,7 +218,7 @@ func (sf *Base) checkMine() {
 }
 
 // Проверяет время ожидания шахты
-func (sf *Base) checkMineTime() {
+func (sf *База) checkMineTime() {
 	var (
 		lstBase = sf.СписПолучить()
 		strOut  string
@@ -244,13 +244,13 @@ func (sf *Base) checkMineTime() {
 	strTime := lstTime[1]
 	lstTime = strings.Split(strTime, `</span></span></div></td>`)
 	strTime = lstTime[0]
-	if err := sf.mine.ParseCountDown(strTime); err != nil {
+	if err := sf.шахта.ParseCountDown(strTime); err != nil {
 		log.Printf("ERRO Base.checkMineTime(): при установке обратного отсчёта(%v), err=\n\t%v\n", strTime, err)
 	}
 }
 
 // Проверяет на забор из шахты
-func (sf *Base) checkMineGet() {
+func (sf *База) checkMineGet() {
 	var (
 		strOut  string
 		ind     int
@@ -275,20 +275,20 @@ func (sf *Base) checkMineGet() {
 	strLink := lstLink[1]
 	lstLink = strings.Split(strLink, `"><span><span>Забрать</span></span></a>`)
 	strLink = "http://wartank.ru/" + lstLink[0]
-	lstBase1, err := sf.net.Get(strLink)
+	lstBase1, err := sf.сеть.Get(strLink)
 	if err != nil {
 		// log._rintf("ERRO Base.checkMineGet(): при выполнении Get-запроса 'забрать', err=\n\t%v\n", err)
 		return
 	}
-	if err = sf.mine.СтрОбновить(lstBase1); err != nil {
+	if err = sf.шахта.СтрОбновить(lstBase1); err != nil {
 		// log._rintf("ERRO Base.checkMineGet(): при обновлении lstMine, err=\n\t%v\n", err)
 		return
 	}
-	sf.mine.SetCountDown(1)
+	sf.шахта.SetCountDown(1)
 }
 
 // Проверка статистики шахты
-func (sf *Base) checkMineStat() {
+func (sf *База) checkMineStat() {
 	var (
 		lstMine = sf.СписПолучить()
 		strOut  string
@@ -312,7 +312,7 @@ func (sf *Base) checkMineStat() {
 				log.Printf("ERRO Base.checkMineStat(): руда(%v) не число, err=\n\t%v\n", strRuda, err)
 				return
 			}
-			sf.mine.Руда().Уст(iRuda)
+			sf.шахта.Руда().Уст(iRuda)
 		}
 	}
 	{ // Ищем железо
@@ -332,7 +332,7 @@ func (sf *Base) checkMineStat() {
 				log.Printf("ERRO Base.checkMineStat(): железо(%v) не число, err=\n\t%v\n", strFerrum, err)
 				return
 			}
-			sf.mine.Железо().Уст(iFerrum)
+			sf.шахта.Железо().Уст(iFerrum)
 		}
 	}
 	{ // Ищем сталь
@@ -352,7 +352,7 @@ func (sf *Base) checkMineStat() {
 				log.Printf("ERRO Base.checkMineStat(): сталь(%v) не число, err=\n\t%v\n", strSteel, err)
 				return
 			}
-			sf.mine.Сталь().Уст(iSteel)
+			sf.шахта.Сталь().Уст(iSteel)
 		}
 	}
 	{ // Ищем свинец
@@ -372,7 +372,7 @@ func (sf *Base) checkMineStat() {
 				log.Printf("ERRO Base.checkMineStat(): свинец(%v) не число, err=\n\t%v\n", strPlumbum, err)
 				return
 			}
-			sf.mine.Свинец().Уст(iPlumbum)
+			sf.шахта.Свинец().Уст(iPlumbum)
 		}
 	}
 	{ // Ищем время обработки и режим
@@ -390,7 +390,7 @@ func (sf *Base) checkMineStat() {
 			strTime := lstTime[1]
 			lstTime = strings.Split(strTime, `</span></span></div></td>`)
 			strTime = lstTime[0]
-			if err := sf.mine.ParseCountDown(strTime); err != nil {
+			if err := sf.шахта.ParseCountDown(strTime); err != nil {
 				log.Printf("ERRO Base.checkMineStat(): при установке времени ожидания шахты(%v)\n\terr=%v\n", strTime, err)
 			}
 		}
@@ -407,25 +407,25 @@ func (sf *Base) checkMineStat() {
 			strNum := lstNum[1]
 			lstNum = strings.Split(strNum, `</div></td>`)
 			strNum = lstNum[0]
-			sf.mine.РежимТекущ().РежимУст("Железо-" + strNum)
+			sf.шахта.РежимТекущ().РежимУст("Железо-" + strNum)
 		case strings.Contains(strOut, `/images/icons/ore.png`): // Руда
 			lstNum := strings.Split(strOut, `<td class="vam"><div class="nwr pr5 gray1"><img class="rico vm" src="/images/icons/ore.png?2" alt="ore"/>&nbsp;`)
 			strNum := lstNum[1]
 			lstNum = strings.Split(strNum, `</div></td>`)
 			strNum = lstNum[0]
-			sf.mine.РежимТекущ().РежимУст("Руда-" + strNum)
+			sf.шахта.РежимТекущ().РежимУст("Руда-" + strNum)
 		case strings.Contains(strOut, `/images/icons/steel.png`): // Руда
 			lstNum := strings.Split(strOut, `<td class="vam"><div class="nwr pr5 gray1"><img class="rico vm" src="/images/icons/steel.png?2" alt="steel"/>&nbsp;`)
 			strNum := lstNum[1]
 			lstNum = strings.Split(strNum, `</div></td>`)
 			strNum = lstNum[0]
-			sf.mine.РежимТекущ().РежимУст("Сталь-" + strNum)
+			sf.шахта.РежимТекущ().РежимУст("Сталь-" + strNum)
 		}
 	}
 }
 
 // Проверяет на необходимость производства
-func (sf *Base) checkMineProduct() {
+func (sf *База) checkMineProduct() {
 	var (
 		strOut  string
 		ind     int
@@ -446,25 +446,25 @@ func (sf *Base) checkMineProduct() {
 	if !strings.Contains(strOut, `"><span><span>Производство</span></span></a>`) {
 		return
 	}
-	sf.mine.КолвоСделатьСейчас().Уст(0)
-	sf.mine.SetCountDown(1)
+	sf.шахта.КолвоСделатьСейчас().Уст(0)
+	sf.шахта.SetCountDown(1)
 }
 
 // Проверяет режимы арсенала
-func (sf *Base) checkArsenal() {
-	countTime := sf.arsenal.ВремяОпрос().Получ()
+func (sf *База) checkArsenal() {
+	countTime := sf.арсенал.ВремяОпрос().Получ()
 	if countTime > 3 {
 		return
 	}
-	if err := sf.arsenal.UpdateArsenal(); err != nil {
+	if err := sf.арсенал.UpdateArsenal(); err != nil {
 		// log._rintf("ERRO Base.checkArsenal(): при обновлении арсенала, err=\n\t%v\n", err)
 		return
 	}
-	if mode := sf.arsenal.РежимТекущ().Режим(); mode == "" {
+	if mode := sf.арсенал.РежимТекущ().Режим(); mode == "" {
 		sf.checkArsenalMode()
 	}
 	sf.checkArsenalForce() // Нужно ли ускорить апгрейд арсенала
-	if sf.arsenal.РежимТекущ().Получ() == "upgrade" {
+	if sf.арсенал.РежимТекущ().Получ() == "upgrade" {
 		return
 	}
 	sf.checkArsenalGet() // Нужно ли забрать оружие
@@ -473,7 +473,7 @@ func (sf *Base) checkArsenal() {
 }
 
 // Проверяет время готовности арсенала
-func (sf *Base) checkArsenalTime() {
+func (sf *База) checkArsenalTime() {
 	var (
 		lstBase = sf.СписПолучить()
 		ind     int
@@ -502,13 +502,13 @@ func (sf *Base) checkArsenalTime() {
 	strTime := lstTime[1]
 	lstTime = strings.Split(strTime, `</span></span></div></td>`)
 	strTime = lstTime[0]
-	if err := sf.arsenal.ParseCountDown(strTime); err != nil {
+	if err := sf.арсенал.ParseCountDown(strTime); err != nil {
 		log.Printf("ERRO Base.checkArsenalTime(): при установке времени ожидания арсенала(%v)\n\terr=%v\n", strTime, err)
 	}
 }
 
 // Проверяет на забрать оружейную
-func (sf *Base) checkArsenalGet() {
+func (sf *База) checkArsenalGet() {
 	var (
 		strOut  string
 		ind     int
@@ -534,7 +534,7 @@ func (sf *Base) checkArsenalGet() {
 	lstLink = strings.Split(strLink, `"><span><span>Забрать</span></span></a>`)
 	// http://wartank.ru/buildings?80-1.ILinkListener-buildings-0-building-rootBlock-actionPanel-takeProductionLink
 	strLink = "http://wartank.ru/" + lstLink[0]
-	lstBase, err := sf.net.Get(strLink)
+	lstBase, err := sf.сеть.Get(strLink)
 	if err != nil {
 		// log._rintf("ERRO Base.checkArsenalGet(): при выполнении Get-запроса 'забрать', err=\n\t%v\n", err)
 		return
@@ -550,9 +550,9 @@ func (sf *Base) checkArsenalGet() {
 			break
 		}
 	}
-	sf.arsenal.SetCountDown(1)
+	sf.арсенал.SetCountDown(1)
 	if isFind {
-		if err = sf.arsenal.СтрОбновить(lstBase); err != nil {
+		if err = sf.арсенал.СтрОбновить(lstBase); err != nil {
 			log.Printf("ERRO Base.checkArsenalGet(): при обновлении lstArsenal, err=\n\t%v\n", err)
 		}
 		return
@@ -563,33 +563,33 @@ func (sf *Base) checkArsenalGet() {
 }
 
 // Проверяетрежим производства арсенала
-func (sf *Base) checkArsenalMode() {
+func (sf *База) checkArsenalMode() {
 	var (
 		strOut  string
 		lstBase = sf.СписПолучить()
 	)
 	for _, strOut = range lstBase {
 		if strings.Contains(strOut, `HollowCharge.png`) {
-			sf.arsenal.РежимТекущ().РежимУст("кумулятивы")
+			sf.арсенал.РежимТекущ().РежимУст("кумулятивы")
 			return
 		}
 		if strings.Contains(strOut, `ArmorPiercing.png`) {
-			sf.arsenal.РежимТекущ().РежимУст("бронебойки")
+			sf.арсенал.РежимТекущ().РежимУст("бронебойки")
 			return
 		}
 		if strings.Contains(strOut, `HighExplosive.png`) {
-			sf.arsenal.РежимТекущ().РежимУст("фугасы")
+			sf.арсенал.РежимТекущ().РежимУст("фугасы")
 			return
 		}
 		if strings.Contains(strOut, `repairkit.gif`) {
-			sf.arsenal.РежимТекущ().РежимУст("ремка")
+			sf.арсенал.РежимТекущ().РежимУст("ремка")
 			return
 		}
 	}
 }
 
 // Проверяет на ускорение апгрейда арсенала
-func (sf *Base) checkArsenalForce() {
+func (sf *База) checkArsenalForce() {
 	var (
 		ind     int
 		strOut  = ""
@@ -611,11 +611,11 @@ func (sf *Base) checkArsenalForce() {
 		}
 		{ // Платное ускорение
 			if strings.Contains(strOut, `Ускорить за`) {
-				if err := sf.arsenal.SetCountDown(forceTimePay); err != nil {
-					log.Printf("WARN Base.checkArsenalForce(): при установке платного времени ускорения апгрейда арсенала(%v)\n\terr=%v\n", forceTimePay, err)
+				if err := sf.арсенал.SetCountDown(времОжидПлат); err != nil {
+					log.Printf("WARN Base.checkArsenalForce(): при установке платного времени ускорения апгрейда арсенала(%v)\n\terr=%v\n", времОжидПлат, err)
 				}
-				sf.arsenal.РежимТекущ().Уст("upgrade")
-				sf.arsenal.РежимТекущ().РежимУст("апгрейд")
+				sf.арсенал.РежимТекущ().Уст("upgrade")
+				sf.арсенал.РежимТекущ().РежимУст("апгрейд")
 				return
 			}
 		}
@@ -637,12 +637,12 @@ func (sf *Base) checkArsenalForce() {
 		if !strings.Contains(strOut, `>Ускорение<`) {
 			return
 		}
-		sf.arsenal.РежимТекущ().Уст("upgrade")
+		sf.арсенал.РежимТекущ().Уст("upgrade")
 		lstLink := strings.Split(strOut, `<td style="width:50%;padding-left:1px;"><a class="simple-but border" href="`)
 		strLink := lstLink[1]
 		lstLink = strings.Split(strLink, `"><span><span>Ускорение</span></span></a>`)
 		strLink = "http://wartank.ru/" + lstLink[0]
-		lstBase, err := sf.net.Get(strLink)
+		lstBase, err := sf.сеть.Get(strLink)
 		if err != nil {
 			// log._rintf("ERRO NetBank.checkArsenalForce(): при GET-запросе на бесплатном ускорении апгрейда арсенала, err=\n\t%v\n", err)
 			return
@@ -652,28 +652,28 @@ func (sf *Base) checkArsenalForce() {
 			// log._rintf("ERRO NetBank.checkArsenalForce(): при обновлении lstBase, err=\n\t%v\n", err)
 			return
 		}
-		sf.arsenal.РежимТекущ().Уст("upgrade")
-		sf.arsenal.РежимТекущ().РежимУст("апгрейд")
-		if err := sf.arsenal.SetCountDown(forceTimeFree); err != nil {
-			log.Printf("WARN Base.checkArsenalForce(): при установке бесплатного времени ускорения апгрейда арсенала(%v)\n\terr=%v\n", forceTimeFree, err)
+		sf.арсенал.РежимТекущ().Уст("upgrade")
+		sf.арсенал.РежимТекущ().РежимУст("апгрейд")
+		if err := sf.арсенал.SetCountDown(времОжидБесплат); err != nil {
+			log.Printf("WARN Base.checkArsenalForce(): при установке бесплатного времени ускорения апгрейда арсенала(%v)\n\terr=%v\n", времОжидБесплат, err)
 		}
 	}
 	// Все проверки прошли -- это просто работа
-	sf.arsenal.РежимТекущ().Уст("work")
+	sf.арсенал.РежимТекущ().Уст("work")
 }
 
 // Проверяет режим банка
-func (sf *Base) checkBank() error {
-	if sf.bank.РежимТекущ().Режим() == "" {
+func (sf *База) checkBank() error {
+	if sf.банк.РежимТекущ().Режим() == "" {
 		sf.checkBankMode()
 	}
 	sf.checkBankTime() // Проверка времени ожидания
-	countTime := sf.bank.ВремяОпрос().Получ()
+	countTime := sf.банк.ВремяОпрос().Получ()
 	if countTime > 5 {
 		return nil
 	}
 	sf.checkBankForce() // Нужно ли ускорить апгрейд банка
-	if sf.bank.РежимТекущ().Получ() == "upgrade" {
+	if sf.банк.РежимТекущ().Получ() == "upgrade" {
 		return nil
 	}
 	sf.checkBankTake()    // Нужно ли забрать банк
@@ -682,7 +682,7 @@ func (sf *Base) checkBank() error {
 }
 
 // Проверяет режим работы банка
-func (sf *Base) checkBankMode() {
+func (sf *База) checkBankMode() {
 	var (
 		strOut  string
 		isFind  bool
@@ -701,12 +701,12 @@ func (sf *Base) checkBankMode() {
 	strSilver := lstSilver[1]
 	lstSilver = strings.Split(strSilver, `</div></td>`)
 	strSilver = "Серебро-" + lstSilver[0]
-	sf.bank.РежимТекущ().РежимУст(strSilver)
+	sf.банк.РежимТекущ().РежимУст(strSilver)
 
 }
 
 // Проверяет на время ожидания банка
-func (sf *Base) checkBankTime() {
+func (sf *База) checkBankTime() {
 	var (
 		strOut  string
 		ind     int
@@ -731,13 +731,13 @@ func (sf *Base) checkBankTime() {
 	strTime := lstTime[1]
 	lstTime = strings.Split(strTime, `</span></span></div></td>`)
 	strTime = lstTime[0]
-	if err := sf.bank.ParseCountDown(strTime); err != nil {
+	if err := sf.банк.ParseCountDown(strTime); err != nil {
 		log.Printf("ERRO Base.checkBankTime(): при установке времени ожидания банка(%v)\n\terr=%v\n", strTime, err)
 	}
 }
 
 // Проверяет на произвести в банке
-func (sf *Base) checkBankProduct() {
+func (sf *База) checkBankProduct() {
 	var (
 		strOut  string
 		ind     int
@@ -758,12 +758,12 @@ func (sf *Base) checkBankProduct() {
 	if !strings.Contains(strOut, `>Производство</span>`) {
 		return
 	}
-	sf.bank.UpdateLst()
-	sf.bank.SetCountDown(1)
+	sf.банк.UpdateLst()
+	sf.банк.SetCountDown(1)
 }
 
 // Проверка получения серебра из банка
-func (sf *Base) checkBankTake() {
+func (sf *База) checkBankTake() {
 	var (
 		ind     int
 		strOut  string
@@ -789,7 +789,7 @@ func (sf *Base) checkBankTake() {
 	strLink = lstLink[1]
 	lstLink = strings.Split(strLink, `"><span><span>Забрать</span></span></a>`)
 	strLink = "http://wartank.ru/" + lstLink[0]
-	lstBank, err := sf.net.Get(strLink)
+	lstBank, err := sf.сеть.Get(strLink)
 	if err != nil {
 		// log._rintf("ERRO Base.checkBankTake(): при выполнении GET-запроса 'забрать серебро', err=\n\t%v\n", err)
 		return
@@ -803,20 +803,20 @@ func (sf *Base) checkBankTake() {
 		}
 	}
 	if isFind {
-		if err := sf.bank.СтрОбновить(lstBank); err != nil {
+		if err := sf.банк.СтрОбновить(lstBank); err != nil {
 			log.Printf("ERRO Base.checkBankTake(): при установке lstBank, err=\n\t%v'n", err)
 		}
-		sf.bank.SetCountDown(1)
+		sf.банк.SetCountDown(1)
 		return
 	}
 	if err := sf.СтрОбновить(lstBank); err != nil {
 		log.Printf("ERRO Base.checkBankTake(): при установке lstBase, err=\n\t%v'n", err)
 	}
-	sf.bank.SetCountDown(1)
+	sf.банк.SetCountDown(1)
 }
 
 // Проверяет на ускорение апгрейда банка
-func (sf *Base) checkBankForce() {
+func (sf *База) checkBankForce() {
 	var (
 		ind     int
 		strOut  = ""
@@ -834,11 +834,11 @@ func (sf *Base) checkBankForce() {
 			}
 		}
 		if isOut && strings.Contains(strOut, `Ускорить за`) {
-			if err := sf.bank.SetCountDown(forceTimePay); err != nil {
-				log.Printf("WARN Base.checkBankForce(): при установке времени ожидания платного ускорения апгрейда банка(%v)\n\terr=%v\n", forceTimePay, err)
+			if err := sf.банк.SetCountDown(времОжидПлат); err != nil {
+				log.Printf("WARN Base.checkBankForce(): при установке времени ожидания платного ускорения апгрейда банка(%v)\n\terr=%v\n", времОжидПлат, err)
 			}
-			sf.bank.РежимТекущ().Уст("upgrade")
-			sf.bank.РежимТекущ().РежимУст("апгрейд")
+			sf.банк.РежимТекущ().Уст("upgrade")
+			sf.банк.РежимТекущ().РежимУст("апгрейд")
 			return
 		}
 	}
@@ -859,7 +859,7 @@ func (sf *Base) checkBankForce() {
 			strLink := lstLink[1]
 			lstLink = strings.Split(strLink, `"><span><span>Ускорение</span></span></a>`)
 			strLink = "http://wartank.ru/" + lstLink[0]
-			lstBase, err := sf.net.Get(strLink)
+			lstBase, err := sf.сеть.Get(strLink)
 			if err != nil {
 				// log._rintf("ERRO NetBank.checkBankForce(): при GET-запросе на бесплатном ускорении апгрейда банка, err=\n\t%v\n", err)
 				return
@@ -868,17 +868,17 @@ func (sf *Base) checkBankForce() {
 				// log._rintf("ERRO NetBank.checkBankForce(): при обновлении lstBase, err=\n\t%v\n", err)
 				return
 			}
-			sf.bank.РежимТекущ().Уст("upgrade")
-			sf.bank.РежимТекущ().РежимУст("апгрейд")
-			if err := sf.bank.SetCountDown(forceTimeFree); err != nil {
-				log.Printf("WARN Base.checkBankForce(): при установке времени бесплатного ускорения агрейда банка(%v)\n\terr=%v\n", forceTimeFree, err)
+			sf.банк.РежимТекущ().Уст("upgrade")
+			sf.банк.РежимТекущ().РежимУст("апгрейд")
+			if err := sf.банк.SetCountDown(времОжидБесплат); err != nil {
+				log.Printf("WARN Base.checkBankForce(): при установке времени бесплатного ускорения агрейда банка(%v)\n\terr=%v\n", времОжидБесплат, err)
 			}
 		}
 	}
 }
 
 // Проверяет на ускорение апгрейда шахты
-func (sf *Base) checkMineForce() {
+func (sf *База) checkMineForce() {
 	var (
 		ind     int
 		strOut  = ""
@@ -896,10 +896,10 @@ func (sf *Base) checkMineForce() {
 			}
 		}
 		if isOut && strings.Contains(strOut, `Ускорить за`) {
-			sf.mine.РежимТекущ().Уст("upgrade")
-			sf.mine.РежимТекущ().РежимУст("апгрейд")
-			if err := sf.mine.SetCountDown(forceTimePay); err != nil {
-				log.Printf("WARN Base.checkMineForce(): при установке времени платного апгрейда шахты(%v)\n\terr=%v\n", forceTimePay, err)
+			sf.шахта.РежимТекущ().Уст("upgrade")
+			sf.шахта.РежимТекущ().РежимУст("апгрейд")
+			if err := sf.шахта.SetCountDown(времОжидПлат); err != nil {
+				log.Printf("WARN Base.checkMineForce(): при установке времени платного апгрейда шахты(%v)\n\terr=%v\n", времОжидПлат, err)
 			}
 			return
 		}
@@ -920,7 +920,7 @@ func (sf *Base) checkMineForce() {
 			strLink := lstLink[1]
 			lstLink = strings.Split(strLink, `"><span><span>Ускорение</span></span></a>`)
 			strLink = "http://wartank.ru/" + lstLink[0]
-			lstBase, err := sf.net.Get(strLink)
+			lstBase, err := sf.сеть.Get(strLink)
 			if err != nil {
 				// log._rintf("ERRO NetBank.checkMineForce(): при GET-запросе на бесплатном ускорении апгрейда шахты, err=\n\t%v\n", err)
 				return
@@ -929,28 +929,28 @@ func (sf *Base) checkMineForce() {
 				// log._rintf("ERRO NetBank.checkMineForce(): при обновлении lstBase, err=\n\t%v\n", err)
 				return
 			}
-			if err := sf.mine.SetCountDown(forceTimeFree); err != nil {
-				log.Printf("WARN Base.checkMineForce(): при установке времени апгрейда шахты(%v)\n\terr=%v\n", forceTimeFree, err)
+			if err := sf.шахта.SetCountDown(времОжидБесплат); err != nil {
+				log.Printf("WARN Base.checkMineForce(): при установке времени апгрейда шахты(%v)\n\terr=%v\n", времОжидБесплат, err)
 			}
 			// sound.MineForce()
-			sf.mine.РежимТекущ().Уст("upgrade")
-			sf.mine.РежимТекущ().РежимУст("апгрейд")
+			sf.шахта.РежимТекущ().Уст("upgrade")
+			sf.шахта.РежимТекущ().РежимУст("апгрейд")
 			return
 		}
 	}
 	// Все проверки прошли -- это просто работа
-	sf.mine.РежимТекущ().Уст("work")
+	sf.шахта.РежимТекущ().Уст("work")
 }
 
 // Проверяет на ускорение апгрейда полигона
-func (sf *Base) checkPolygonForce() {
+func (sf *База) checkPolygonForce() {
 	var (
 		ind     int
 		strOut  = ""
 		isOut   bool
 		lstBase = sf.СписПолучить()
 	)
-	countTime := sf.polygon.ВремяОпрос().Получ()
+	countTime := sf.полигон.ВремяОпрос().Получ()
 	if countTime > 3 {
 		return
 	}
@@ -973,10 +973,10 @@ func (sf *Base) checkPolygonForce() {
 			// if err := sf.polygon.CountDown().Set(strTime); err != nil {
 			// 	// log._rintf("WARN Base.checkMineForce(): при установке времени апгрейда полигона(%v)\n\terr=%v\n", strTime, err)
 			// }
-			sf.polygon.РежимТекущ().Уст("upgrade")
-			sf.polygon.РежимТекущ().РежимУст("апгрейд")
-			if err := sf.polygon.SetCountDown(forceTimePay); err != nil {
-				log.Printf("WARN Base.checkPolygonForce(): при установке платного времени апгрейда полигона(%v)\n\terr=%v\n", forceTimePay, err)
+			sf.полигон.РежимТекущ().Уст("upgrade")
+			sf.полигон.РежимТекущ().РежимУст("апгрейд")
+			if err := sf.полигон.SetCountDown(времОжидПлат); err != nil {
+				log.Printf("WARN Base.checkPolygonForce(): при установке платного времени апгрейда полигона(%v)\n\terr=%v\n", времОжидПлат, err)
 			}
 			return
 		}
@@ -997,7 +997,7 @@ func (sf *Base) checkPolygonForce() {
 			strLink := lstLink[1]
 			lstLink = strings.Split(strLink, `"><span><span>Ускорение</span></span></a>`)
 			strLink = "http://wartank.ru/" + lstLink[0]
-			lstBase, err := sf.net.Get(strLink)
+			lstBase, err := sf.сеть.Get(strLink)
 			if err != nil {
 				// log._rintf("ERRO NetBank.checkPolygonForce(): при GET-запросе на бесплатном ускорении апгрейда полигона, err=\n\t%v\n", err)
 				return
@@ -1007,16 +1007,16 @@ func (sf *Base) checkPolygonForce() {
 				return
 			}
 			// sound.MineForce()
-			sf.polygon.РежимТекущ().Уст("upgrade")
-			sf.polygon.РежимТекущ().РежимУст("апгрейд")
+			sf.полигон.РежимТекущ().Уст("upgrade")
+			sf.полигон.РежимТекущ().РежимУст("апгрейд")
 			// Установить время ожидания для обновления
-			if err := sf.polygon.SetCountDown(forceTimeFree); err != nil {
-				log.Printf("WARN Base.checkPolygonForce(): при установке времени бесплатного апгрейда полигона(%v)\n\terr=%v\n", forceTimeFree, err)
+			if err := sf.полигон.SetCountDown(времОжидБесплат); err != nil {
+				log.Printf("WARN Base.checkPolygonForce(): при установке времени бесплатного апгрейда полигона(%v)\n\terr=%v\n", времОжидБесплат, err)
 			}
 			// log._rintf("INFO NetBank.checkPolygonForce(): ускорено строительство полигона\n")
 			return
 		}
 	}
 	// Все проверки прошли -- это просто работа
-	sf.polygon.РежимТекущ().Уст("work")
+	sf.полигон.РежимТекущ().Уст("work")
 }

+ 71 - 70
server/serv_bots/warbot/angar/missions/missions.go

@@ -14,78 +14,79 @@ import (
 	Сканирует миссии на предмет забрать золотишко.
 */
 
-// Missions -- забирает золотишко
-type Missions struct {
+// Миссии -- забирает золотишко
+type Миссии struct {
 	*section.Section
-	bot types.ИБот
-	net *missionsnet.MissionsNet
+	бот  types.ИБот
+	сеть *missionsnet.MissionsNet
 }
 
-// NewMissions -- возвращает новый *Missions
-func NewMissions(bot types.ИБот) (*Missions, error) {
-	section, err := section.NewSection(bot, "Миссии", `<title>Миссии</title>`)
+// NewMissions -- возвращает новый *Миссии
+func NewMissions(бот types.ИБот) (*Миссии, error) {
+	section, err := section.NewSection(бот, "Миссии", `<title>Миссии</title>`)
 	if err != nil {
 		return nil, fmt.Errorf("NewMissions(): in create *Section, err=\n\t%w", err)
 	}
-	sf := &Missions{
+	сам := &Миссии{
 		Section: section,
-		bot:     bot,
+		бот:     бот,
 	}
-	sf.net, err = missionsnet.NewMissionsNet(sf)
+	сам.сеть, err = missionsnet.NewMissionsNet(сам)
 	if err != nil {
 		return nil, fmt.Errorf("NewMissions(): in create *SectionNet, err=\n\t%w", err)
 	}
-	return sf, nil
+	return сам, nil
 }
 
-// Run -- запускает в работу сбор миссий
-func (sf *Missions) Run() error {
-	go sf.run()
+// Пуск -- запускает в работу сбор миссий
+func (сам *Миссии) Пуск() error {
+	go сам.пуск()
 	return nil
 }
 
 // обрабатывает конвой
-func (sf *Missions) run() {
+func (sf *Миссии) пуск() {
 	defer func() {
 		sf.ВремяОпрос().Стоп()
 	}()
 	time.Sleep(time.Second * 15)
 	for { // Время истекло
 		select {
-		case <-sf.bot.Кнт().Done():
+		case <-sf.бот.Кнт().Done():
 			sf.ВремяОпрос().Стоп()
 			return
 		case <-sf.ВремяОпрос().КаналСиг():
-			if err := sf.net.UpdateLst(); err != nil {
-				// log._rintf("ERRO Missions.run(): при обновлении lstMissions, err=\n\t%v\n", err)
+			if err := sf.сеть.UpdateLst(); err != nil {
+				// log._rintf("ERRO Миссии.run(): при обновлении lstMissions, err=\n\t%v\n", err)
 				return
 			}
-			sf.checkAvard()
+			sf.проверНаграда()
 		}
 		time.Sleep(time.Second * 30)
+		sf.проверНаграда()
 		if err := sf.SetCountDown(1); err != nil {
-			panic(fmt.Errorf("Missions.run(): при установке CountDown, err=\n\t%w", err))
+			panic(fmt.Errorf("Миссии.run(): при установке CountDown, err=\n\t%w", err))
 		}
 	}
 }
 
 // Забирает всё самое вкусное
-func (sf *Missions) checkAvard() {
-	sf.battleDefence()
+func (sf *Миссии) проверНаграда() {
+	sf.битваЗащита()
 	sf.battleAttack()
-	sf.battleWar()
+	sf.БитваВойна()
 	sf.battle5Fiting()
 	sf.battle6win()
 	sf.battle10Fiting()
 	sf.battleDogFyting()
 	sf.makeResource()
 	sf.kill3tanks()
-	sf.makeFuel()
+	sf.топливоДив()
 	sf.upMan()
 }
 
 // Проверяет награду за уничтожить 3 танка в бою
-func (sf *Missions) kill3tanks() {
+func (sf *Миссии) kill3tanks() {
 	var (
 		strOut      string
 		lstMissions = sf.СписПолучить()
@@ -111,19 +112,19 @@ func (sf *Missions) kill3tanks() {
 	strLink := lstLink[1]
 	lstLink = strings.Split(strLink, `"><span><span>Получить награду</span></span></a>`)
 	strLink = "http://wartank.ru/missions/" + lstLink[0]
-	lstMissions, err := sf.net.Get(strLink)
+	lstMissions, err := sf.сеть.Get(strLink)
 	if err != nil {
-		// log._rintf("ERRO Missions.kill3tanks(): при выполнении GET-запроса, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.kill3tanks(): при выполнении GET-запроса, err=\n\t%v\n", err)
 		return
 	}
 	if err := sf.СтрОбновить(lstMissions); err != nil {
-		// log._rintf("ERRO Missions.kill3tanks(): при обновлении lstMissions, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.kill3tanks(): при обновлении lstMissions, err=\n\t%v\n", err)
 		return
 	}
 }
 
 // Проверяет награду оборонительного сражения
-func (sf *Missions) battleDefence() {
+func (sf *Миссии) битваЗащита() {
 	var (
 		strOut      string
 		lstMissions = sf.СписПолучить()
@@ -149,19 +150,19 @@ func (sf *Missions) battleDefence() {
 	strLink := lstLink[1]
 	lstLink = strings.Split(strLink, `"><span><span>Получить награду</span></span></a>`)
 	strLink = "http://wartank.ru/missions/" + lstLink[0]
-	lstMissions, err := sf.net.Get(strLink)
+	lstMissions, err := sf.сеть.Get(strLink)
 	if err != nil {
-		// log._rintf("ERRO Missions.battleDefence(): при выполнении GET-запроса, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.battleDefence(): при выполнении GET-запроса, err=\n\t%v\n", err)
 		return
 	}
 	if err := sf.СтрОбновить(lstMissions); err != nil {
-		// log._rintf("ERRO Missions.battleDefence(): при обновлении lstMissions, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.battleDefence(): при обновлении lstMissions, err=\n\t%v\n", err)
 		return
 	}
 }
 
 // Проверяет награду за одну войну
-func (sf *Missions) battleWar() {
+func (sf *Миссии) БитваВойна() {
 	var (
 		strOut      string
 		lstMissions = sf.СписПолучить()
@@ -187,19 +188,19 @@ func (sf *Missions) battleWar() {
 	strLink := lstLink[1]
 	lstLink = strings.Split(strLink, `"><span><span>Получить награду</span></span></a>`)
 	strLink = "http://wartank.ru/missions/" + lstLink[0]
-	lstMissions, err := sf.net.Get(strLink)
+	lstMissions, err := sf.сеть.Get(strLink)
 	if err != nil {
-		// log._rintf("ERRO Missions.battleWar(): при выполнении GET-запроса, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.battleWar(): при выполнении GET-запроса, err=\n\t%v\n", err)
 		return
 	}
 	if err := sf.СтрОбновить(lstMissions); err != nil {
-		// log._rintf("ERRO Missions.battleWar(): при обновлении lstMissions, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.battleWar(): при обновлении lstMissions, err=\n\t%v\n", err)
 		return
 	}
 }
 
 // Проверяет награду наступательного сражения
-func (sf *Missions) battleAttack() {
+func (sf *Миссии) battleAttack() {
 	var (
 		strOut      string
 		lstMissions = sf.СписПолучить()
@@ -225,19 +226,19 @@ func (sf *Missions) battleAttack() {
 	strLink := lstLink[1]
 	lstLink = strings.Split(strLink, `"><span><span>Получить награду</span></span></a>`)
 	strLink = "http://wartank.ru/missions/" + lstLink[0]
-	lstMissions, err := sf.net.Get(strLink)
+	lstMissions, err := sf.сеть.Get(strLink)
 	if err != nil {
-		// log._rintf("ERRO Missions.battleAttack(): при выполнении GET-запроса, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.battleAttack(): при выполнении GET-запроса, err=\n\t%v\n", err)
 		return
 	}
 	if err := sf.СтрОбновить(lstMissions); err != nil {
-		// log._rintf("ERRO Missions.battleAttack(): при обновлении lstMissions, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.battleAttack(): при обновлении lstMissions, err=\n\t%v\n", err)
 		return
 	}
 }
 
 // Проверяет награду за схватку
-func (sf *Missions) battleDogFyting() {
+func (sf *Миссии) battleDogFyting() {
 	var (
 		strOut      string
 		lstMissions = sf.СписПолучить()
@@ -263,19 +264,19 @@ func (sf *Missions) battleDogFyting() {
 	strLink := lstLink[1]
 	lstLink = strings.Split(strLink, `"><span><span>Получить награду</span></span></a>`)
 	strLink = "http://wartank.ru/missions/" + lstLink[0]
-	lstMissions, err := sf.net.Get(strLink)
+	lstMissions, err := sf.сеть.Get(strLink)
 	if err != nil {
-		// log._rintf("ERRO Missions.battleDogFyting(): при выполнении GET-запроса, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.battleDogFyting(): при выполнении GET-запроса, err=\n\t%v\n", err)
 		return
 	}
 	if err := sf.СтрОбновить(lstMissions); err != nil {
-		// log._rintf("ERRO Missions.battleDogFyting(): при обновлении lstMissions, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.battleDogFyting(): при обновлении lstMissions, err=\n\t%v\n", err)
 		return
 	}
 }
 
 // Проверяет награду за ресурсы
-func (sf *Missions) makeResource() {
+func (sf *Миссии) makeResource() {
 	var (
 		strOut      string
 		lstMissions = sf.СписПолучить()
@@ -301,19 +302,19 @@ func (sf *Missions) makeResource() {
 	strLink := lstLink[1]
 	lstLink = strings.Split(strLink, `"><span><span>Получить награду</span></span></a>`)
 	strLink = "http://wartank.ru/missions/" + lstLink[0]
-	lstMissions, err := sf.net.Get(strLink)
+	lstMissions, err := sf.сеть.Get(strLink)
 	if err != nil {
-		// log._rintf("ERRO Missions.makeResource(): при выполнении GET-запроса, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.makeResource(): при выполнении GET-запроса, err=\n\t%v\n", err)
 		return
 	}
 	if err := sf.СтрОбновить(lstMissions); err != nil {
-		// log._rintf("ERRO Missions.makeResource(): при обновлении lstMissions, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.makeResource(): при обновлении lstMissions, err=\n\t%v\n", err)
 		return
 	}
 }
 
 // Проверяет награду за ресурсы
-func (sf *Missions) upMan() {
+func (sf *Миссии) upMan() {
 	var (
 		strOut      string
 		lstMissions = sf.СписПолучить()
@@ -339,20 +340,20 @@ func (sf *Missions) upMan() {
 	strLink := lstLink[1]
 	lstLink = strings.Split(strLink, `"><span><span>Получить награду</span></span></a>`)
 	strLink = "http://wartank.ru/missions/" + lstLink[0]
-	lstMissions, err := sf.net.Get(strLink)
+	lstMissions, err := sf.сеть.Get(strLink)
 	if err != nil {
-		// log._rintf("ERRO Missions.upMan(): при выполнении GET-запроса, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.upMan(): при выполнении GET-запроса, err=\n\t%v\n", err)
 		return
 	}
 	if err := sf.СтрОбновить(lstMissions); err != nil {
-		// log._rintf("ERRO Missions.upMan(): при обновлении lstMissions, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.upMan(): при обновлении lstMissions, err=\n\t%v\n", err)
 		return
 	}
-	// log._rintf("INFO Missions.upMan(): награда получена\n")
+	// log._rintf("INFO Миссии.upMan(): награда получена\n")
 }
 
 // Проверяет награду за топливо
-func (sf *Missions) makeFuel() {
+func (sf *Миссии) топливоДив() {
 	var (
 		strOut      string
 		lstMissions = sf.СписПолучить()
@@ -378,20 +379,20 @@ func (sf *Missions) makeFuel() {
 	strLink := lstLink[1]
 	lstLink = strings.Split(strLink, `"><span><span>Получить награду</span></span></a>`)
 	strLink = "http://wartank.ru/missions/" + lstLink[0]
-	lstMissions, err := sf.net.Get(strLink)
+	lstMissions, err := sf.сеть.Get(strLink)
 	if err != nil {
-		// log._rintf("ERRO Missions.makeFuel(): при выполнении GET-запроса, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.makeFuel(): при выполнении GET-запроса, err=\n\t%v\n", err)
 		return
 	}
 	if err := sf.СтрОбновить(lstMissions); err != nil {
-		// log._rintf("ERRO Missions.makeFuel(): при обновлении lstMissions, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.makeFuel(): при обновлении lstMissions, err=\n\t%v\n", err)
 		return
 	}
-	// log._rintf("INFO Missions.makeFuel(): награда получена")
+	// log._rintf("INFO Миссии.makeFuel(): награда получена")
 }
 
 // Проверяет награду 5 боёв
-func (sf *Missions) battle5Fiting() {
+func (sf *Миссии) battle5Fiting() {
 	var (
 		strOut      string
 		lstMissions = sf.СписПолучить()
@@ -417,19 +418,19 @@ func (sf *Missions) battle5Fiting() {
 	strLink := lstLink[1]
 	lstLink = strings.Split(strLink, `"><span><span>Получить награду</span></span></a>`)
 	strLink = "http://wartank.ru/missions/" + lstLink[0]
-	lstMissions, err := sf.net.Get(strLink)
+	lstMissions, err := sf.сеть.Get(strLink)
 	if err != nil {
-		// log._rintf("ERRO Missions.battle5Fiting(): при выполнении GET-запроса, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.battle5Fiting(): при выполнении GET-запроса, err=\n\t%v\n", err)
 		return
 	}
 	if err := sf.СтрОбновить(lstMissions); err != nil {
-		// log._rintf("ERRO Missions.battle5Fiting(): при обновлении lstMissions, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.battle5Fiting(): при обновлении lstMissions, err=\n\t%v\n", err)
 		return
 	}
 }
 
 // Проверяет награду 10 боёв
-func (sf *Missions) battle10Fiting() {
+func (sf *Миссии) battle10Fiting() {
 	var (
 		strOut      string
 		lstMissions = sf.СписПолучить()
@@ -455,19 +456,19 @@ func (sf *Missions) battle10Fiting() {
 	strLink := lstLink[1]
 	lstLink = strings.Split(strLink, `"><span><span>Получить награду</span></span></a>`)
 	strLink = "http://wartank.ru/missions/" + lstLink[0]
-	lstMissions, err := sf.net.Get(strLink)
+	lstMissions, err := sf.сеть.Get(strLink)
 	if err != nil {
-		// log._rintf("ERRO Missions.battle10Fiting(): при выполнении GET-запроса, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.battle10Fiting(): при выполнении GET-запроса, err=\n\t%v\n", err)
 		return
 	}
 	if err := sf.СтрОбновить(lstMissions); err != nil {
-		// log._rintf("ERRO Missions.battle10Fiting(): при обновлении lstMissions, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.battle10Fiting(): при обновлении lstMissions, err=\n\t%v\n", err)
 		return
 	}
 }
 
 // Проверяет награду за 6 побед подряд
-func (sf *Missions) battle6win() {
+func (sf *Миссии) battle6win() {
 	var (
 		strOut      string
 		lstMissions = sf.СписПолучить()
@@ -493,13 +494,13 @@ func (sf *Missions) battle6win() {
 	strLink := lstLink[1]
 	lstLink = strings.Split(strLink, `"><span><span>Получить награду</span></span></a>`)
 	strLink = "http://wartank.ru/missions/" + lstLink[0]
-	lstMissions, err := sf.net.Get(strLink)
+	lstMissions, err := sf.сеть.Get(strLink)
 	if err != nil {
-		// log._rintf("ERRO Missions.battle6win(): при выполнении GET-запроса, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.battle6win(): при выполнении GET-запроса, err=\n\t%v\n", err)
 		return
 	}
 	if err := sf.СтрОбновить(lstMissions); err != nil {
-		// log._rintf("ERRO Missions.battle6win(): при обновлении lstMissions, err=\n\t%v\n", err)
+		// log._rintf("ERRO Миссии.battle6win(): при обновлении lstMissions, err=\n\t%v\n", err)
 		return
 	}
 }