Post by pickypikachu on Sept 20, 2019 17:33:38 GMT -5
Hi everyone! So I am trying to add in a new familiar, it's a Vulture skull, so I have cloned from the Skull familiar.
First, I replaced the skull mesh and textures. Then I created a custom Tuning for the familiar_Skull tuning that comes with the actual familiar. All I did was change the name:
I then cloned the summoning Orb that the sim buys at the shop. I created custom tuning of familiarToken_Skull, the only line changed was at the bottom for the interaction menu:
Then I changed the tuning of the bind interaction familiar_bind_skull:
After all of this when I try to actually do the "Summon Familiar" interaction, I get last exception saying that my Orb is returning the name "None" to the familiars.py:
I've tried just diving head first into the .py for that but it doesn't look like familiars.familiar_tracker tuning list which does seem to have XML for the naming etc. From familiars.familiar_tracker tuning with my added familiar:
I also tried editing that tuning and putting it into my game, but it throws a bigger exception, understandably so. I just don't know the next step from here. I would imagine it is like adding custom food or custom careers, but all of the tutorials don't seem to have enough overlap for me to really try to figure it out. Any help is appreciated!!!
Here are my files if you want to take a look!
First, I replaced the skull mesh and textures. Then I created a custom Tuning for the familiar_Skull tuning that comes with the actual familiar. All I did was change the name:
<L n="params">
<U>
<T n="name">Familiars_Type</T>
<V n="value" t="string">
<T n="string">VultureSkull</T>
</V>
</U>
</L>
I then cloned the summoning Orb that the sim buys at the shop. I created custom tuning of familiarToken_Skull, the only line changed was at the bottom for the interaction menu:
<L n="_super_affordances">
<T>13328<!--debug_Reset--></T>
<T>13326<!--debug_ObjectDestroy--></T>
<T>103888<!--cheat_set_as_head--></T>
<T>9542821584827928684<!--familiar_bind_vultureskull--></T>
</L>
Then I changed the tuning of the bind interaction familiar_bind_skull:
<V n="outcome" t="single">
<U n="single">
<U n="actions">
<L n="basic_extras">
<V t="familiar_bind">
<U n="familiar_bind">
<V n="bind_familiar_action" t="object_familiar">
<U n="object_familiar">
<E n="familiar_type">VultureSkull</E>
</U>
</V>
</U>
</V>
<V t="destroy_object" />
</L>
</U>
</U>
</V>
After all of this when I try to actually do the "Summon Familiar" interaction, I get last exception saying that my Orb is returning the name "None" to the familiars.py:
Exception in Unknown timeline: Exception running Element (AttributeError: 'NoneType' object has no attribute 'name_list') Traceback (most recent call last): File "T:\InGame\Gameplay\Scripts\Server\scheduling.py", line 212, in simulate File "T:\InGame\Gameplay\Scripts\Server\elements.py", line 335, in _run File "T:\InGame\Gameplay\Scripts\Server\interactions\utils\interaction_elements.py", line 162, in _behavior_element File "T:\InGame\Gameplay\Scripts\Server\familiars\familiar_elments.py", line 126, in _do_behavior File "T:\InGame\Gameplay\Scripts\Server\familiars\familiar_elments.py", line 77, in bind_familiar File "T:\InGame\Gameplay\Scripts\Server\familiars\familiar_tracker.py", line 350, in bind_familiar AttributeError: 'NoneType' object has no attribute 'name_list' rtim=0</desyncdata></report>
I've tried just diving head first into the .py for that but it doesn't look like familiars.familiar_tracker tuning list which does seem to have XML for the naming etc. From familiars.familiar_tracker tuning with my added familiar:
<U>
<E n="key">Skull</E>
<U n="value">
<V n="familiar_type" t="object_based_familiar">
<U n="object_based_familiar">
<T n="familiar_description">0x2E191311<!--When you need a protector that truly frightens your opponent consider the skull. It is hard not to be intimidated by this floating, haunting familiar.--></T>
<T n="familiar_object">222927<!--touching_Greetings_Curses_TouchyFeel_Hug--></T>
<T n="familiar_token_object">227733</T>
<T n="follow_affordance">214278<!--familiar_follow_skull--></T>
<E n="name_list">FamiliarSkull</E>
</U>
</V>
<T n="icon" p="InGP08\UI\Icons\Inventory\inventory_skull.png">2f7d0004:00000000:49eb2cd34282abb5</T>
</U>
</U>
<U>
<U>
<E n="key">VultureSkull</E>
<U n="value">
<V n="familiar_type" t="object_based_familiar">
<U n="object_based_familiar">
<T n="familiar_description">0x2E191311<!--When you need a protector that truly frightens your opponent consider the skull. It is hard not to be intimidated by this floating, haunting familiar.--></T>
<T n="familiar_object">15035682782453219924<!--touching_Greetings_Curses_TouchyFeel_Hug--></T>
<T n="familiar_token_object">13128340344212110563</T>
<T n="follow_affordance">214278<!--familiar_follow_skull--></T>
<E n="name_list">FamiliarSkull</E>
</U>
</V>
<T n="icon" p="InGP08\UI\Icons\Inventory\inventory_skull.png">2f7d0004:00000000:49eb2cd34282abb5</T>
</U>
</U>
I also tried editing that tuning and putting it into my game, but it throws a bigger exception, understandably so. I just don't know the next step from here. I would imagine it is like adding custom food or custom careers, but all of the tutorials don't seem to have enough overlap for me to really try to figure it out. Any help is appreciated!!!
Here are my files if you want to take a look!