A Little White Magic

[The Sims]
[The Sims 2]
[All Games]
[Categories]
[GAF]
[Image Gallery]
[Plugin Foods]

[Register]
[Log In]

[Email]
[Telegram]
[Mastodon]

[RSS]
[Donate]

Doucmentation for Craftables and Plug-in-able Crafting Stations

This is the doumentation will include hopefully all the information (and more!) that anyone will need to create objects for and understand how they work. Below is a version numbering table, mostly for my own use. As I inticipate this getting fairly long, please enjoy the outline and use it to jump to the section you like below.

  1. To Download
  2. To make a Recipe
  3. The BCONs
  4. The Trees
  5. Mech and Creativity Crafting Benches
  6. Logic Chemset
  7. Cooking Preserves Station
  8. Charisma Crystal Ball
  9. Body Garden Plot
  10. Recipes for Maxis Things
  11. Recipes for Custom Things
Station Number Notes
Woodworking Bench, Stoneworking Bench(ML) 1t Out for testing
Chemistry Set (Logic) 1t Out for testing
Preserves Station (Cooking) 1t Out for testing
Summoning Table (Charisma) 1t Out for testing
Garden Plot (Body) 0x Early planning

Downloads

Currently, there's two zip file. One is just the benches, the pedestal and the barrel to help sell things and the other is the recipie files. You will want both, probably but if you're only interested in custom recipies you only need to download the benches.

Craftables

Each 'craftable' has two parts. A recipe object, which comunicates with the bench and the actual object itself. A recipie can make any object, even if the object has not been explicitly designed to be used with the bench, allowing any object to become craftable. For people that hack, imagine how a phone plugin can be made to have any NPC arrive, even if they were not designed with a phone plugin in mind.

To Make a Recipe

The simplest way is to clone an existing one and make the changes you want to see in the world, erm, recipe. However, this guide will walk you through making it from scratch. This means you know exactly what you can do. This will start with some OBDJ and OBJf assignments.

The OBJD

Aside from a unique GUID, your OBJD will need at least four attributes. You can use more if you want to do something complex, however Attributes zero through three (for a total of four) are defined as easier ways to access the tuning BCONs.

The Main Tree

Every object needs a main BHAV. This can include EP checks or anything else you want or need. Often objects simply idle in the main, which should work fine here, too. You don't need anything here but the bare minium for the object to function. In stock recipies this is usually BHAV 4096, but you can use any assignment in the OBJf table.

The Init

The Init tree-- usually BHAV 4101-- must translate the tuning BCONs to attributes. Also, it should set the object's unused gender to 1024. Additionally, some Attributes are used for the sale system which should be set.

BCON Set Description
0 Attribute 0 Crafting Cycles
9 Attribute 1 Monetary Cost
7 Attribute 2 Difficulty Rating
8 Attribute 3 Graphic ID
10 Current Value (Residental) How much it costs to make
11 Current Value (Commercial) How much it costs to buy
- Attribute 4 Current amount for salse on lot

As a personal thing, I also like to define my init tree as my load tree in the OBJf, if I'm not using a different custom load tree. This allows you to use the object version number to re-initialize the object if you make updates.

Required BHAV Names

The crafting stations ("benches") use BHAV name strings to "see" the recipes and work with them. All the trees are described in the chart below, however this will walk you through making them.

You must have both of these,

At least one of the these,

And at least one of these,

Check Requirements & Finish Craftable, The Required BHAVs

These are required for anything to work. Check Requirements tests if your sims meets the requsite skills (defined in the BCONs), money (also in the BCONs) and optionally anything else you want to require. In one example, I have made a craftable vase of roses, but this requires the sim to already have a bouquet of roses in their inventory. CT - Check Requirements only tests to see if the sim could make the object. You can optionally add anything you want in here, additional inventory checks. You could perhaps require the sim own a particular object, too. You can really do anything ou want here, as long as you make sure the recipe is back in the stack object before this returns true.

Finish Craftable, on the other hand is what the bench uses to spawn the object or add the item to the inventory. You could allow a creative sim to 'craft' money outright if you wanted to and just change the family funds. In the bouquet of roses example, this spawns an end table before the roses since they must go on a surface. In an example for the summoning table, a sim can attempt to summon Wally O' Wisp. However, if their skill is too low there is a chance of failure and summoning Molly O' Wisp instead. This BHAV decides what actually happens once crafting is finished. There is a soft expectation that the stack object at the end of this BHAV will be either the newly made craftable or the recipe, however there is no hard expectation of this since spawning arbitrary objects and sims might require a lot of different cases. Additionally, you can use this to make the object's unused gender not 1024, if you're trying to bake a recipie right into the object. Objects can return false if their gender is not 1024, so the benches don't see them as crafting instructions, even though the instructions are still copied in them.

Show Info, Hide Info

CT - Show Info is usually prefered. This allows you to have a dialog pop up that describes your object and gives clues (or, outright instructions) about the crafting requirements. This BHAV actually shows the dialog, although you could make it do anything you wanted-- say, for a tutorial you could 'give' the sim the inventory ingredients.

CT - Hide Info allows you to decide if you want something to show in the Learn about... menu. You can outright return true to always hide something, or optionally require an inventory item, such as a recipe card... or check against a hidden skill token before the player can know about the item. Obviously, you'll also want to check the same things CT - Check Requirements, unless your intention is to allow the player to try crafting something with no explanation.

The Skill BAHVS

All of the CT - Consiter {skill} Craftable BHAVs should assign paramater 1 to craft cycles then return true at the end. You could add additional checks. It would be possible to make a recipe have different requirements for different bench types. You could allow something to be crafted on either Mechanical or Creative benches, but require say two points on the dominant bench and one point of the secondary skill depending on which bench is asking. If you're changing any kind of monetary or inventory requirements you'll need to keep in mind you only get one CT - Fufill Requirements, so you'll have to add a check to that to determine the bench and act accordingly.

Optional BHAV Names

You may have none or all of the following...

CT - Fufill Requirements

This BHAV is used to remove money, inventory items or 'spend' anything your sim needs to prior to crafting. If you don't need to spend money or 'use up' anything, you don't need to include this.*

CT - Permit Sale

Returns true if the item can be sold directly from the inventory. Requires CT - Complete Sale if it returns true.

CT - Complete Sale

Calculates price and adds money (or MagiCoins or Vacation Prize Points or whatever) to the sim doing the sale.

CT - Permit Bulk Sale

Just like CT - Permit Sale but for selling in bulk. Logic determines how many "bulk" is and may be "all" if desired and scripted correctly.

CT - Complete Bulk Sale

Just like CT - Complete Sale but for selling in bulk. Logic determines how many "bulk" is and may be "all" if desired and scripted correctly.

CT - Allow Sale Info

Returns true if the selling stations can show the player info on selling the item.

CT - Show Sale Info

You'll never guess... actually shows the sale info.

CT - Is Craftable Recipe

This was added to the spec early and no bench currently uses it, but it could be helpful in the future. Returns true if benches should pay attention to this. In the end, it was more efficent and simple to just have benches look for things that match their type rather than any and all recipies.

A Section Summary

Now you know (probably more than) what you need to know to make your own recipe. Most likely you will clone something, change the BCONs, change the GUID of the object that's spawned at the end and maybe the name of the skill check BHAV and run with that-- which is fine. However, you are now armed (or burdened) with the knoweldge to do avcanced things.

The BCONs

ID Controls Access Range Description
0 Cycles Attrib 0 1 & up How many 'crafting cycles' the object needs. Cycles are fairly short so 15-20 is recomended as a minimum for most object. The Body/Farming bench uses this value a little differently, however which will be explained more in the secion on the body bench
1 Mechanical Skill Required BCON only 0 to 1000 Minimum mech required. This is 100x the number of skill points, but matches how the game stores the values.
2 Cooking Skill Required BCON only 0 to 1000 Minimum mech required. This is 100x the number of skill points.
3 Creative Skill Required BCON only 0 to 1000 Minimum mech required. This is 100x the number of skill points.
4 Logic Skill Required BCON only 0 to 1000 Minimum mech required. This is 100x the number of skill points.
5 Charisma Skill Required BCON only 0 to 1000 Minimum mech required. This is 100x the number of skill points.
6 Body Skill Required BCON only 0 to 1000 Minimum mech required. This is 100x the number of skill points.
7 Difficulty Attrib 2 -1000 to 1000 Used by the Charisma and Body benches. Optionally can be used by the object for setting price.
8 Graphic ID Information Attrib 3 0 & up Used (currently) only by the body bench to set crop graphics, but is part of the spec and may be used by something else in the future.
9 Crafting Cost Attrib 1 Any Contains a tunable money cost to craft, such as for seed prices with farming or a single coin for the summoning table.
10 Sale Price Current Value Any Contains a price (or base price) that the craftable can be sold for directly from inventory. Current object Value is changed at the time of populating the list. Because you can only craft on home lots, this should not be a problem.
11 Consignment Purchase Price Current Value Any Contains a price (or base price) that the craftable can be sold for directly from inventory. Current object Value is changed at the time of populating the list. Because you can only purchase things on away lots, this should not be a problem.

The Trees

The crafting stations call particular trees which run inside the object stack. This is how the objects can tell the benches things. It uses Run Tree by Name Here's a table! Remember, the game treats not being able to find the tree as the tree returning false. If you need it to return true, simply make a 0 =? 0 expression and have both conditions return true. It is also important to test seperately if the requirements failed if CT - Finish Craftable returned false, as it may also return false if the craftable has no item or financial prerequisite.

Tree Name Perscribed Use Return True When... Return False When...
CT - Consiter Mech Craftable Tests if the object can be crafted on a mechanical crafting bench. The object can be crafted on a mechanical bench. The object can not be crafted on a mechanical bench.
CT - Consiter Cook Craftable Tests if the object can be crafted on a cooking crafting bench. The object can be crafted on a cooking bench. The object can not be crafted on a cooking bench.
CT - Consiter Creatv Craftable Tests if the object can be crafted on a creativity-based crafting bench. The object can be crafted on a creativity-based bench. The object can not be crafted on a creativity-based bench.
CT - Consiter Logic Craftable Tests if the object can be crafted on a logic crafting bench . The object can be crafted on a logic bench. The object can not be crafted on a logic bench.
CT - Consiter Chrism Craftable Tests if the object can be crafted on a charismal crafting bench. The object can be crafted on a charismal bench. The object can not be crafted on a charismal bench.
CT - Consiter Body Craftable Tests if the object can be crafted on a body crafting station. The object can be crafted at a body crafting station. The object can not be crafted at a body station.
CT - Is Craftable Recipe Tests if this object should be consitered a craftable recipe. Always, if you want to actually use it. Be aware not every crafting station uses this, as the skill-specific tests already will tell the bench if it can use it. You don't want your object to be 'enabled', for some reason.
CT - Check Requirements Tests if the sim has the skills, ingredients and money to craft the thing. The sim has the approprate skills, ingredients and money to make the thing. The sims does not have what they need to craft the thing.
CT - Show Info Shows info dialog from strings in recipie object. The dialog is shown. The dialog fails to show.
CT - Fufill Requirements Processes the inventory and financial requirements. The the object has prerequisite requirements and they can be fufilled at the time of crafting. The object has no prerequisite requirements or the requirements cannot be fufilled.
CT - Finish Craftable Processes spawning or adding the thing to the sim's inventory. The craftable is correctly spawned or added to inventory. If it fails to spawn or add to inventory.
CT - Hide Info Can be used to not list something in the Learn About.../ menu. You do not want to show it in the Learn About.../ menu. You do want it to show in the Learn About.../ menu.
CT - Permit Sale Used for compatibility with selling craftables, to determine if it can be sold. Your sim can sell the craftable directly from inventory Your sim cannot sell the item directly from inventory
CT - Permit Bulk Sale Used for compatibility with selling craftables, to determine if bulk selling is possible. Your sim can bulk sell the craftable directly from inventory Your sim cannot sell the bulk item directly from inventory
CT - Complete Sale Used for compatibility with selling craftables, to actually sell one craftable The sale completes successfully The sale does not complete successfully
CT - Complete Bulk Sale Used for compatibility with selling craftables, to sell multiples The sale completes successfully The sale does not complete successfully
CT - Show Sale Info Used for compatibility with selling craftables, to give information about selling The information is displayed The information is not displayed
CT - Allow Sale Info Used for compatibility with selling craftables, to decide if sale info can be displayed The player-help sale info can be displayed The player-help sale info can not be displayed
CT - Allow Consignment Inventory Allows item to appear in consignment shops. The object may be purchaseable from the consignment shop The object may not be purchaseable from the consignment shop
CT - Do Consignment Purchase Buy the item from the consignment shop. The object is purchased correctly The object is not purchased correctly

The Stations

Generic Crafting Bench (Mechanical) and The Creatively Achronistic Crafting Bench (Creative)

These two are so similar that in the current version they share an .iff file.

"Make it with your mind" Chemistry Bench (Logic)

Cooking

The Channeling Channeler (Charisma)

Body

The Consignment Shop

Visit Consignment Shop Courtney to sell your things for maximum profit. Also, you just might see some things to buy.

The Shipping Barrel

This allows you to sell things straight from your inventory for 1/3rd of the calculated cost you would otherwise get selling it at the consignment shop.

Known Recipes

For Maxis Things

For Custom Things