Place Footpath "Gorse Bushes" with description "The footpath from the cave mouth runs into dense, impenetrable gorse bushes. Perhaps it wasn't so much a footpath as a rill in the earth where roots wouldn't take; anyway, there's no way but back south.", s_to Cave_Mouth; Object -> carpet "beautiful red carpet" with name "beautiful" "magic" "red" "carpet", initial "Slung over one of the gorse bushes is a beautiful red carpet.", description "This is a carpet of unusual design. It is red, beautifully woven and bears a pattern of cubes.", before [ i; Receive: if (self notin location || self hasnt moved) "Not until the carpet's on the ground, you can't."; Ride: <>; Enter: if (self notin location || self hasnt moved) "Not until the carpet's on the ground, you can't."; if (location==Balance_Room) "Mysteriously, the carpet rucks and pulls until you're thrown off. It settles back on the white floor with a contented sigh."; if (location==In_Cave) "The carpet rises suddenly, crashing into the roof of the cave and throwing you back off again. Painfully."; if (location==Bazaar) i=Up_Road; else i=Bazaar; print "The carpet rises suddenly into the fluffy white clouds, and after a headlong journey deposits you...^"; move self to i; PlayerTo(i,1); move player to self; <>; Take: if (player in self) "Not while you're on it!"; for (i=child(self):i~=0:i=child(self)) { move i to location; print "(Dislodging ", (the) i, ")^"; } ], has supporter enterable;