# Function: metabolise()

[**lifecycle-kit**](https://jonbogaty.com/lifecycle-kit/api/readme/index.md)

***

[lifecycle-kit](https://jonbogaty.com/lifecycle-kit/api/readme/index.md) / [chem](https://jonbogaty.com/lifecycle-kit/api/chem/readme/index.md) / metabolise


# Function: metabolise() {#function-metabolise}


> **metabolise**(`state`, `food`, `activity`, `backbone?`): [`MetabolicState`](https://jonbogaty.com/lifecycle-kit/api/chem/interfaces/metabolicstate/index.md)

Defined in: [chem/metabolism.ts:147](https://github.com/jbcom/lifecycle-kit/blob/074e4e7b8038d3e2de9eb44c4b5b5aee0ef02b48/src/chem/metabolism.ts#L147)

Convert intake into tissue.

A tissue is only built if the food supplied its inputs AND the pet's
activity called for it, so feeding protein to a sedentary pet banks lipid
rather than building muscle. Scarcer tissues build more slowly, which is
how phosphorus scarcity becomes something the player feels.

`backbone` defaults to carbon, so every existing caller (and every
pre-existing test) is unaffected. A caller that knows the creature's world
— `currentBackbone()` in the pet game — passes it through, and the demand
AND build-speed discount both then read from the same world chemistry
rather than assuming carbon regardless of which backbone actually won.


## Parameters {#parameters}



### state {#state}


[`MetabolicState`](https://jonbogaty.com/lifecycle-kit/api/chem/interfaces/metabolicstate/index.md)


### food {#food}


[`FoodProfile`](https://jonbogaty.com/lifecycle-kit/api/chem/type-aliases/foodprofile/index.md)


### activity {#activity}


[`ActivityDemand`](https://jonbogaty.com/lifecycle-kit/api/chem/interfaces/activitydemand/index.md)


### backbone? {#backbone}


[`Backbone`](https://jonbogaty.com/lifecycle-kit/api/chem/type-aliases/backbone/index.md) = `"C"`


## Returns {#returns}


[`MetabolicState`](https://jonbogaty.com/lifecycle-kit/api/chem/interfaces/metabolicstate/index.md)
