rendered paste body"""@volatile decerator for storing objects in memoryusage is as follows:from game.gamesrc.parents.rhns.volatile import volatileclass VolatileCow: def __init__(self, scriptlink): self.scriptlink = scriptlink self.name = "Betsy"class CowStall(AnEvenniaObject): @volatile def cow(self): return VolatileCow(self.scripted_obj)"""def volatile(func): _memo = {} def _memoized(scriptlink, *args): id = (scriptlink.scripted_obj.id,func.__name__) if id in _memo: return _memo[id] else: return _memo.setdefault(id, func(scriptlink, *args)) return property(fget=_memoized)