Sansara-EventRewards icon

EventRewards

Event rewards for the Sansara Valheim server: vanilla items tagged by admins get extra bonuses for players with the mod. Players without it keep a normal item.

By Sansara

CHANGELOG

Changelog

0.5.14

Изъятие наград. Администратор может забрать выданные награды, не удаляя их из набора: eventreward revoke <id>[,<id>...] @<код> — у одного персонажа, eventreward revoke <id>[,<id>...] all — у всех; eventreward revoke list — действующие изъятия и сколько предметов уже изъято; eventreward unrevoke #<№> — отмена (дальше не изымается, уже изъятое не возвращается). У игрока с модом наградная вещь пропадает из инвентаря — рюкзак, панель, надетое, слоты Equipment and Quick Slots — через несколько секунд, если он в игре, или при следующем входе, и всем показывается сообщение «Суд Форсети: дар «…» возвращается к асам. Владелец — …» (в cfg сервера можно выключить или изменить). Сервер сам убирает такие вещи из сундуков, повозок, кораблей, надгробий и с земли: при изъятии у всех — все копии, при изъятии у одного — доставленные ему очередью (0.5.14 отмечает получателя) и всё из его надгробий; копии без отметки в общих сундуках остаются. Сервер не перезаписывает сундук, которым в этот момент пользуется игрок: берёт владение, а повозки, корабли и открытые сундуки проверяет позже. Изъятая награда перестаёт давать бонусы у игроков с модом, даже если копия уцелела, в подсказке — «Дар изъят». Из собственного инвентаря игрока без мода или с модом 0.5.0–0.5.13 вещь не изымается (у него это обычный предмет). Совместимо с 0.5.x: серверы 0.5.11–0.5.13 на eventreward revoke отвечают «неизвестная команда».

0.5.13

Экономия ресурсов. Четыре новых свойства наград: craftCost — меньше материалов на изготовление новой вещи, upgradeCost — меньше материалов на улучшение (каждый материал округляется вверх, не меньше 1; постройки не дешевеют), ammoSave — шанс не потратить стрелу, болт или другой снаряд при выстреле, craftYield — больше штук за изготовление по рецепту, который даёт стопку (стрелы, болты). Скидка действует и на материалы, которые CraftFromContainers берёт из сундуков рядом. Свойства видны в подсказке награды; в заголовке рецепта остаётся обычное «x20», прибавка видна по результату. Серверные пределы MaxCraftCostReductionPercent, MaxUpgradeCostReductionPercent, MaxAmmoSavePercent (по 30) и MaxCraftYieldPercent (50); сумму наград клиент ограничивает: вещь стоит не меньше половины, шанс не выше 50 %, выход не больше двойного. Совместимо с 0.5.x: клиенты 0.5.0–0.5.12 подключаются, у них награда без новых свойств — обновите мод, чтобы получить их.

0.5.12

Прочность наград. Новое свойство durability (%) увеличивает максимальную прочность самого предмета-награды, как armorPercent — броню: ванильный максимум (с учётом качества) умножается на 1 + N/100 (durability: 400 — впятеро). Видно в подсказке (строка прочности предмета и «Прочность: +400%»), на полоске прочности; ремонт на станции восполняет до нового максимума; новая награда выдаётся с полной увеличенной прочностью. Серверный предел MaxDurabilityPercent (400). Новый флаг награды indestructible — вещь не изнашивается вовсе: строительство, разбор и ремонт молотом, удары, блок, попадания по броне, горение фонаря; строка в подсказке «Неразрушимо». Вместе с noRepair неразрушимость снимает только запрет ремонта: улучшать вещь по-прежнему нельзя (строки «Неразрушимо» и «Не улучшается»); вместе с durability действует indestructible (прочность обычная, но всегда полная). Неразрушимость действует только у игрока с модом: улучшение на станции с шансом поломки и onDeath: destroy по-прежнему могут забрать вещь. Совместимо с 0.5.x: клиенты 0.5.0–0.5.11 подключаются; у них награда изнашивается как обычно, а предмет с durability, выданный с увеличенной прочностью, показывает 100 % и изнашивается дольше, пока не опустится ниже обычного максимума, — обновите мод, чтобы получить свойства.

0.5.11

Доставка наград и автовыдача «Охоты». Сервер ведёт список игроков с короткими кодами (eventreward players [фильтр] — код вида @3, имя, в игре или когда был) и постоянную очередь доставки: eventreward give <id> @<код> ставит награду в очередь, и сервер кладёт её к ногам персонажа, как только тот в игре (сразу или при следующем входе), с сообщением «Дар асов: «…» лежит у ваших ног»; eventreward queue [@код] и eventreward cancel <№> — просмотр и отмена. Выдача работает и игрокам без мода: им приходит обычный предмет на земле. eventreward give принимает несколько наград через запятую (eventreward give a,b — себе, … @3 — в очередь игроку); если хоть одна награда неизвестна, не выдаётся ничего. «Охота на искателей» с autoDeliver: true после победы сама ставит награду rewardId в очередь каждому участнику (rewardId по умолчанию — hunt_reward, задайте свою награду явно). Награда кладётся, когда персонаж стоит на месте и не плывёт. Запись списка игроков привязана к платформе (Steam/PlayFab) первого входа: тот же персонаж с чужого аккаунта награду не получит; eventreward players unbind @<код> снимает привязку, если игрок сменил аккаунт. Файлы списка и очереди пишутся с резервной копией .bak и восстанавливаются из неё; повторной автовыдачи охоты нет. Совместимо с 0.5.x: новые команды нужны только администратору, серверы 0.5.0–0.5.10 их молча пропускают.

0.5.10

Урон от падения. Новое свойство fallDamage (отрицательный %) снижает урон от падения у игрока, пока награда надета (fallDamage: -50 — урон вдвое меньше). Строка в подсказке: «Урон от падения: -50%». Серверный предел MaxFallDamageReductionPercent (50); сумма нескольких наград — не больше −90 %. «Словно пёрышко» (featherFall) и плащ из перьев по-прежнему убирают урон от падения полностью. Совместимо с 0.5.x: клиенты 0.5.0–0.5.9 подключаются и игнорируют новое свойство (награда остаётся, но урон от падения обычный) — обновите мод, чтобы его получить.

0.5.9

Броня наград. Новое свойство armorPercent (%) усиливает броню самого предмета-награды, как blockPower — щит: вся ванильная броня предмета (с учётом качества и уровня мира) умножается на 1 + N/100 (armorPercent: 100 — броня вдвое). Видно в подсказке (строка брони предмета и «Броня: +100%»), в броне персонажа в инвентаре, в превью улучшения на станции; урон по игроку считается с новой бронёй. Серверный предел MaxArmorPercent (100). Совместимо с 0.5.x: клиенты 0.5.0–0.5.8 подключаются и игнорируют новое свойство (награда остаётся, но броня обычная) — обновите мод, чтобы его получить. Новые тексты подсказки: заголовок блока награды — «Дар асов» (было «Награда за ивент»); строка судьбы при смерти — «Смерть: Хель не отнимет» (было «Не выпадает при смерти»), «Смерть: Хель заберёт» (красным, было «Пропадает при смерти») и новая строка «Смерть: ляжет в надгробие» для наград, которые выпадают как обычно (раньше строки не было).

0.5.8

Судьба награды при смерти. Новое поле награды onDeath: keep (по умолчанию — для всех наград, где поле не задано) — вещь остаётся в инвентаре игрока в той же ячейке (в том числе в слотах снаряжения и быстрых слотах Equipment and Quick Slots), а не уходит в надгробие, надетая после возрождения снова надета; drop — выпадает в надгробие, как в обычной игре; destroy — пропадает при смерти (одноразовая награда: очень сильные вещи можно сделать одноразовыми, чтобы их берегли). Строки в подсказке: «Не выпадает при смерти», «Пропадает при смерти» (красным). Когда награда пропадает, игрок видит сообщение, а сервер пишет строку в журнал и объявляет всем (настройки AnnounceRewardLoss, RewardLossMessage). Работает только у игроков с модом: у игрока без мода (или с 0.5.0–0.5.7) любая награда выпадает в надгробие как обычный предмет. Совместимо с 0.5.x: клиенты 0.5.0–0.5.7 подключаются и игнорируют новое поле — обновите мод, чтобы награды оставались при смерти. Безопасность: сервер теперь проверяет, что сообщение мода пришло именно от того игрока, за которого себя выдаёт (раньше изменённый клиент мог выдать себя за администратора для команд eventreward reload и eventhunt).

0.5.7

Строительство. Новые свойства наград (действуют, пока награда надета): дешевле по выносливости работа строительными инструментами — молотом, мотыгой и культиватором: установка, разбор и ремонт (buildStamina, отрицательный %), дальше дотягивается строительство — установка, разбор, ремонт, копирование постройки, мотыга и культиватор (buildRange, метры к ванильным 5 м). Строки в подсказке: «Расход выносливости на строительство: -50%», «Дальность строительства: +5 м». Серверные пределы MaxBuildStaminaReductionPercent (50) и MaxBuildRange (10 м); сумма нескольких наград не больше −90 % выносливости и +20 м дальности. Для начала строительного действия игра по-прежнему требует в полоске полную ванильную цену инструмента — списывается меньше. Совместимо с 0.5.x: клиенты 0.5.0–0.5.6 подключаются и игнорируют новые свойства (награда остаётся, но без них) — обновите мод, чтобы их получить.

0.5.6

Еда и медовухи. Новые свойства наград (действуют, пока награда надета): восстановление здоровья от еды (healthRegen, %), сила еды — здоровье, выносливость и эйтр, которые даёт еда (foodStats, %; база персонажа и прибавки наград не растут), медленнее выдыхается еда (foodDrain, отрицательный %), дольше действуют медовухи без перезарядки — сопротивления, Вананидир, Легкоступ, мощные медовухи и др. (potionDuration, %), короче запрет на повторный приём медовух лечения, выносливости и эйтра (potionCooldown, отрицательный %; само лечение не укорачивается), сильнее лечение, выносливость и эйтр от медовух (potionPower, %). Строки в подсказке: «Восстановление здоровья: +50%», «Сила еды: +30%», «Выдыхание еды: -40%», «Длительность медовух: +50%», «Перезарядка медовух: -40%», «Сила медовух: +30%». Серверные пределы MaxHealthRegenPercent (100), MaxFoodStatsPercent (50), MaxFoodDrainReductionPercent (50), MaxPotionDurationPercent (100), MaxPotionCooldownReductionPercent (50), MaxPotionPowerPercent (50); сумма нескольких наград не больше +200 % восстановления, +100 % силы еды, −90 % выдыхания, +200 % длительности, −90 % перезарядки и +100 % силы медовух. В белый список AllowedEffects по умолчанию добавлены постоянные эффекты медовух без группы: Potion_frostresist, Potion_poisonresist, Potion_barleywine, Potion_swimmer, Potion_LightFoot, Potion_tamer, Potion_BugRepellent (постоянное сопротивление морозу снимает «Холод» и «Замерзание»). На обновляемом сервере значение AllowedEffects в cfg нужно дописать вручную. Совместимо с 0.5.x: клиенты 0.5.0–0.5.5 подключаются и игнорируют новые свойства (награда остаётся, но без них) — обновите мод, чтобы их получить.

0.5.5

Украшения (амулеты) и адреналин. Выпуск включает все изменения 0.5.4 (магия, см. ниже): версия 0.5.4 отдельно не публиковалась. Новые свойства наград: быстрее набор адреналина (adrenaline, %), адреналин за каждое попадание по врагу (adrenalineOnHit), а для наград-украшений — ниже порог шкалы (adrenalineThreshold, %), дольше эффект полной шкалы (adrenalineDuration, %) и дополнительные ванильные эффекты при полной шкале (adrenalineEffects, например «Ветрокрылый», с длительностью adrenalineEffectDuration). Строки в подсказке: «Набор адреналина: +50%», «Порог адреналина: -40%», «Длительность эффекта: +50%», «Адреналин за попадание: +1», «При полной шкале: Ветрокрылый на 30 с». Адреналин за убийство не реализован: игра надёжно знает об убийстве только у владельца существа, а не у атакующего. Серверные пределы MaxAdrenalinePercent (100), MaxAdrenalineThresholdReductionPercent (50), MaxAdrenalineDurationPercent (100), MaxAdrenalineOnHit (2), MaxAdrenalineEffectDuration (180 с) и белый список AllowedAdrenalineEffects; сумма нескольких наград не больше +200 % набора и +5 за попадание, адреналин за попадание умножается на множитель адреналина врага, как у ванильного. Совместимо с 0.5.x: клиенты 0.5.0–0.5.4 подключаются и игнорируют новые свойства (награда остаётся, но без них) — обновите мод, чтобы их получить. Также в 0.5.5: силы боссов на предметах — в effects награды можно указать силы алтаря (GP_Eikthyr, GP_TheElder, GP_Bonemass, GP_Moder, GP_Yagluth, GP_Queen, GP_Fader, по умолчанию разрешены в AllowedEffects); пока предмет надет, сила действует без таймера и без повторяющихся сообщений, выбранная у алтаря сила игрока и её перезарядка не затрагиваются. Подсказка: «Сила: Матерь». Новое свойство shipSpeed — «Скорость корабля: +N%» (примерно +N % к максимальной скорости под парусом и на вёслах: сила умножается на (1 + N/100)², потому что сопротивление воды растёт с квадратом скорости, разгон тоже быстрее; на корабле действует лучшее значение среди игроков на борту, работает, если мод стоит у владельца корабля — обычно рулевого), серверный предел MaxShipSpeedPercent (50). Флаг награды noRepair — вещь нельзя чинить и улучшать на станциях (строка «Не ремонтируется»; у игроков без мода вещь обычная). На обновляемом сервере значение AllowedEffects в cfg нужно дописать вручную.

0.5.4

Не публиковалась отдельно, вошла в 0.5.5.

Новые свойства наград для магии: запас эйтра (maxEitr), восстановление эйтра (eitrRegen), меньший расход эйтра (eitrCost) и здоровья (healthCost) на заклинания, прибавка к уровню навыка (skillLevel), ускоренный рост навыка (skillGain) и урон атак навыком (damageSkill) — для любых навыков, например магии стихий и магии крови. Строки в подсказке: «Эйтр: +50», «Восстановление эйтра: +50%», «Расход эйтра: -30%», «Цена здоровьем: -30%», «Магия стихий: +15», «Рост навыка Магия стихий: +50%», «Урон (Магия стихий): +20%»; названия навыков — из перевода игры. Серверные пределы MaxEitr (100), MaxEitrRegenPercent (100), MaxEitrCostReductionPercent (50), MaxHealthCostReductionPercent (50), MaxSkillLevel (25), MaxSkillGainPercent (100), MaxDamageSkillPercent (100). Совместимо с 0.5.x: клиенты 0.5.0–0.5.3 подключаются и игнорируют новые свойства (награда остаётся, но без них) — обновите мод, чтобы их получить.

0.5.3

Новые свойства наград: сопротивления урону (resist: огонь, мороз, молния, яд, дух, дробящий, режущий, колющий; уровни слабое, среднее, высокое, иммунитет), ванильные эффекты предметов (effects: например «Дужка», «Свет светлячка», «Ветрокрылый», «Словно перышко») и двойной прыжок (doubleJump). Строки в подсказке: «Сопротивление огню: высокое», «Эффект: …», «Двойной прыжок». Серверные пределы MaxResistance (по умолчанию высокое), AllowedEffects (белый список эффектов) и MaxAirJumps (по умолчанию 1). Совместимо с 0.5.x: клиенты 0.5.0–0.5.2 подключаются и игнорируют новые свойства (награда остаётся, но без них) — обновите мод, чтобы их получить.

0.5.2

Новое свойство наград: «выносливость» (maxStamina) — прибавка к максимуму выносливости, пока награда надета (как «здоровье»). Строка «Выносливость: +N» в подсказке идёт после «Здоровья». Серверный предел MaxStamina (по умолчанию 50). Совместимо с 0.5.x: клиенты 0.5.0 и 0.5.1 игнорируют неизвестный бонус, награда остаётся, но прибавки выносливости у них нет — обновите мод, чтобы её получить.

0.5.1

Серверный ивент «Охота на искателей» (модуль EventHunt): игроки вместе собирают ивентовые трофеи в общий сундук, прогресс объявляется всем в центре экрана (видно и без мода). Новые команды администратора eventhunt setchest | start | stop | status. Клиентская логика наград не менялась; совместимо с 0.5.0 (клиенты 0.5.0 подключаются к серверу 0.5.1, команды eventhunt есть только у клиентов 0.5.1).

0.5.0

Новые свойства наград: «прочность блока» (blockPower, %: усиливает защиту щита и отбрасывание при парировании у самого предмета), «уровень инструмента» (toolTier: минимальный уровень инструмента для рубки деревьев и добычи, пока награда надета) и вариант внешнего вида предмета (variant). Клиент 0.5 игнорирует неизвестные бонусы более новых серверов вместо отбрасывания награды целиком. Версия 0.5 несовместима по сети с 0.4: обновляйте мод вместе с сервером (клиенты 0.4.x не подключатся).

0.4.1

Исправление упаковки: после обновления с 0.3.0 BepInEx показывал старую версию из кеша и сервер не пускал; функциональных изменений нет.

0.4.0

Новое свойство награды «словно пёрышко» ("featherFall": true в bonuses): замедленное падение и сниженный урон от падения, как у плаща из перьев (значения берутся из игры). С плащом из перьев не складывается. Версия 0.4 несовместима по сети с 0.3: обновляйте мод вместе с сервером.

0.3.0

Первая публикация на Thunderstore. Идентификаторы мода переименованы в sansara (GUID плагина sansara.EventRewards). Качество награды (quality) при выдаче и перенос метки награды на новый предмет при улучшении на станции крафта. Шесть видов бонусов: вес, скорость передвижения, регенерация выносливости, расход выносливости на бег, здоровье, урон.