📌 Обзор
Этот файл определяет вероятность выпадения определённого снаряжения и товаров, если они экипированы на данном корабле, а также «фантомной добычи», которая может выпасть из чего угодно. Если запись присутствует в этом файле, она должна иметь флаг lootable = true
.
🔭 Синтаксис
Здесь есть два типа блоков. Любые блоки mLootProps
следует вызывать перед блоками PhantomLoot
.
💥 [mLootProps]
Перечисленное здесь снаряжение выпадет только в том случае, если оно действительно экипировано на корабле. Снаряжение без флага lootable = true
, но указанное здесь, может привести к сбоям.
[mLootProps]
nickname = string
drop_properties = FLOAT, INT, INT, INT, INT, INT
Параметр | Описание |
---|---|
nickname | Название оборудования, как определено в equipment. |
drop_properties | chance, min_worth, worth_mult, min, max1, max2 chance — вероятность выпадения (т.е. делится на 100). min_worth — минимальная ценность (стоимость), которую вы должны иметь, чтобы выпадение произошло. worth_mult — см. ниже. min — минимальное количество для выпадения. max1 и max2 — максимальное количество для выпадения. |
💥 [PhantomLoot]
Перечисленное здесь снаряжение может выпасть из любого NPC в пределах указанного диапазона прочности.
[PhantomLoot]
nickname = STRING
toughness_range = INT, INT
percent_chance = FLOAT
num_to_drop = INT, INT
Параметр | Описание |
---|---|
nickname | Имя оборудования, определённое в equipment. |
toughness_range | Диапазон стойкости, в котором должен находиться игрок, чтобы эти дропы могли произойти. |
percent_chance | Процентная вероятность выпадения, от 0 до 100. |
num_to_drop | Количество предметов для выпадения; целые числа здесь означают соответственно минимум и максимум. |
💢 Additional Information
Тему с более подробным описанием работы drop_properties
можно найти здесь.
Форум можно разбить следующим образом: (Спасибо Adoxa за эту тему)
count = (worth - min_worth) / worth_mult
if (count >= target_count)
count = target_count
if (count + min > max1)
count = max1
else
count += min
if (count >= target_count)
count = target_count
prob = chance * count
count = floor( prob )
prob -= count
if (rand < prob)
++count
if (count >= max2)
count = max2