Вопрос про снижение цены теха |
Здравствуйте Гость ( Вход | Регистрация )
Вопрос про снижение цены теха |
eStalker |
Mar 24 2005, 15:58
Отправлено
#1
|
Cannon Boat Группа: Members Сообщений: 80 Регистрация: 21-December 04 Пользователь №: 978 |
Насколько снижается цена теха при продвижении по дереву развития?
Например есть тех 0 3 0 5 0 0 цена 100ресов как она измениться взависимости от развития энергии, или биологии, или оружия, или оружия(+1) и конструкции(+2) ну все варианты перечислять бессмысленно - основное правило какое? |
Korsar |
Mar 25 2005, 02:27
Отправлено
#2
|
Begemoth Группа: Админы Сообщений: 1 697 Регистрация: 9-July 01 Из: Пермь Пользователь №: 521 |
если не ошибаюсь, цена теха = исходной цене + константа * число изученных техов
-------------------- Иногда войны начинаются рано
|
Musoid |
Mar 25 2005, 04:28
Отправлено
#3
|
Begemoth Группа: Members Сообщений: 1 273 Регистрация: 30-July 01 Из: Пермь Пользователь №: 242 |
ИМХО не так просто.
С уважением. -------------------- для того, чтобы понять что такое рекурсия, нужно сперва понять что такое рекурсия
|
Alex |
Mar 25 2005, 06:46
Отправлено
#4
|
Begemoth Группа: Server Owners Сообщений: 1 577 Регистрация: 9-July 01 Из: Санкт-Петербург Пользователь №: 402 |
Ну примерно так:
CODE for(BYTE c=0;c<eTechnology::m_Counter;c++){ for(BYTE i=0;i<m_Category[c].m_Counter;i++){ TBaseTechnology* pSItem = TTechnology::This->Technology(c,i); TBaseTechnology* pPItem = Technology(c,i); if(NOT pPItem) continue; if(pPItem==NULL OR (pPItem->m_Flags&TBaseTechnology::FLG_MaxCheapen)) continue; // Расчет уменьшения цены постройки технологии long SDelta = LONG_MAX; for(BYTE f=0;f<eFieldOfStudy::m_Counter;f++){ // Поиск наименьшего превышения уровня технологий по всем полям short LDelta = (short)(dLevels[f] - pPItem->m_ResearchLevel[f]); if(LDelta==0 AND pPItem->m_ResearchLevel[f]>0) break; else if(LDelta<SDelta) SDelta = LDelta; } if(f!=eFieldOfStudy::m_Counter) continue; SDelta*=4; // 4% за каждое превышение if(SDelta>76){ pPItem->m_Flags|=TBaseTechnology::FLG_MaxCheapen; SDelta = 76; } // Уменьшение цены for(BYTE m=0;m<eConstructionCost::m_Counter;m++){ long newCost = pSItem->m_Cost[m] - SDelta * pSItem->m_Cost[m] / 100; pPItem->m_Cost[m] = (short)iif(newCost<1 AND pSItem->m_Cost[m]>0,1,newCost); } } } -------------------- Владелец самого мощного оружия галактики - дисконнекта
|
Korsar |
Mar 25 2005, 07:27
Отправлено
#5
|
Begemoth Группа: Админы Сообщений: 1 697 Регистрация: 9-July 01 Из: Пермь Пользователь №: 521 |
нерпавильно понял вопрос - показалось, что речь шла об удорожании изучения самого теха
-------------------- Иногда войны начинаются рано
|
eStalker |
Mar 25 2005, 08:20
Отправлено
#6
|
Cannon Boat Группа: Members Сообщений: 80 Регистрация: 21-December 04 Пользователь №: 978 |
Спасибо Alex, красивый ответ.. только плохо понятный 8-) это вообще что за язык?? 8-))
|
Musoid |
Mar 25 2005, 08:22
Отправлено
#7
|
Begemoth Группа: Members Сообщений: 1 273 Регистрация: 30-July 01 Из: Пермь Пользователь №: 242 |
Насколько я вижу, это Си.
С уважением. -------------------- для того, чтобы понять что такое рекурсия, нужно сперва понять что такое рекурсия
|
AlexSmall |
Mar 25 2005, 08:31
Отправлено
#8
|
Begemoth Группа: Super Members Сообщений: 1 531 Регистрация: 10-September 03 Из: Краков Пользователь №: 723 |
Это вообще-то С++. Но насколько я понял, речь то все таки шла не об уменшении цени постройки конкретного теха, а об увеличении цены других техов при изучении например какого-то одного(или нескольких соседних).
Так что вопрос пока не отвечен... -------------------- Больше всего мы гордимся тем, чего у нас нет. (с) Акутагава Рюноскэ
|
eStalker |
Mar 25 2005, 09:19
Отправлено
#9
|
Cannon Boat Группа: Members Сообщений: 80 Регистрация: 21-December 04 Пользователь №: 978 |
вопрос был мой! и как раз про снижение цены теха, а не увеличения его исследования,
Alex вполне ответил на него, только C++ какой то кривой... P.S. Кол-во МИНЕРАЛОВ уменьшается в той-же пропорции? |
Alex |
Mar 25 2005, 10:17
Отправлено
#10
|
Begemoth Группа: Server Owners Сообщений: 1 577 Регистрация: 9-July 01 Из: Санкт-Петербург Пользователь №: 402 |
Ты поокуратней про C++, это ХМ писал.
А это по второму вопросу: CODE struct eConstructionCost{ enum{ Ironium, Uranium, Liberium, Resource, m_Counter }; Ну если ты все понял, может всем остальным по-русски напишешь, а то лениво. Потомки оценят. -------------------- Владелец самого мощного оружия галактики - дисконнекта
|
Stratus |
Mar 25 2005, 12:27
Отправлено
#11
|
Begemoth Группа: Members Сообщений: 1 136 Регистрация: 26-November 03 Пользователь №: 764 |
QUOTE(Korsar @ Mar 25 2005, 04:27 AM) если не ошибаюсь, цена теха = исходной цене + константа * число изученных техов мну думать что после lvl 10 формула уже другая ...и скорее всего там число изученных техов превращается в число изученных техов для данной области |
Alex |
Mar 25 2005, 12:39
Отправлено
#12
|
Begemoth Группа: Server Owners Сообщений: 1 577 Регистрация: 9-July 01 Из: Санкт-Петербург Пользователь №: 402 |
Ну уж тогда я и по второму вопросу выложу все карты, авось ХМ не обидется:
CODE double LevelCost(BYTE field)const{ const bFieldOfStudy &fs = m_FS[field]; return floor((StandardCost(fs.m_Level)+fs.m_Level*fs.m_AdditiveCost)*fs.m_RaceCoeff); } CODE void TResearch::RecalculateACost(){ for(BYTE f=0;f<eFieldOfStudy::m_Counter;f++){ long ACost = 0; for(BYTE s=0;s<eFieldOfStudy::m_Counter;s++){ if(s==f) continue; ACost+=(m_FS[s].m_Level-1)*10; } m_FS[f].m_AdditiveCost = ACost; } } "Истина где-то рядом" -------------------- Владелец самого мощного оружия галактики - дисконнекта
|
D_R_K |
Mar 25 2005, 14:45
Отправлено
#13
|
Battleship Группа: Members Сообщений: 245 Регистрация: 10-July 02 Пользователь №: 249 |
кстати.. а можно переделать техэдитор, чтобы он под новый клиент работал?
-------------------- Я дерусь.. потому, что я дерусь
|
Alex |
Mar 25 2005, 15:07
Отправлено
#14
|
Begemoth Группа: Server Owners Сообщений: 1 577 Регистрация: 9-July 01 Из: Санкт-Петербург Пользователь №: 402 |
можно, хотя там вся трабла в картинках - оставь старые bmp и все будет работать
-------------------- Владелец самого мощного оружия галактики - дисконнекта
|
Valerich |
Feb 10 2006, 11:20
Отправлено
#15
|
Begemoth Группа: Members Сообщений: 927 Регистрация: 2-December 03 Пользователь №: 765 |
|
Weonard |
Feb 11 2006, 12:07
Отправлено
#16
|
Megadestroyer Группа: Members Сообщений: 620 Регистрация: 18-February 03 Из: МО, п. Тучково Пользователь №: 612 |
Ща ХМ увидит такое количество кусков сурца сервера и хватится за голову(или за топор... =) ).
|
lonewolf |
Apr 3 2006, 13:41
Отправлено
#17
|
Battleship Группа: Members Сообщений: 221 Регистрация: 21-June 04 Пользователь №: 906 |
может всем остальным по-русски напишешь, а то лениво. Потомки оценят. для этого желательно хоть примерно знать что такое m_Counter, чем eTechnology отличается от TTechnology и TBaseTechnology, что делает TTechnology::This->Technology(c,i); когда верно условие (NOT pPItem)... иначе "хливкие шорьки пырялись по наве, и хрюкотали зелюки как мюмзики в мове" -------------------- милосердие шушпанчиков не знает пощады
|
Упрощённая версия | Сейчас: 25th April 2024 - 07:37 |