Code: Select all
(setq items (objGetItems gSource "*"))
;filter out things that can not be tranformed into other things
(setq items (filter items element (itmGetStaticData element "tranformable")))
;pick an item at random
(setq randomPick (item (shuffle items) 0))
;find what items it can be combined with
(setq items (filter items element (itmGetStaticData element (cat "startWith" (itmGetStaticData randomPick "prefixTransform")))))
;pick an random ending item
(setq randomEndPick (item (shuffle items) 0))
;get all the items
(setq allItems (itmGetTypes "*"))
;filter out all items that do not a result of this
(setq allItems (filter allItems element (itmGetStaticData (itmCreate element 1) (cat (itmGetStaticData randomPick "prefixTransform") (itmGetStaticData randomEndPick "postfixTransform")))))
;get random result
(setq result (item (shuffle allItems) 0))
Code: Select all
;remove old items
(objRemoveItem gSource randomPick 1)
(objRemoveItem gSource randomEndPick 1)
;add new item
(objAddItem gSource (itmCreate result 1) 1)