Форум HeroesWorld-а - Показать сообщение отдельно - NHF - новые герои для Heroes V 3.1
Показать сообщение отдельно
#1342
Старый 13.07.2014, 18:46
  #1342
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

Алгоритм взаимодействия такой:
1) Высчитываются тайлы закрытия охраной портала (может быть стеков существ на карте и несколько, что плохо, но это редкость).
2) Выбираются сильнейшие охраны (слабые удаляются).
3) Охраны дублируются со всех сторон неодиночного портала.
4) При нападении на охрану (срабатывает триггер), дубль сразу же удаляется.
5) Если после боя осталась охрана, то снова дублируется то, что осталось. (если мы не сделаем пункты 4 и 5, охрана в дубле не уменьшится, если будет покоцана).

Добавлено через 1 минуту
RedHeavenHeroУже есть таблица и функция:
	local powers={	41,72,140,199,201,287,524,716,1086,1487,2185,2520,4866,6153,
			75,124,101,150,259,370,511,694,1069,1415,2102,2360,4868,5850,
			54,84,105,150,232,327,518,739,1166,1539,2204,2588,3174,3905,
			100,169,191,311,309,433,635,846,1072,1441,1717,1993,4942,6028,
			63,105,113,172,243,357,498,643,839,1126,2108,2535,4822,6095,
			180,295,333,484,342,474,598,812,968,1324,2193,2537,5235,6443,
			829,795,856,813,1793,2560,8576,
			70,115,115,171,304,419,318,434,932,1308,2109,2477,4883,6100,
			72,203,299,697,1523,2520,6003,
			355,671,2523,1542,
			42,69,121,174,190,254,492,680,695,926,2058,2571,4790,5937,
			127,149,338,680,1434,2448,5860,
			290,477,488,833,1333,2622,6389,
			174,308,447,862,1457,2032,5905,
			85,145,331,757,1541,2449,3872,
			105,180,355,642,1096,2581,6095,
			113,171,422,434,1329,2437,6070,
			66,181,265,692,895,2572,5937};
function CalcPower(object)
	if IsObjectExists(object) == nil then
		return 0;
	end;
	local power = 0;
	for i=1,179 do
		power = power + %powers[i] * GetObjectCreatures(object, i);
	end;
	return power;
end;
Это очень хорошо. Но тогда процесс объединения с NFC необратим, т.к. совместимость пропадет после применения такой таблицы. Но пока будет достаточно какого-нить исключения: например, если существа нет в таблице, сила равна 10.
Dyrman вне форума
Ответить с цитированием