You can add clockwork behaviour to any /atom/movable (includes /mob, /obj), which makes them anchored and dense, spawning a switch on them which you can turn (counter)clockwise.
To add clockwork component to object:
/obj/example/Initialize()
. = ..() // Don't forget to add this, it calls parent entity, which is *REQUIRED*
AddComponent(/datum/component/clockwork)
Clockwork recipes:
Transformations are performed through atom/movable/scp914_act(mode) which then calls one of the following procs based on mode:
Just put in corresponding lists all objects you want your item to transform into, you can override procs (however DONT TOUCH scp914_act, and don't forget to call parent) to additional EFFECTS for desired entity type. They must return atom/movable
Clockwork
Full description: http://www.scp-wiki.net/scp-914 Merged in #3
Clockwork component:
You can add clockwork behaviour to any /atom/movable (includes /mob, /obj), which makes them anchored and dense, spawning a switch on them which you can turn (counter)clockwise.
To add clockwork component to object:
Clockwork recipes:
Transformations are performed through
atom/movable/scp914_act(mode)
which then calls one of the following procs based on mode:They use specified lists:
Just put in corresponding lists all objects you want your item to transform into, you can override procs (however DONT TOUCH scp914_act, and don't forget to call parent) to additional EFFECTS for desired entity type. They must return atom/movable
To add recipe:
To add effects:
To pass parameter from original object to result object:
TODO: