Мы сделали это!
Принимая во внимание размер оружия, теперь ванильный мир Рим.Известные проблемы в 1.6
- Rimworld теперь также использует размер ничьей для кнопки оружия Imagine на пешке, делая некоторые виды оружия больше, чем кнопка.
- Rimworld теперь выдает ошибку конфигурации, если орудие имеет смещения. Это безвредно, но раздражает. Его можно обойти, установив значение «rotatable» на «true» в определении оружия, но я не знаю, какое влияние это оказывает на другие вещи, которые игра делает с рендерингом оружия.
Что теперь делает этот мод?
То, что осталось от этого мода, заставляет игру снимать наборы при рендеринге перевозимого оборудования.
Ничего не делает самостоятельно. Может быть, это также будет реализовано в Vanilla Rimworld после следующего DLC, кто знает.
Этот мод чрезвычайно легкий, поскольку он буквально изменяет только одну переменную в функции PawnRenderer.DrawEquipmentAiming.
для моддеров
Первые 2 скриншота - пример того, что вы можете сделать. Все, что вам нужно сделать, это установить drawSize (необязательно) и/или смещения (также необязательно) в узле xml graphicData. Не копируйте dll в свой мод, это сломает транспайлер, потому что исправление одной и той же строки в коде не сработает, если строка будет заменена. Просто добавьте зависимость на страницу Steam Mod. Загрузка заказа не имеет значения.
Зачем использовать это над негабаритным оружием JecsTools? (Устарело!)
- Улучшенная производительность: Этот мод не использует дополнительные компоненты. Не нужно искать список компасов, который будет складываться, если модифицированное оружие получит много компасов. Негабаритное оружие JecsTools обыскивает каждый список соединений каждого извлеченного оружия в каждом кадре. Даже если не все оружие использует негабаритное оружие JecsTools, их все равно нужно обыскать. Представьте, что сто визуализированных пешек со всем оружием обыскивают каждый кадр.
- Ваш мод не сломается, если вы удалите или забудете активировать Enable Oversize Weapons: Все, что вы сделали, это изменили уже существующие graphicData, которые есть у Vanilla Rimworld, но игнорирует. Ошибок не будет. Худший случай, если вы удалите мод: ваше оружие теперь такое же крошечное, как и ванильное Rimworld. Если появится новая версия Rimworld (например, 1.4), вы даже можете обновить свои моды оружия без обновления этого мода, потому что вы не зависите от каких-либо код. Это дает вам возможность начать обновление с первого дня.
- Более высокая совместимость: Включение негабаритного оружия не пропускает ванильный метод Rimworld. Другие моды, которые используют префикс или делают Transpiler, все равно будут выполняться.
Пример размера
Делает оружие больше или меньше.
<drawSize>2.0</drawSize>
выше 1 = больше, ниже 1 = меньше
or<drawSize>(2.0, 2.0)</drawSize>
Если вы хотите растянуть оружие, используйте разные значения.
первое значение = горизонтальное
второе значение = вертикальное
Пример смещения
Смещения перемещают орудие в определенных направлениях. Например, вы можете переместить меч больше вправо, когда пешка обращена вправо, чтобы расположить рукоятку точно там, где будет рука пешки.
Каждое смещение является необязательным.
drawOffsetNorth: когда пешка смотрит вверх
drawOffsetEast, когда пешка выглядит правильно
drawOffsetSouth, когда пешка смотрит вниз
drawOffsetWest, когда пешка смотрит влево
значения направления смещения:
каждое смещение имеет 3 значения, которые определяют, в каком направлении перемещается оружие
<drawOffsetNorth>(влево/вправо, фон/передний план, вверх/вниз)</drawOffsetNorth>left < 0 < right
фон < 0 < передний план
вниз < 0 < вверх
<drawOffsetEast>(1.0, 0.0, 1.0)</drawOffsetEast> переместит орудие на целую плитку вправо и на целую плитку вверх, когда пешка будет выглядеть правильно, как вы можете видеть на скриншоте. Это довольно много. Вы, вероятно, хотите работать с меньшими числами, такими как -0,33 или +0,25
Имейте в виду, что когда оружие лежит на земле, drawOffsetNorth будет применяться к позиции рендеринга. Этот мод убирает это с основного снаряжения, поэтому оружие снова центрируется (это можно отключить в опциях мода). Это также делается с помощью Harmony Transpiler, и он настраивает только одну переменную. Включение этой функции практически не повлияет на производительность.
Совместимость
Проблем быть не должно.
Загрузка заказа не имеет значения. (сразу после Harmony)
Безопасно добавлять или удалять в любое время.
Моды, которые пропускают DrawEquipmentAiming, также пропустят то, что делает этот мод.
Другие транспойлеры, которые исправляют DrawEquipmentAiming, все равно должны работать без проблем.
Другие транспойлеры, которые исправляют Graphic.Print, все еще должны работать без проблем.
Использует Гармонию.
Github:
github.com/splincore/Enable-Oversized-Weapons