Vangers
Vangers copied to clipboard
Заезд в эскейв с нюхой и Механическим Мессией
Если заехать в эскейв с 7 единицами правильной и 1 единицей неправильной нюхи в одном нюхонтейнере и Механическим Мессией, то советник выбросит из эскейва с сообщением о том, что нюха неправильная. Это вводит в заблуждение, потому что если заехать с тем же нюхонтейнером, но без Мессии, то нюху возьмут, так как правильной больше, чем неправильной.
Тыканье в gdb показало, что причиной этому является следующая проверка в uvsVanger::sellCirt()
:
if (tmp_good >= tmp_bad && tmp_good > 0 && !dgAbortStatus ){
dgAbortStatus
устанавливается из-за Мессии.
Вот так получается починить проблему - из эскейва по-прежнему выбрасывают, но теперь с правильным сообщением про Мессию:
--- a/src/uvs/univang.cpp
+++ b/src/uvs/univang.cpp
@@ -6591,6 +6591,8 @@ int uvsVanger::sellCirt(void){
GamerResult.cirt_bad = -1;
GamerResult.cirt_good = -1;
+ if (dgAbortStatus) return 0;
+
while( pi ){
tmp_good = 0;
tmp_bad = 0;
@@ -6619,7 +6621,7 @@ int uvsVanger::sellCirt(void){
}
- if (tmp_good >= tmp_bad && tmp_good > 0 && !dgAbortStatus ){
+ if (tmp_good >= tmp_bad && tmp_good > 0){
tmp_good = 0;
// if(cool_index == -1) ErrH.Abort("uvsVanger::sellCirt - good cirt not found but it have");