• Mods are now organized as resources. Use the Mods link above to browse for or submit a mod, tool, or prefab.

    The TFP Official Modding Forum Policy establishes the rules and guidelines for mod creators and mod users.

Implementation for Recipe Books/Schematics

Numberz

Refugee
Started to look into implementing books / schematics as they were in A16 and prior.

Wondering if anyone would care to share their thoughts on the different ways to go about this.

Here is my first stab at a proof of concept - using the quest system to unlock a perk. ( Localization not provided. )

Items.xml:

Code:
<item name="ammoCrossbowBoltExplodingSchematic">
<property name="Extends" value="questMaster"/>
<property class="Action0">
	<requirement name="ProgressionLevel" progression_name="perkExplodingCrossbowBolt" target="self" operation="Equals" value="0"/>
	<property name="QuestGiven" value="qc_ammoCrossbowBoltExplodingSchematic"/>
</property>
<effect_group tiered="false">
	<triggered_effect trigger="onSelfPrimaryActionUpdate" action="ShowToolbeltMessage" target="self" message="You already have this knowledge.">
		<requirement name="ProgressionLevel" progression_name="perkExplodingCrossbowBolt" target="self" operation="Equals" value="1"/>
	</triggered_effect>
</effect_group>
</item>
Quests.xml

Code:
<quest id="qc_ammoCrossbowBoltExplodingSchematic">
	<property name="name_key" value="qc_ammoCrossbowBoltExplodingSchematic" />
	<property name="subtitle_key" value="qc_ammoCrossbowBoltExplodingSchematic" />
	<property name="description_key" value="qc_ammoCrossbowBoltExplodingSchematicDesc" />
	<property name="icon" value="ui_game_symbol_archery" />
	<property name="repeatable" value="false" />
	<property name="category_key" value="challenge" />
	<property name="offer_key" value="qc_ammoCrossbowBoltExplodingSchematicDesc" />
	<property name="difficulty" value="book" />

	<reward type="Skill" id="perkExplodingCrossbowBolt" value="1"/>

</quest>
Progression.xml

Code:
<perk name="perkExplodingCrossbowBolt" parent="skillChemistryBooks" max_level="1" base_skill_point_cost="0" cost_multiplier_per_level="1" max_level_ratio_to_parent="1" name_key="perkExplodingCrossbowBoltName" desc_key="perkExplodingCrossbowBoltDesc" icon="ui_game_symbol_archery">

	<effect_group>
		<passive_effect name="RecipeTagUnlocked" operation="base_set" value="1" level="1" tags="ammoCrossbowBoltExploding"/>
		<effect_description level="1" desc_key="perkExplodingCrossbowBoltDesc"/>
	</effect_group>
</perk>
Looking for a reasonably seamless way to implement this. I am aware of the option to place the book on the toolbelt and use the old secondary action to read mechanic that TFP usually overlook but I'm not a fan of how the read option in the GUI is disabled.

Thoughts? Good, bad, or otherwise.

 
Back
Top