<https://s-platoon.ru/topic/11952-craft/>
<http://schema.org/text>
"class CleanWeapon extends RecipeBase \n\t{     \n\t    override void Init() \n\t    { \n\t        m_Name = \"#repair\"; \n\t        m_IsInstaRecipe = false;//should this recipe be performed instantly without animation \n\t        m_AnimationLength = 1.5;//animation length in relative time units \n\t        m_Specialty = -0.02;// value &gt; 0 for roughness, value &lt; 0 for precision \n\t         \n\t         \n\t        //conditions \n\t        m_MinDamageIngredient[0] = -1;//-1 = disable check \n\t        m_MaxDamageIngredient[0] = 3;//-1 = disable check \n\t         \n\t        m_MinQuantityIngredient[0] = -1;//-1 = disable check \n\t        m_MaxQuantityIngredient[0] = -1;//-1 = disable check \n\t         \n\t        m_MinDamageIngredient[1] = -1;//-1 = disable check \n\t        m_MaxDamageIngredient[1] = -1;//-1 = disable check \n\t         \n\t        m_MinQuantityIngredient[1] = -1;//-1 = disable check \n\t        m_MaxQuantityIngredient[1] = -1;//-1 = disable check \n\t        //---------------------------------------------------------------------------------------------------------------------- \n\t         \n\t        //INGREDIENTS \n\t        //ingredient 1 \n\t        InsertIngredient(0,\"WeaponCleaningKit\");//you can insert multiple ingredients this way \n\t         \n\t        m_IngredientAddHealth[0] = 0;// 0 = do nothing \n\t        m_IngredientSetHealth[0] = -1; // -1 = do nothing \n\t        m_IngredientAddQuantity[0] = 0;// 0 = do nothing \n\t        m_IngredientDestroy[0] = false;//true = destroy, false = do nothing \n\t        m_IngredientUseSoftSkills[0] = true;// set 'true' to allow modification of the values by softskills on this ingredient \n\t         \n\t        //ingredient 2 \n\t        InsertIngredient(1,\"DefaultWeapon\"); \n\t        InsertIngredient(1,\"DefaultMagazine\"); \n\t        InsertIngredient(1,\"ItemSuppressor\"); \n\t         \n\t        m_IngredientAddHealth[1] = 0;// 0 = do nothing \n\t        m_IngredientSetHealth[1] = -1; // -1 = do nothing \n\t        m_IngredientAddQuantity[1] = 0;// 0 = do nothing \n\t        m_IngredientDestroy[1] = false;// false = do nothing \n\t        m_IngredientUseSoftSkills[1] = false;// set 'true' to allow modification of the values by softskills on this ingredient \n\t         \n\t        //---------------------------------------------------------------------------------------------------------------------- \n\t         \n\t        //result1 \n\t        //AddResult(\"\");//add results here\n \n\n\n\t        m_ResultSetFullQuantity[0] = false;//true = set full quantity, false = do nothing \n\t        m_ResultSetQuantity[0] = -1;//-1 = do nothing \n\t        m_ResultSetHealth[0] = -1;//-1 = do nothing \n\t        m_ResultInheritsHealth[0] = -1;// (value) == -1 means do nothing; a (value) &gt;= 0 means this result will inherit health from ingredient number (value);(value) == -2 means this result will inherit health from all ingredients averaged(result_health = combined_health_of_ingredients / number_of_ingredients) \n\t        m_ResultInheritsColor[0] = -1;// (value) == -1 means do nothing; a (value) &gt;= 0 means this result classname will be a composite of the name provided in AddResult method and config value \"color\" of ingredient (value) \n\t        m_ResultToInventory[0] = -2;//(value) == -2 spawn result on the ground;(value) == -1 place anywhere in the players inventory, (value) &gt;= 0 means switch position with ingredient number(value) \n\t        m_ResultUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this result \n\t        m_ResultReplacesIngredient[0] = -1;// value == -1 means do nothing; a value &gt;= 0 means this result will transfer item propertiesvariables, attachments etc.. from an ingredient value\n \n\n\n\t        //---------------------------------------------------------------------------------------------------------------------- \n\t    }\n \n\n\n\t    override bool CanDo(ItemBase ingredients[], PlayerBase player)//final check for recipe's validity \n\t    { \n\t        PluginRepairing module_repairing; \n\t        Class.CastTo(module_repairing, GetPlugin(PluginRepairing)); \n\t        ItemBase ingredient1; \n\t        Class.CastTo(ingredient1, ingredients[0]); \n\t        ItemBase ingredient2; \n\t        Class.CastTo(ingredient2, ingredients[1]); \n\t        return module_repairing.CanRepair(ingredient1,ingredient2); \n\t    }\n \n\n\n\t    override void Do(ItemBase ingredients[], PlayerBase player,array&lt;ItemBase&gt; results, float specialty_weight)//gets called upon recipe's completion \n\t    { \n\t        PluginRepairing module_repairing; \n\t        Class.CastTo(module_repairing, GetPlugin(PluginRepairing)); \n\t        PlayerBase playerPB; \n\t        Class.CastTo(playerPB, player); \n\t        ItemBase ingredient1; \n\t        Class.CastTo(ingredient1, ingredients[0]); \n\t        ItemBase ingredient2; \n\t        Class.CastTo(ingredient2, ingredients[1]); \n\t        module_repairing.Repair(playerPB, ingredient1,ingredient2,m_Specialty); \n\t    } \n\t};   \n\tПомогите с починкой оружия до нетронутого состояния. Не могу добиться чтобы крафта починки оружия с поношеного до нетронутого начал работать. \n \n"
<https://s-platoon.ru/topic/11952-craft/>