• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

Formula Czarów!

Status
Not open for further replies.

Samme

.::EmmaS-SammE::.
Senator
Joined
Mar 4, 2008
Messages
2,398
Reaction score
50
Location
/poland
Szukałem pomocy już wszędzie to napiszę i tutaj.

Jak wiadomo, w nowym TFS - mam 0.4_DEV, jest nowa formula czarów,
rzecz w tym, że ja potrzebuję tej starej bo posiadam około 40 własnych czarów a nie rozumiem jak zmienić tą formulę na nową.

Wiem że istnieje jeszcze szansa na zmianę w sources ale wspólnie z Chojrakiem nie udało się nam ;[.

Macie jakieś sugestie? :/
 
Nasza walka byla heroiczna, podmienilismy duzy fragment kodu i byly bledy, niesamowite co?
 
w 0.3.6 udalo mi sie stara wsadzic, ale zrodla 0.4 nigdy na oczy nie widzialem wiec chyba nie pomoge
ale chyba formula jest ta sama co w 0.3.6 tylko inaczej napisana co?


Chojrak: w sumie wsadzilem zamiast calej formuly tylkoczesc z 0.3.5 bo nie bylem w stanie zmusic do dzialania mnoznikow z vocations(sie nie chcialy skompilowac)to je wywalilem i smigalo jak trzeba
 
nom

w 0.3.6 udalo mi sie stara wsadzic, ale zrodla 0.4 nigdy na oczy nie widzialem wiec chyba nie pomoge
ale chyba formula jest ta sama co w 0.3.6 tylko inaczej napisana co?


Chojrak: w sumie wsadzilem zamiast calej formuly tylkoczesc z 0.3.5 bo nie bylem w stanie zmusic do dzialania mnoznikow z vocations(sie nie chcialy skompilowac)to je wywalilem i smigalo jak trzeba

A co zmieniałeś?
 
zraz zobacze i dam edita
w 0.3.6 masz
Code:
case FORMULA_LEVELMAGIC:
				{
					min = (int32_t)((player->getLevel() / minl + player->getMagicLevel() * minm) * 1. * mina + minb);
					max = (int32_t)((player->getLevel() / maxl + player->getMagicLevel() * maxm) * 1. * maxa + maxb);
					if(minc && std::abs(min) < std::abs(minc))
						min = minc;

					if(maxc && std::abs(max) < std::abs(maxc))
						max = maxc;

					player->increaseCombatValues(min, max, params.useCharges, true);
					return true;
				}
w combat.cpp

zmienilem to na mniej wiecej
Code:
				case FORMULA_LEVELMAGIC:
				{
					min = (int32_t)((player->getLevel() + player->getMagicLevel() * 4) * 1. * mina + minb);
					max = (int32_t)((player->getLevel() + player->getMagicLevel() * 4) * 1. * maxa + maxb);
					return true;
				}
i śmiga, tylko nie uwzględnia szajsu z vocations(ktory chyba nawet nie dziala)

czyli ze starej formuly wyjebalem
Code:
Vocation* vocation = player->getVocation();
				float multiplier = 1.0f;
				if(max > 0)
					multiplier = vocation->getMultiplier(MULTIPLIER_MAGICHEALING);
				else
					multiplier = vocation->getMultiplier(MULTIPLIER_MAGIC);

				min = (int32_t)(min * multiplier);
				max = (int32_t)(max * multiplier);
bo nie chcialo mi sie przekopywac wszystkiego zeby te mnozniki ogarnac

EDIT: teraz to zwiekszanie dmg przez te mnozniki nest chyba w innej funkcji tak patrze to moze nawet dzialac jak tak wrzucisz:D
 
Last edited:
Status
Not open for further replies.
Back
Top