|

Мод «Tameable Entities» для Rimworld (v1.6)

Дата
17.08.26
Просмотров
298
Версия
16.08.26

Вы когда-нибудь думали: «Вау, эти ужасающие существа, которые появляются изнутри моих колонистов в мучительной и отвратительной форме, такие крутые, я хочу такого же!» - и у вас не было способа удовлетворить эту потребность? Что ж, дальше не ищите, потому что этот мод - именно то, чего вы ждали! Позвольте представить вам мой первый мод, сделанный практически с нулевыми навыками программирования и почти за месяц упорной работы.


Приручаемые сущности

Теперь, если вы оглушите металлическую жуть, ноктола или, возможно, даже ревенанта, вы сможете приручить его, и после некоторого времени дружественной дрессировки они присоединятся к вашей колонии и станут вашими союзниками! С помощью этого мода вы также можете лечить своих сущностей, чтобы они оставались здоровыми и их не убили!

Вот список сущностей, которых можно приручить, и какой навык требуется для их дрессировки/приручения:

После того как дрессировка любой из этих сущностей достигнет 100%, они станут приручёнными, и вы сможете взять их в свою колонию.


Сущности - идеальные питомцы! Когда они присоединяются к вашей колонии, они уже обучены! Некоторые из них могут перетаскивать предметы, других можно отправлять в атаку на врагов, и всё это без постоянных тренировок, как у других животных, которым нужна еда для обучения и выживания.

Как вы могли заметить, Ноциосфера есть в списке! Да, вы можете приручить целую Ноциосферу, если сможете её обучить и приручить - она никогда не станет нестабильной! Вы сможете держать её вечно и отправлять в бой, когда придёт рейд. И угадайте что? Ноциосфера НЕ будет атаковать ваших дружественных пешек, потому что после обучения она полюбит вас и будет сражаться до смерти!

Даже когда вы запускаете свой Гравикорабль, сущности заходят внутрь, чтобы их не бросили.


Вы когда-нибудь задумывались, как металлическая жуть внедряется в других существ и размножается? Приготовьтесь узнать это на практике! В этом моде у вас будет возможность заставить вашу металлическую жуть внедрить свою «Личинку металлической жути» в согласного дружественного колониста (или ещё более согласного заключённого/раба!). После внедрения Личинка металлической жути займёт несколько дней, чтобы разрастись и вырасти внутри носителя, как это уже случалось с вашими колонистами! Затем, когда личинка созреет, она вырвется из тела носителя, прокладывая себе путь к свободе и в вашу колонию как новорожденный детёныш металлической жути. Они очень милые!

Только металлическая жуть в возрасте 18 дней и старше может внедрять личинку в колониста. О, и если вы случайно внедрили личинку металлической жути, вы всё ещё можете удалить её с помощью операции! Хотя это может быть немного сложнее - она не хочет покидать своего телесного носителя!

Известные проблемы, которые я не знаю, как исправить:

  • Когда Ноциосфера отправлена в бой, дружественные пешки будут атаковать её, но Ноциосфера достаточно добра, чтобы не отвечать на атаки ваших дружественных колонистов.


Будущие дополнения?
Возможно, способ разводить Ноктолов - они мне очень нравятся, и я хотел бы придумать способ производить больше.


Совместимость с модами
Я делал этот мод для всех ванильных сущностей из DLC, я не знал, как сделать «универсальный» способ включения других сущностей, так что это работает с базовой ванильной Anomaly, но я сомневаюсь, что это работает с модовыми сущностями (по сути, дрессировка не должна появляться).

Требуется Harmony.

Мод проверен на версии игры: 1.6

Установка мода

Для того, чтобы установить мод для игры Rimworld необходимо скопировать папку из скачанного архива по пути Путь к установленной игре\Rimworld\mods и включить мод в меню.

Рекомендуем ознакомиться с полным руководством на тему: "Как установить моды для Rimworld?"

Информация о файле

ТОП группа по RimWorld

Помощь по игре и масса полезного контента. Подписывайся!

20:49 (отредактировано)

Понибудь понил как это должно работать? У меня есть шкала приручения, но нет команды чтобы их приручить. Сама по себе она не заполняется. В режиме разраба смог заполнить, и вроде как приручилось, но опять никаких взаимодействий. Потом ради эксперимента опустил шкалу в 0 и всё, пешки отказываются взаимодействовать с тварью, даже не захватывают, только в режиме R взять или добить. «невозможно спасти, нет доступных кроватей для поселенцев» (хотя они есть). У приручённой через консоль металожути нельзя имплантировать лярву, «потому что такой навык не изучен» хотя он там базово 1 из 1 и его даже нельзя для обучения отметить.

Хотя в стиме на него вроде не особо жалуются

Вот логи ошибок если надо

Error while instantiating a mod of type TameableAnomalies.TameableAnomaliesMod: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> HarmonyLib.HarmonyException: Patching exception in method null ---> System.ArgumentException: Undefined target method for patch method static System.Void TameableAnomalies.Patches.Patch_GravshipLaunch::Postfix(Verse.TargetInfo target)
[Ref 6CDD5CBC]
at HarmonyLib.PatchClassProcessor.PatchWithAttributes (System.Reflection.MethodBase& lastOriginal, System.Boolean unpatch) [0x00047] in <e53399289d9b419d83f9f5b02c5cf609>:0
at HarmonyLib.PatchClassProcessor.Patch () [0x00064] in <e53399289d9b419d83f9f5b02c5cf609>:0
— End of inner exception stack trace ---
[Ref 8A9C8815]
at HarmonyLib.PatchClassProcessor.ReportException (System.Exception exception, System.Reflection.MethodBase original) [0x00154] in <e53399289d9b419d83f9f5b02c5cf609>:0
at HarmonyLib.PatchClassProcessor.Patch () [0x00096] in <e53399289d9b419d83f9f5b02c5cf609>:0
at HarmonyLib.Harmony.<PatchAll>b__10_1 (System.Type type) [0x00007] in <e53399289d9b419d83f9f5b02c5cf609>:0
at HarmonyLib.CollectionExtensions.Do[T] (System.Collections.Generic.IEnumerable`1[T] sequence, System.Action`1[T] action) [0x00014] in <e53399289d9b419d83f9f5b02c5cf609>:0
at HarmonyLib.CollectionExtensions.DoIf[T] (System.Collections.Generic.IEnumerable`1[T] sequence, System.Func`2[T,TResult] condition, System.Action`1[T] action) [0x00007] in <e53399289d9b419d83f9f5b02c5cf609>:0
at HarmonyLib.Harmony.PatchAll (System.Reflection.Assembly assembly) [0x00006] in <e53399289d9b419d83f9f5b02c5cf609>:0
at HarmonyLib.Harmony.PatchAll () [0x0001d] in <e53399289d9b419d83f9f5b02c5cf609>:0
TameableAnomalies.TameableAnomaliesMod..ctor(ModContentPack content)
(wrapper managed-to-native) System.Reflection.RuntimeConstructorInfo.InternalInvoke(System.Reflection.RuntimeConstructorInfo,object,object[],System.Exception&)
at System.Reflection.RuntimeConstructorInfo.InternalInvoke (System.Object obj, System.Object[] parameters, System.Boolean wrapExceptions) [0x00005] in <51fded79cd284d4d911c5949aff4cb21>:0
— End of inner exception stack trace ---
[Ref 2D3510B6]
at System.Reflection.RuntimeConstructorInfo.InternalInvoke (System.Object obj, System.Object[] parameters, System.Boolean wrapExceptions) [0x0001a] in <51fded79cd284d4d911c5949aff4cb21>:0
at System.Reflection.RuntimeConstructorInfo.DoInvoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00086] in <51fded79cd284d4d911c5949aff4cb21>:0
at System.Reflection.RuntimeConstructorInfo.Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <51fded79cd284d4d911c5949aff4cb21>:0
at System.RuntimeType.CreateInstanceImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes, System.Threading.StackCrawlMark& stackMark) [0x0022b] in <51fded79cd284d4d911c5949aff4cb21>:0
at System.Activator.CreateInstance (System.Type type, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes) [0x0009c] in <51fded79cd284d4d911c5949aff4cb21>:0
at System.Activator.CreateInstance (System.Type type, System.Object[] args) [0x00000] in <51fded79cd284d4d911c5949aff4cb21>:0
at Verse.LoadedModManager.CreateModClasses () [0x00085] in <981a33edf24d499488b0f820d94638e1>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.LoadedModManager:CreateModClasses ()
Verse.LoadedModManager:LoadAllActiveMods (bool)
Verse.PlayDataLoader:DoPlayLoad ()
Verse.PlayDataLoader:LoadAllPlayData (bool)
Verse.Root/<>c:<Start>b__10_1 ()
Verse.LongEventHandler:RunEventFromAnotherThread (System.Action)
Verse.LongEventHandler/<>c:<UpdateCurrentAsynchronousEvent>b__28_0 ()
System.Threading.ThreadHelper:ThreadStart_Context (object)
System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object)
System.Threading.ThreadHelper:ThreadStart ()

 

Exception loading def from file FriendlyEntityThinkTree.xml: System.ArgumentException: Could not find type named JobGiver_BoardOrLeaveGravship from node <li Class=«JobGiver_BoardOrLeaveGravship» />
Parameter name: node
[Ref AF303047]
at Verse.DirectXmlToObjectNew.ResolveTypeForNode (System.Type defaultType, System.Xml.XmlNode node) [0x0005a] in <981a33edf24d499488b0f820d94638e1>:0
(wrapper dynamic-method) Verse.DirectXmlToObjectNew+DummyTypeToHoldDynamicMethods.ParseAndSetListField_Verse_AI_ThinkNode(object,System.Reflection.FieldInfo,System.Xml.XmlNode,System.Type)
(wrapper dynamic-method) Verse.DirectXmlToObjectNew+DummyTypeToHoldDynamicMethods.ParseAndSetComplexTypeField_SharedBody(object,System.Reflection.FieldInfo,System.Xml.XmlNode,System.Type)
(wrapper dynamic-method) Verse.DirectXmlToObjectNew+DummyTypeToHoldDynamicMethods.ParseAndReturnDef_Verse_Def(int,int,System.Xml.XmlNode,System.Type)
at Verse.DirectXmlToObjectNew.DefFromNodeNew (System.Xml.XmlNode node, Verse.LoadableXmlAsset loadingAsset) [0x000dd] in <981a33edf24d499488b0f820d94638e1>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.DirectXmlToObjectNew:DefFromNodeNew (System.Xml.XmlNode,Verse.LoadableXmlAsset)
Verse.LoadedModManager:ParseAndProcessXML (System.Xml.XmlDocument,System.Collections.Generic.Dictionary`2<System.Xml.XmlNode, Verse.LoadableXmlAsset>,bool)
Verse.LoadedModManager:LoadAllActiveMods (bool)
Verse.PlayDataLoader:DoPlayLoad ()
Verse.PlayDataLoader:LoadAllPlayData (bool)
Verse.Root/<>c:<Start>b__10_1 ()
Verse.LongEventHandler:RunEventFromAnotherThread (System.Action)
Verse.LongEventHandler/<>c:<UpdateCurrentAsynchronousEvent>b__28_0 ()
System.Threading.ThreadHelper:ThreadStart_Context (object)
System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object)
System.Threading.ThreadHelper:ThreadStart ()

09:46 (отредактировано)

У меня нет никаких ошибок, тут явно он несовместим с чем-то. У тебя стоит мод связанный с гравикораблями? Какой-то патч не применяется. 

Не, я это только с harmony запускал

Загрузка...