((dp0
I24
(ipoo
Obj
p1
(dp3
S'aliases'
p4
(tp5
sS'id'
p6
I24
sS'_inbuf'
p7
(lp8
sS'__value'
p9
I90
sS'owner'
p10
(ipoo
User
p11
(dp12
g9
I90
sS'_oldprompt'
p13
S'<t>poo>'
p14
sS'location'
p15
(ipoo
Obj
p16
(dp17
g4
(tp18
sg6
I13
sg7
(lp18
sg9
I90
sg10
g11
sS'w'
p19
I0
sg15
(ipoo
Obj
p20
(dp21
g4
(tp22
sg6
I12
sg7
(lp22
sg9
I90
sg10
g11
sg19
I0
sg15
(ipoo
Obj
p23
(dp24
g4
(tp25
sg6
I11
sg7
(lp25
sg9
I90
sg10
g11
sg19
I0
sg15
NsS'parents'
p26
((ipoo
Obj
p27
(dp28
g4
(tp29
sg6
I1
sg7
(lp29
sg9
I90
sg10
g27
sg19
I0
sg15
(ipoo
Directory
p30
(dp31
g4
(tp32
sg6
I22
sg7
(lp32
sg9
I90
sg10
g11
sg19
I0
sg15
(ipoo
Directory
p33
(dp34
g4
(tp35
sg6
I16
sg7
(lp35
sg9
I90
sg10
g11
sg19
I0
sg15
(ipoo
Directory
p36
(dp37
g4
(tp38
sg6
I14
sg7
(lp38
sg9
I90
sg10
g11
sg19
I0
sg15
g23
sg26
((ipoo
Directory
p39
(dp40
g4
(tp41
sg6
I4
sg7
(lp41
sg9
I90
sg10
g39
sg19
I0
sg15
Nsg26
(g27
tp42
sS'r'
p43
I1
sS'programmer'
p44
I0
sS'__commands'
p45
(dp46
sS'wizard'
p47
I0
sS'f'
p48
I1
sS'name'
p49
S'directory'
p50
sS'__credits'
p51
I0
sS'wantsUpdates'
p52
I0
sS'__isuser'
p53
I0
sbtp54
sg43
I1
sg44
I0
sg45
(dp55
sg47
I0
sg48
I0
sg49
S'root'
p56
sg51
I0
sg52
I0
sg53
I0
sbsg26
(g39
tp57
sg43
I1
sg44
I0
sg45
(dp58
sg47
I0
sg48
I0
sg49
S'pub'
p59
sg51
I0
sg52
I0
sg53
I0
sbsg26
(g39
tp60
sg43
I1
sg44
I0
sg45
(dp61
sg47
I0
sg48
I0
sg49
S'misc'
p62
sg51
I0
sg52
I0
sg53
I0
sbsg26
(tp63
sg43
I1
sg44
I0
sg45
(dp63
sg47
I0
sg48
I1
sg49
S'object'
p64
sg51
I0
sg52
I0
sg53
I0
sbtp65
sg43
I1
sg44
I0
sg45
(dp66
sg47
I0
sg48
I0
sg49
S'Void'
p67
sg51
I0
sg52
I0
sg53
I0
sbsg26
((ipoo
Obj
p68
(dp69
g4
(tp70
sg6
I3
sg7
(lp70
sg9
I90
sg10
g68
sg19
I0
sg15
(ipoo
Directory
p71
(dp72
g4
(tp73
sg6
I18
sg7
(lp73
sg9
I90
sg10
g11
sg19
I0
sg15
g33
sg26
(g39
tp74
sg43
I1
sg44
I0
sg45
(dp75
sg47
I0
sg48
I0
sg49
S'rooms'
p76
sg51
I0
sg52
I0
sg53
I0
sbsg26
(g27
tp77
sg43
I1
sg44
I0
sg45
(dp78
sg47
I0
sg48
I1
sg49
S'place'
p79
sg51
I0
sg52
I0
sg53
I0
sbtp80
sg43
I1
sg44
I0
sg45
(dp81
sg47
I0
sg48
I0
sg49
S'Universe'
p82
sg51
I0
sg52
I0
sg53
I0
sbsg26
(g68
tp83
sg43
I1
sg44
I0
sg45
(dp84
sg47
I0
sg48
I0
sg49
S'Newbie Room'
p85
sg51
I0
sg52
I0
sg53
I0
sbsg26
((ipoo
User
p86
(dp87
g9
I90
sg13
S''
p88
sg15
(ipoo
Directory
p89
(dp90
g4
(tp91
sg6
I23
sg7
(lp91
sg9
I90
sg10
g11
sg19
I0
sg15
(ipoo
Directory
p92
(dp93
g4
(tp94
sg6
I15
sg7
(lp94
sg9
I90
sg10
g11
sg19
I0
sg15
g36
sg26
(g39
tp95
sg43
I1
sg44
I0
sg45
(dp96
sg47
I0
sg48
I0
sg49
S'sys'
p97
sg51
I0
sg52
I0
sg53
I0
sbsg26
(g39
tp98
sg43
I1
sg44
I0
sg45
(dp99
sg47
I0
sg48
I0
sg49
S'usertypes'
p100
sg51
I0
sg52
I0
sg53
I0
sbsg26
((ipoo
User
p101
(dp102
g9
I90
sg13
g88
sg15
g89
sg26
((ipoo
User
p103
(dp104
g9
I90
sg13
g88
sg15
g89
sg26
((ipoo
User
p105
(dp106
g9
I90
sg13
g88
sg15
g89
sg26
((ipoo
User
p107
(dp108
g9
I90
sg13
g88
sg15
g30
sg26
(g27
tp109
sg43
I1
sg47
I0
sS'_editBuf'
p110
(lp111
sg48
I1
sS'_prompt'
p112
g14
sg49
S'Agent'
p113
sS'_editProp'
p114
g88
sg19
I0
sS'_editObj'
p115
Nsg51
I0
sg4
(tp116
sg6
I5
sg7
(lp116
sg44
I0
sg10
g11
sg45
(dp117
sS'_editState'
p118
Nsg53
I1
sg52
I0
sbtp119
sg43
I1
sg47
I0
sg110
(lp120
sg48
I1
sg112
g14
sg49
S'User'
p121
sg114
g88
sg19
I0
sg115
Nsg51
I0
sg4
(tp122
sg6
I6
sg7
(lp122
sg44
I0
sg10
g11
sg45
(dp123
sg118
Nsg53
I1
sg52
I0
sbtp124
sg43
I1
sg47
I0
sg110
(lp125
sg48
I1
sg112
g14
sg49
S'Builder'
p126
sg114
g88
sg19
I0
sg115
Nsg51
I0
sg4
(tp127
sg6
I7
sg7
(lp127
sg44
I0
sg10
g11
sg45
(dp128
sg118
Nsg53
I1
sg52
I0
sbtp129
sg43
I1
sg47
I0
sg110
(lp130
sg48
I1
sg112
g14
sg49
S'Coder'
p131
sg114
g88
sg19
I0
sg115
Nsg51
I0
sg4
(tp132
sg6
I8
sg7
(lp132
sg44
I1
sg10
g11
sg45
(dp133
sg118
Nsg53
I1
sg52
I0
sbtp134
sg43
I1
sg47
I1
sg110
(lp135
sg48
I1
sg112
g14
sg49
S'Wizard'
p136
sg114
g88
sg19
I0
sg115
Nsg51
I0
sg4
(tp137
sg6
I9
sg7
(lp137
sg44
I1
sg10
g11
sg45
(dp138
sg118
Nsg53
I1
sg52
I0
sbtp139
sg43
I1
sg47
I1
sg110
(lp140
sg48
I0
sg112
g14
sg49
S'Implementor'
p141
sg114
g88
sg19
I0
sg115
Nsg51
I8000
sg4
(tp142
sS'_postEditFunc'
p142
Nsg6
I2
sg7
(lp143
sg44
I1
sg10
g11
sg45
(dp144
sg118
S'OK'
p145
sg53
I1
sg52
I0
sbsg19
I0
sg15
(ipoo
Directory
p146
(dp147
g4
(tp148
sg6
I20
sg7
(lp148
sg9
I90
sg10
g11
sg19
I0
sg15
g33
sg26
(g39
tp149
sg43
I1
sg44
I0
sg45
(dp150
sg47
I0
sg48
I0
sg49
S'containers'
p151
sg51
I0
sg52
I0
sg53
I0
sbsg26
(g27
tp152
sg43
I1
sg44
I0
sg45
(dp153
sg47
I0
sg48
I1
sg49
S'container'
p154
sg51
I0
sg52
I0
sg53
I0
sbsI23
g89
sI22
g30
sI21
(ipoo
Directory
p155
(dp156
g4
(tp157
sg6
I21
sg7
(lp157
sg9
I90
sg10
g11
sg19
I0
sg15
g33
sg26
(g39
tp158
sg43
I1
sg44
I0
sg45
(dp159
sg47
I0
sg48
I0
sg49
S'periodic'
p160
sg51
I0
sg52
I0
sg53
I0
sbsI20
g146
sI19
(ipoo
Directory
p161
(dp162
g4
(tp163
sg6
I19
sg7
(lp163
sg9
I90
sg10
g11
sg19
I0
sg15
g33
sg26
(g39
tp164
sg43
I1
sg44
I0
sg45
(dp165
sg47
I0
sg48
I0
sg49
S'exits'
p166
sg51
I0
sg52
I0
sg53
I0
sbsI18
g71
sI17
(ipoo
Directory
p167
(dp168
g4
(tp169
sg6
I17
sg7
(lp169
sg9
I90
sg10
g11
sg19
I0
sg15
g36
sg26
(g39
tp170
sg43
I1
sg44
I0
sg45
(dp171
sg47
I0
sg48
I0
sg49
S'usr'
p172
sg51
I0
sg52
I0
sg53
I0
sbsI16
g33
sI15
g92
sI14
g36
sI13
g16
sI12
g20
sI11
g23
sI10
(ipoo
Obj
p173
(dp174
g4
(tp175
sg6
I10
sg7
(lp175
sg9
I90
sg10
g11
sg19
I0
sg15
g161
sg26
(g27
tp176
sg43
I1
sg44
I0
sg45
(dp177
sg47
I0
sg48
I1
sg49
S'exit'
p178
sg51
I0
sg52
I0
sg53
I0
sbsI9
g86
sI8
g101
sI7
g103
sI6
g105
sI5
g107
sI4
g39
sI3
g68
sI2
g11
sI1
g27
sI0
(ipoo
Obj
p179
(dp180
g4
(tp181
sg6
I0
sg7
(lp181
sg9
I90
sg10
g179
sg19
I0
sg15
Nsg26
(tp182
sg43
I1
sg44
I0
sg45
(dp182
sg47
I0
sg48
I0
sg49
S'root'
p183
sg51
I0
sg52
I0
sg53
I0
sbs(dp184
g20
(dp185
S'desc'
p186
(ipoo
Prop
p187
(dp188
g19
I0
sS'val'
p189
S'This room should contain all other rooms in the game.  Thus, by broadcasting a message here, everyone will hear it.'
p190
sg43
I1
sS'c'
p191
I1
sg10
g11
sbssg146
(dp192
sg11
(dp193
S'accept'
p194
(ipoo
Prop
p195
(dp196
g19
I0
sg189
I1
sg43
I1
sg191
I1
sg10
g11
sbsS'loginTime'
p197
(ipoo
Prop
p198
(dp199
g19
I0
sg189
F3140863427.0
sg43
I1
sg191
I1
sg10
NsbsS'activeTime'
p200
(ipoo
Prop
p201
(dp202
g19
I0
sg189
F3140863454.0
sg43
I1
sg191
I1
sg10
NsbsS'it'
p203
(ipoo
Prop
p204
(dp205
g19
I0
sg189
g1
sg43
I1
sg191
I1
sg10
g11
sbssg101
(dp206
S'newfunc'
p207
(ipoo
Prop
p208
(dp209
g19
I0
sg189
(ipoo
Func
p210
(dp211
g186
S'create a new function'
p212
sS'boundTo'
p213
g101
sS'x'
p214
I0
sg10
NsS'presource'
p215
g88
sg49
S'newfunc(self,caller,obj,funcname)'
p216
sS'source'
p217
(S'caller.enterFunc( obj, funcname )'
p218
tp219
sS'definedOn'
p220
g101
sbsg43
I1
sg191
I1
sg10
NsbsS'at_cmd'
p221
(ipoo
Prop
p222
(dp223
g19
I0
sg189
(ipoo
Func
p224
(dp225
g186
S'set a CmdDef'
p226
sg213
g101
sg214
I0
sg10
Nsg215
g88
sg49
S'at_cmd(self, obj, pattern, funcdef)'
p227
sg217
(S'verb = string.split(pattern)[0]'
p228
S'obj.setCmdDef(verb, pattern, funcdef)'
p229
S'print verb, "command defined on", obj'
p230
tp231
sg220
g101
sbsg43
I1
sg191
I1
sg10
NsbsS'delcmd'
p232
(ipoo
Prop
p233
(dp234
g19
I0
sg189
(ipoo
Func
p235
(dp236
g186
S'delete a CmdDef'
p237
sg213
g101
sg214
I0
sg10
Nsg215
g88
sg49
S'delcmd(self, obj, pattern)'
p238
sg217
(S'verb = string.split(pattern)[0]'
p239
S'obj.setCmdDef(verb, pattern, None)'
p240
S'print verb, "command removed from", obj'
p241
tp242
sg220
g101
sbsg43
I1
sg191
I1
sg10
NsbsS'list'
p243
(ipoo
Prop
p244
(dp245
g19
I0
sg189
(ipoo
Func
p246
(dp247
g186
S'list a function'
p248
sg213
g101
sg214
I0
sg10
Nsg215
g88
sg49
S'list(self,obj,propname,fromLine=1,toLine=99999)'
p249
sg217
(S'dobj = getattr(obj,propname)'
p250
S'if type(dobj) == InstanceType and dobj.__class__ == Func:'
p251
S'\011dobj.list(fromLine, toLine)'
p252
S'else: super(obj,propname,fromLine,toLine)'
p253
tp254
sg220
g101
sbsg43
I1
sg191
I1
sg10
Nsbssg27
(dp255
S'findComponent'
p256
(ipoo
Prop
p257
(dp258
g19
I0
sg189
(ipoo
Func
p259
(dp260
g186
g88
sg213
g27
sg214
I1
sg10
g11
sg215
g88
sg49
S'findComponent(self,compName)'
p261
sg217
(S'"""$thing.findComponent(self,compName):'
p262
S'return an object reference for the specified component;'
p263
S'if not found, return this object, and store the component'
p264
S'name in self.component for future reference."""'
p265
S'for ob in self.contents():\011\011\011\011# try exact match first'
p266
S'\011if ob.name == compName: return ob'
p267
S'compName = string.lower(compName)'
p268
S'for ob in self.contents():'
p269
S'\011if ob.name == compName: return ob'
p270
S'\011if compName in ob.aliases: return ob'
p271
S'# no match?  store it for future reference, and return self'
p272
S'self.component = compName'
p273
S'return self'
p274
tp275
sg220
g27
sbsg43
I1
sg191
I1
sg10
g11
sbsS'description'
p276
(ipoo
Prop
p277
(dp278
g19
I0
sg189
(ipoo
Func
p279
(dp280
g186
S'return self.desc'
p281
sg213
g27
sg214
I1
sg10
Nsg215
g88
sg49
S'description(self,looker)'
p282
sg217
(S"# by default, just return contents of 'desc' field"
p283
S'# but first convert lists into string'
p284
S'if type(self.desc) == ListType or type(self.desc) == TupleType:'
p285
S"\011return string.join(self.desc,'\\n')"
p286
S'return self.desc'
p287
tp288
sg220
g27
sbsg43
I1
sg191
I1
sg10
NsbsS'salient'
p289
(ipoo
Prop
p290
(dp291
g19
I0
sg189
I1
sg43
I1
sg191
I1
sg10
g11
sbsg186
(ipoo
Prop
p292
(dp293
g19
I0
sg189
S'You see nothing special.'
p294
sg43
I1
sg191
I1
sg10
g11
sbsS'listdesc'
p295
(ipoo
Prop
p296
(dp297
g19
I0
sg189
(ipoo
Func
p298
(dp299
g186
S'return a line for the room contents.'
p300
sg213
g27
sg214
I1
sg10
Nsg215
g88
sg49
S'listdesc(self,looker)'
p301
sg217
(S'num = randint(0,2)'
p302
S'if num==0:\011return "You see a " + self.name + " here."'
p303
S'if num==1:\011return "There is a " + self.name + " here."'
p304
S'return "A " + self.name + " is lying here."'
p305
tp306
sg220
g27
sbsg43
I1
sg191
I1
sg10
NsbsS'broadcast'
p307
(ipoo
Prop
p308
(dp309
g19
I0
sg189
(ipoo
Func
p310
(dp311
g186
S'tell self and contents'
p312
sg213
g27
sg214
I1
sg10
Nsg215
g88
sg49
S'broadcast(self,msg,excluding=[])'
p313
sg217
(S'# first, tell msg to myself'
p314
S'self.tell(msg)'
p315
g88
S'# then, broadcast to all contents (not in excluding)'
p316
S'try: stuff = self.contents()'
p317
S'except: return'
p318
S'if stuff:'
p319
S'\011if not excluding:'
p320
S'\011\011for item in stuff:'
p321
S'\011\011\011item.broadcast(msg,excluding)'
p322
S'\011elif type(excluding) == InstanceType:'
p323
S'\011\011for item in filter(lambda x,y=excluding:x != y, stuff):'
p324
S'\011\011\011item.broadcast(msg,excluding)'
p325
S'\011elif type(excluding) == ListType or type(excluding) == TupleType:'
p326
S'\011\011for item in filter(lambda x,y=excluding:x not in y, stuff):'
p327
S'\011\011\011item.broadcast(msg,excluding)'
p328
S'\011else: raise "ParamError", "Can\'t exclude " + `excluding`'
p329
tp330
sg220
g27
sbsg43
I1
sg191
I1
sg10
Nsbssg30
(dp331
sg89
(dp332
sg167
(dp333
sg36
(dp334
sg39
(dp335
S'enter'
p336
(ipoo
Prop
p337
(dp338
g19
I0
sg189
(ipoo
Func
p339
(dp340
g186
S'Enter a directory.'
p341
sg213
g39
sg214
I0
sg10
g11
sg215
g88
sg49
S'enter(self,who)'
p342
sg217
(S'if self.owner == who or who.wizard or self.r:'
p343
S'\011move(who,self)'
p344
S"\011who.do_cmd('look')"
p345
S'else:'
p346
S'\011print "You do not have permission to enter that directory."'
p347
tp348
sg220
g39
sbsg43
I1
sg191
I1
sg10
g11
sbsg194
(ipoo
Prop
p349
(dp350
g19
I0
sg189
I1
sg43
I1
sg191
I1
sg10
g11
sbsg276
(ipoo
Prop
p351
(dp352
g19
I0
sg189
(ipoo
Func
p353
(dp354
g186
S'List name, desc, and contents'
p355
sg213
g39
sg214
I1
sg10
Nsg215
g88
sg49
S'description(self,looker)'
p356
sg217
(S'desc = "Directory: " + self.name + \'\\n\''
p357
S"if self.desc: desc = desc + self.desc + '\\n'"
p358
S'# then add a list of room contents'
p359
S'for item in self.contents():'
p360
S'\011if item!=looker:'
p361
S'\011\011desc = desc + "\\n\011 " + item.name'
p362
S'return desc'
p363
tp364
sg220
g39
sbsg43
I1
sg191
I1
sg10
NsbsS'immobile'
p365
(ipoo
Prop
p366
(dp367
g19
I0
sg189
I0
sg43
I1
sg191
I1
sg10
g11
sbsS'up'
p368
(ipoo
Prop
p369
(dp370
g19
I0
sg189
(ipoo
Func
p371
(dp372
g186
S'Go to the object containing this directory.'
p373
sg213
g39
sg214
I0
sg10
g11
sg215
g88
sg49
S'up(self,who)'
p374
sg217
(S'move(who,self.location)'
p375
S"who.do_cmd('look')"
p376
tp377
sg220
g39
sbsg43
I1
sg191
I1
sg10
g11
sbssg103
(dp378
S'dir'
p379
(ipoo
Prop
p380
(dp381
g19
I0
sg189
(ipoo
Func
p382
(dp383
g186
S'list object references on dobj'
p384
sg213
g103
sg214
I0
sg10
Nsg215
g88
sg49
S'dir(self,dobj)'
p385
sg217
(S'if not dobj: dobj = self.curpath'
p386
S'self.showprops( dobj, \\'
p387
S'\011"Object Refs of " + str(dobj) + \' ("\' + dobj.name + \'")\','
p388
S"\011lambda x,y=dobj: x != 'owner' and x != 'location'\011\\"
p389
S'\011\011and type(getattr(y,x)) == InstanceType and'
p390
S'\011\011getattr(y,x).__class__ != Func )'
p391
tp392
sg220
g103
sbsg43
I1
sg191
I1
sg10
NsbsS'renprop'
p393
(ipoo
Prop
p394
(dp395
g19
I0
sg189
(ipoo
Func
p396
(dp397
g186
S'rename a POO property'
p398
sg213
g103
sg214
I0
sg10
Nsg215
g88
sg49
S'renprop(self,obj,oldname,newname )'
p399
sg217
(S'setattr( obj, newname, getattr(obj,oldname) )'
p400
S'delattr( obj, oldname )'
p401
S'print "Property", oldname, "on", obj, "renamed to", newname+"."'
p402
tp403
sg220
g103
sbsg43
I1
sg191
I1
sg10
Nsbsg243
(ipoo
Prop
p404
(dp405
g19
I0
sg189
(ipoo
Func
p406
(dp407
g186
S'list a tuple or list'
p408
sg213
g103
sg214
I0
sg10
Nsg215
g88
sg49
S'list(self,obj,propname,fromLine=1,toLine=99999)'
p409
sg217
(S'dobj = getattr(obj,propname)'
p410
S'if type(dobj) == ListType or type(dobj) == TupleType:'
p411
S'\011for line in dobj[fromLine-1:toLine]: print line'
p412
S'else:'
p413
S'\011print "Unable to list data of type", type(dobj)'
p414
tp415
sg220
g103
sbsg43
I1
sg191
I1
sg10
NsbsS'recycle'
p416
(ipoo
Prop
p417
(dp418
g19
I0
sg189
(ipoo
Func
p419
(dp420
g186
S'destroy a POO object'
p421
sg213
g103
sg214
I0
sg10
g11
sg215
g88
sg49
S'recycle(self,what)'
p422
sg217
(S"# make sure it's OK"
p423
S'if what.owner != self and not self.wizard:'
p424
S'\011print "That is not yours to recycle!"'
p425
S'\011return'
p426
S'# do the deed'
p427
S'destroy( what )'
p428
S'print "Thank you for recycling!"'
p429
tp430
sg220
g103
sbsg43
I1
sg191
I1
sg10
g11
sbsS'delprop'
p431
(ipoo
Prop
p432
(dp433
g19
I0
sg189
(ipoo
Func
p434
(dp435
g186
S'delete a POO property'
p436
sg213
g103
sg214
I0
sg10
Nsg215
g88
sg49
S'delprop(self,obj,propname)'
p437
sg217
(S'delattr( obj, propname )'
p438
S'print "Property \'" + propname + "\' deleted from", obj'
p439
tp440
sg220
g103
sbsg43
I1
sg191
I1
sg10
NsbsS'showprops'
p441
(ipoo
Prop
p442
(dp443
g19
I0
sg189
(ipoo
Func
p444
(dp445
g186
g88
sg213
g103
sg214
I1
sg10
g11
sg215
g88
sg49
S"showprops(self,what,header='',test=None)"
p446
sg217
(S'if header:'
p447
S'\011print header'
p448
S'\011print "-" * len(header)'
p449
S'if test==None: test = lambda x:1'
p450
S'for p in filter(test,what.proplist()):'
p451
S'\011try:'
p452
S'\011\011text = tostr(getattr(what,p))'
p453
S"\011\011if len(text) > 50: text = text[:47] + '...'"
p454
S'\011\011pr = what.getprop(p)'
p455
S'\011\011if (pr):'
p456
S'\011\011\011print "%-15s %-50s %5s %4s" % (p,text,pr.owner,pr.permstr())'
p457
S'\011\011else:'
p458
S'\011\011\011print "%-15s %-50s  (built-in)" % (p,text)'
p459
S'\011except:'
p460
S'\011\011print "%-15s [ can\'t read ]" % p'
p461
tp462
sg220
g103
sbsg43
I1
sg191
I1
sg10
g11
sbsS'setperm'
p463
(ipoo
Prop
p464
(dp465
g19
I0
sg189
(ipoo
Func
p466
(dp467
g186
S'set permissions on a property'
p468
sg213
g103
sg214
I0
sg10
Nsg215
g88
sg49
S'setperm(self,obj,propname,perms)'
p469
sg217
(S'prop = obj.getprop(propname)'
p470
S"for perm in ['w','r','c']:"
p471
S'    if string.find(perms,perm) >= 0: setattr(prop,perm,1)'
p472
S'    else: setattr(prop,perm,0)'
p473
S'if type(prop.val) == InstanceType and prop.val.__class__ == Func:'
p474
S"\011prop.val.x = ('x' in perms)"
p475
S"elif 'x' in perms:"
p476
S'\011print "\'x\' applies only to functions, not to", type(prop.val)'
p477
S'print "Permissions set."'
p478
tp479
sg220
g103
sbsg43
I1
sg191
I1
sg10
NsbsS'exprops'
p480
(ipoo
Prop
p481
(dp482
g19
I0
sg189
(ipoo
Func
p483
(dp484
g186
S'list all properties on dobj'
p485
sg213
g103
sg214
I0
sg10
Nsg215
g88
sg49
S'exprops(self,dobj)'
p486
sg217
(S'if type(dobj) != InstanceType:'
p487
S'\011print "ex what?!?"'
p488
S'\011return'
p489
S'self.showprops( dobj, \\'
p490
S'\011"Properties of " + str(dobj) + \' ("\' + dobj.name + \'")\' )'
p491
tp492
sg220
g103
sbsg43
I1
sg191
I1
sg10
NsbsS'dig'
p493
(ipoo
Prop
p494
(dp495
g19
I0
sg189
(ipoo
Func
p496
(dp497
g186
S'create a room connected to the current one'
p498
sg213
g103
sg214
I0
sg10
g11
sg215
g88
sg49
S'dig(self, dir, newroom)'
p499
sg217
(S'# parse common directions'
p500
S"map = {\011'n':\011('north', 's'),"
p501
S"\011\011'e':\011('east', 'w'),"
p502
S"\011\011's':\011('south', 'n'),"
p503
S"\011\011'w':\011('west', 'e'),"
p504
S"\011\011'ne':\011('northeast', 'sw'),"
p505
S"\011\011'se':\011('southeast', 'nw'),"
p506
S"\011\011'sw':\011('southwest', 'ne'),"
p507
S"\011\011'nw':\011('northwest', 'se'),"
p508
S"\011\011'u':\011('up', 'd'),"
p509
S"\011\011'd':\011('down', 'u') }"
p510
S'if dir not in map.keys():'
p511
S'    print "Direction", dir, "not recognized; command aborted."'
p512
S'    return'
p513
S'tup = map[dir]'
p514
S'names = [tup[0], dir]'
p515
S'revnames = [ map[tup[1]][0], tup[1] ]'
p516
g88
S'# check for existing exit'
p517
S'if (filter(lambda x,y=names[0]: x.name==y, self.location.contents())):'
p518
S'    print "Looks like there\'s already an exit", names[0]+".  Command aborted."'
p519
S'    return'
p520
S'# create the room; place in same location as this room'
p521
S'if type(newroom) != InstanceType:'
p522
S"    newroom = create( self, getObj('$place'), newroom )"
p523
S'    move( newroom, self.location.location )'
p524
S'    print newroom.name, "created as object", newroom, \\'
p525
S'    \011"and moved to", newroom.location, \'(\' + newroom.location.name + \')\''
p526
S"exitThere = create( self, getObj('$exit'), names[0] )"
p527
S'exitThere.aliases = names[1:]'
p528
S'exitThere.dest = newroom'
p529
S"exitThere.getprop('dest').owner = self"
p530
S'move( exitThere, self.location )'
p531
S'print "Exit", exitThere.name, "created in",  \\'
p532
S'            self.location.name, "as object", exitThere'
p533
g88
S"exitHere = create( self, getObj('$exit'), revnames[0] )"
p534
S'exitHere.aliases = revnames[1:]'
p535
S'exitHere.dest = self.location'
p536
S"exitHere.getprop('dest').owner = self"
p537
S'move( exitHere, newroom )'
p538
S'print "Exit", exitHere.name, "created in",  \\'
p539
S'        newroom.name, "as object", exitHere'
p540
tp541
sg220
g103
sbsg43
I1
sg191
I1
sg10
g11
sbsS'create'
p542
(ipoo
Prop
p543
(dp544
g19
I0
sg189
(ipoo
Func
p545
(dp546
g186
S'make a new POO object'
p547
sg213
g103
sg214
I0
sg10
g11
sg215
g88
sg49
S"create(self,parent,newname='')"
p548
sg217
(S"if parent.isa(getObj('$user')) and not self.wizard:"
p549
S'\011print "Only wizards can create users."'
p550
S'\011return'
p551
S'ob = create(self, parent, newname)'
p552
S'print ob.name,"created as object #" + str(ob.id)+"."'
p553
tp554
sg220
g103
sbsg43
I1
sg191
I1
sg10
g11
sbsS'edit'
p555
(ipoo
Prop
p556
(dp557
g19
I0
sg189
(ipoo
Func
p558
(dp559
g186
S'edit a list, tuple, or function'
p560
sg213
g103
sg214
I0
sg10
Nsg215
g88
sg49
S'edit(self,obj,propname)'
p561
sg217
(S'# find object reference and prop name'
p562
S"# if prop doesn't exist, create an empty tuple"
p563
S'if not getattr(obj,propname):'
p564
S'    setattr( obj, propname, () )'
p565
S'# start editing'
p566
S'self.startEdit( obj, propname )'
p567
tp568
sg220
g103
sbsg43
I1
sg191
I1
sg10
NsbsS'at_set'
p569
(ipoo
Prop
p570
(dp571
g19
I0
sg189
(ipoo
Func
p572
(dp573
g186
S'set a property value'
p574
sg213
g103
sg214
I0
sg10
Nsg215
g88
sg49
S'at_set(self, ref, propname, val)'
p575
sg217
(S'setattr( ref, propname, val )'
p576
tp577
sg220
g103
sbsg43
I1
sg191
I1
sg10
Nsbssg161
(dp578
sg179
(dp579
g379
(ipoo
Prop
p580
(dp581
g19
I0
sg189
g39
sg43
I1
sg191
I1
sg10
g11
sbsS'wiz'
p582
(ipoo
Prop
p583
(dp584
g19
I0
sg189
g86
sg43
I1
sg191
I1
sg10
g11
sbsg183
(ipoo
Prop
p585
(dp586
g19
I0
sg189
g36
sg43
I1
sg191
I1
sg10
g11
sbsS'pub'
p587
(ipoo
Prop
p588
(dp589
g19
I0
sg189
g33
sg43
I1
sg191
I1
sg10
g11
sbsS'user'
p590
(ipoo
Prop
p591
(dp592
g19
I0
sg189
g105
sg43
I1
sg191
I1
sg10
g11
sbsg79
(ipoo
Prop
p593
(dp594
g19
I0
sg189
g68
sg43
I1
sg191
I1
sg10
g11
sbsS'base'
p595
(ipoo
Prop
p596
(dp597
g19
I0
sg189
g27
sg43
I1
sg191
I1
sg10
g11
sbsS'exit'
p598
(ipoo
Prop
p599
(dp600
g19
I0
sg189
g173
sg43
I1
sg191
I1
sg10
g11
sbsS'thing'
p601
(ipoo
Prop
p602
(dp603
g19
I0
sg189
g27
sg43
I1
sg191
I1
sg10
g11
sbsS'sys'
p604
(ipoo
Prop
p605
(dp606
g19
I0
sg189
g92
sg43
I1
sg191
I1
sg10
g11
sbsS'usr'
p607
(ipoo
Prop
p608
(dp609
g19
I0
sg189
g167
sg43
I1
sg191
I1
sg10
g11
sbsS'agent'
p610
(ipoo
Prop
p611
(dp612
g19
I0
sg189
g107
sg43
I1
sg191
I1
sg10
g11
sbsS'builder'
p613
(ipoo
Prop
p614
(dp615
g19
I0
sg189
g103
sg43
I1
sg191
I1
sg10
g11
sbsS'universe'
p616
(ipoo
Prop
p617
(dp618
g19
I0
sg189
g20
sg43
I1
sg191
I1
sg10
g11
sbsS'void'
p619
(ipoo
Prop
p620
(dp621
g19
I0
sg189
g23
sg43
I1
sg191
I1
sg10
g11
sbsS'container'
p622
(ipoo
Prop
p623
(dp624
g19
I0
sg189
g1
sg43
I1
sg191
I1
sg10
g11
sbsS'coder'
p625
(ipoo
Prop
p626
(dp627
g19
I0
sg189
g101
sg43
I1
sg191
I1
sg10
g11
sbssg105
(dp628
S'printHelp'
p629
(ipoo
Prop
p630
(dp631
g19
I0
sg189
(ipoo
Func
p632
(dp633
g186
S'access the help database'
p634
sg213
g105
sg214
I0
sg10
Nsg215
g88
sg49
S"printHelp(self,topic='')"
p635
sg217
(S'if type(topic) == InstanceType:'
p636
S'\011if not topic.help:'
p637
S'\011\011print help(topic.name)'
p638
S'\011elif type(topic.help) == ListType or type(topic.help) == TupleType:'
p639
S"\011\011print string.join(dobj.help,'\\n')"
p640
S'\011else:'
p641
S'\011\011print topic.help'
p642
S'else:'
p643
S'    print help(topic)'
p644
tp645
sg220
g105
sbsg43
I1
sg191
I1
sg10
NsbsS'inventory'
p646
(ipoo
Prop
p647
(dp648
g19
I0
sg189
(ipoo
Func
p649
(dp650
g186
S'print credits and contents'
p651
sg213
g105
sg214
I0
sg10
Nsg215
g88
sg49
S'inventory(self)'
p652
sg217
(S'if not self.contents and not self.__credits:'
p653
S'\011print "You are empty-handed."'
p654
S'else:'
p655
S'\011print "You have", self.__credits,'
p656
S'\011if self.__credits == 1: print "credit,",'
p657
S'\011else: print "credits,",'
p658
S'\011if not self.contents():'
p659
S'\011\011print "and are carrying nothing."'
p660
S'\011else:'
p661
S'\011\011print "and are carrying:"'
p662
S'\011\011for item in self.contents():'
p663
S'\011\011\011print "   -", item.name'
p664
tp665
sg220
g105
sbsg43
I1
sg191
I1
sg10
NsbsS'look'
p666
(ipoo
Prop
p667
(dp668
g19
I0
sg189
(ipoo
Func
p669
(dp670
g186
S'print object description.'
p671
sg213
g105
sg214
I0
sg10
Nsg215
g88
sg49
S'look(self,atwhat=None)'
p672
sg217
(S'if not atwhat: atwhat = self.location'
p673
S'# call the description function, if any'
p674
S'if callable(atwhat.description):'
p675
S'\011print atwhat.description(self)'
p676
S'else:'
p677
S'\011print "You see nothing special."'
p678
tp679
sg220
g105
sbsg43
I1
sg191
I1
sg10
Nsbsg295
(ipoo
Prop
p680
(dp681
g19
I0
sg189
(ipoo
Func
p682
(dp683
g186
S'return <name> is here [(asleep)].'
p684
sg213
g105
sg214
I1
sg10
Nsg215
g88
sg49
S'listdesc(self,looker)'
p685
sg217
(S'if self.connected():'
p686
S'\011return self.name + " is here."'
p687
S'else:'
p688
S'\011return self.name + " is here (asleep)."'
p689
tp690
sg220
g105
sbsg43
I1
sg191
I1
sg10
NsbsS'who'
p691
(ipoo
Prop
p692
(dp693
g19
I0
sg189
(ipoo
Func
p694
(dp695
g186
S'list connected users + some info'
p696
sg213
g105
sg214
I0
sg10
g11
sg215
g88
sg49
S'who(self)'
p697
sg217
(S'us = users()'
p698
S'if len(us)==1: print "There is 1 user",'
p699
S'else: print "There are", len(us), "users",'
p700
S'print "currently connected:"'
p701
S'now = time()'
p702
S'print "   %-23s %-23s %-11s  %-11s" % (\'Name\',\'Location\',\'    On\',\'   Idle\')'
p703
S'print "   %-23s %-23s %-11s  %-11s" % (\'----\',\'--------\',\'-----------\',\'-----------\')'
p704
S'for user in us:'
p705
S'\011ontime = int( now - user.loginTime )'
p706
S'\011actime = int( now - user.activeTime )'
p707
S'\011print "   %-23s %-23s %2dh %2dm %2ds  %2dh %2dm %2ds" % \\'
p708
S'\011\011(user.name, user.location.name, \\'
p709
S'\011\011 ontime/3600, (ontime%3600)/60, ontime%60,'
p710
S'\011\011 actime/3600, (actime%3600)/60, actime%60)'
p711
tp712
sg220
g105
sbsg43
I1
sg191
I1
sg10
g11
sbsS'passwd'
p713
(ipoo
Prop
p714
(dp715
g19
I0
sg189
(ipoo
Func
p716
(dp717
g186
S'set password (encrypted)'
p718
sg213
g105
sg214
I0
sg10
g11
sg215
g88
sg49
S'passwd(self,newpassword)'
p719
sg217
(S"setattr(self,'password',md5.new(newpassword).digest())"
p720
S'print "Password changed to:", newpassword'
p721
tp722
sg220
g105
sbsg43
I1
sg191
I1
sg10
g11
sbssg155
(dp723
sg92
(dp724
sg107
(dp725
S'home'
p726
(ipoo
Prop
p727
(dp728
g19
I0
sg189
g16
sg43
I1
sg191
I1
sg10
g11
sbsg194
(ipoo
Prop
p729
(dp730
g19
I0
sg189
I1
sg43
I1
sg191
I1
sg10
g11
sbsS'emote'
p731
(ipoo
Prop
p732
(dp733
g19
I0
sg189
(ipoo
Func
p734
(dp735
g186
S'strike a pose'
p736
sg213
g107
sg214
I0
sg10
Nsg215
g88
sg49
S'emote(self,str)'
p737
sg217
(S'if str[0] == \'"\' or str[0] == "\'": str = str[1:]'
p738
S'if str[-1] == \'"\' or str[-1] == "\'": str = str[:-1]'
p739
S"if str[-1] != '.' and str[-1] != '!' and str[-1] != '?':"
p740
S"\011\011str = str + '.'"
p741
S"self.location.broadcast( self.name + ' ' + str + ' ')"
p742
tp743
sg220
g107
sbsg43
I1
sg191
I1
sg10
NsbsS'at_home'
p744
(ipoo
Prop
p745
(dp746
g19
I0
sg189
(ipoo
Func
p747
(dp748
g186
S'teleport to self.home'
p749
sg213
g107
sg214
I0
sg10
g11
sg215
g88
sg49
S'at_home(self)'
p750
sg217
(S'oldroom = self.location'
p751
S'newroom = self.home'
p752
S'newroom.broadcast(self.name+" comes home.")'
p753
S'move(self,newroom)'
p754
S'print "There\'s no place like home..."'
p755
S'print "There\'s no place like home..."'
p756
S'print "There\'s no place like home..."'
p757
S'oldroom.broadcast(self.name+" heads home.")'
p758
S"self.do_cmd('look')"
p759
tp760
sg220
g107
sbsg43
I1
sg191
I1
sg10
g11
sbsS'drop'
p761
(ipoo
Prop
p762
(dp763
g19
I0
sg189
(ipoo
Func
p764
(dp765
g186
S'drop an object'
p766
sg213
g107
sg214
I0
sg10
g11
sg215
g88
sg49
S'drop(self,dobj)'
p767
sg217
(S'if dobj.location != self:'
p768
S'\011self.tell("You don\'t have that.")'
p769
S'else:'
p770
S'\011move(dobj, self.location)'
p771
S'\011show( "%1I %1:(drops) %2i.", {1:self, 2:dobj} )'
p772
tp773
sg220
g107
sbsg43
I1
sg191
I1
sg10
g11
sbsS'sethome'
p774
(ipoo
Prop
p775
(dp776
g19
I0
sg189
(ipoo
Func
p777
(dp778
g186
S'self.home = self.location'
p779
sg213
g107
sg214
I0
sg10
g11
sg215
g88
sg49
S'sethome(self)'
p780
sg217
(S'if self.location.owner == self or self.location.public_home:'
p781
S'        self.home = self.location'
p782
S'        print "This is now your home."'
p783
S'else:'
p784
S'        print "This room belongs to " + self.location.owner.name \\'
p785
S'                + ", and is not a public home."'
p786
tp787
sg220
g107
sbsg43
I1
sg191
I1
sg10
g11
sbsg295
(ipoo
Prop
p788
(dp789
g19
I0
sg189
(ipoo
Func
p790
(dp791
g186
S'return <name> is here.'
p792
sg213
g107
sg214
I1
sg10
Nsg215
g88
sg49
S'listdesc(self,looker)'
p793
sg217
(S'return self.name + " is here."'
p794
tp795
sg220
g107
sbsg43
I1
sg191
I1
sg10
NsbsS'get'
p796
(ipoo
Prop
p797
(dp798
g19
I0
sg189
(ipoo
Func
p799
(dp800
g186
S'get an object'
p801
sg213
g107
sg214
I0
sg10
g11
sg215
g88
sg49
S'get(self,dobj)'
p802
sg217
(S'if dobj.location != self.location:'
p803
S'\011print "The", dobj.name, "doesn\'t seem to be here."'
p804
S'elif dobj.immobile == 1:'
p805
S'\011if dobj.immobiledesc:'
p806
S'\011\011print dobj.immobiledesc'
p807
S'\011else:'
p808
S'\011\011print "You can\'t pick that up."'
p809
S'else:'
p810
S'\011move(dobj,self)'
p811
S'\011show( "%1I %1:(gets) %2i.", {1:self, 2:dobj} )'
p812
tp813
sg220
g107
sbsg43
I1
sg191
I1
sg10
g11
sbsS'page'
p814
(ipoo
Prop
p815
(dp816
g19
I0
sg189
(ipoo
Func
p817
(dp818
g186
S'send a message to a user'
p819
sg213
g107
sg214
I0
sg10
g11
sg215
g88
sg49
S'page(self,whom,msg)'
p820
sg217
(S'# find recipient'
p821
S'if type(whom) == StringType:'
p822
S'    matches = filter( lambda x,y=whom:x.name == y, users() )'
p823
S'    if not matches:'
p824
S'        print whom, "is not logged in."'
p825
S'        return'
p826
S'    whom = matches[0]'
p827
g88
S'# is recipient accepting pages?'
p828
S'if whom.nopage:'
p829
S'    print whom.name, "is not accepting pages."'
p830
S'    return'
p831
g88
S'# send the message'
p832
S'whom.tell( self.name, "pages you from", self.location.name,'
p833
S'        \'with: "\' + msg + \'".\')'
p834
S'print "Message sent."'
p835
tp836
sg220
g107
sbsg43
I1
sg191
I1
sg10
g11
sbsS'say'
p837
(ipoo
Prop
p838
(dp839
g19
I0
sg189
(ipoo
Func
p840
(dp841
g186
S'speak a string to the room'
p842
sg213
g107
sg214
I0
sg10
Nsg215
g88
sg49
S'say(self,str)'
p843
sg217
(S'if str[0] == \'"\' or str[0] == "\'": str = str[1:]'
p844
S'if str[-1] == \'"\' or str[-1] == "\'": str = str[:-1]'
p845
S'self.location.broadcast( self.name + \' says, "\' + str + \'"\', [self])'
p846
S'print \'You say, "\' + str + \'"\''
p847
tp848
sg220
g107
sbsg43
I1
sg191
I1
sg10
NsbsS'give'
p849
(ipoo
Prop
p850
(dp851
g19
I0
sg189
(ipoo
Func
p852
(dp853
g186
S'give credits to another user or object'
p854
sg213
g107
sg214
I0
sg10
g11
sg215
g88
sg49
S'give(self,what,toWhom)'
p855
sg217
(S'if type(what) != IntType or type(toWhom) != InstanceType:'
p856
S'\011print "Usage: Give <number of credits> to <user|object>"'
p857
S'\011return'
p858
S'if what < 0:'
p859
S'\011print "Nice try!"'
p860
S'\011return'
p861
S'transfer( self, toWhom, what )'
p862
S'print "You give", what, "credits to", toWhom.name + "."'
p863
S'toWhom.tell( self.name + " gives you " + str(what) + " credits." )'
p864
tp865
sg220
g107
sbsg43
I1
sg191
I1
sg10
g11
sbssg68
(dp866
g194
(ipoo
Prop
p867
(dp868
g19
I0
sg189
I1
sg43
I1
sg191
I1
sg10
Nsbsg276
(ipoo
Prop
p869
(dp870
g19
I0
sg189
(ipoo
Func
p871
(dp872
g186
S'return standard desc plus room contents'
p873
sg213
g68
sg214
I1
sg10
Nsg215
g88
sg49
S'description(self,looker)'
p874
sg217
(S'# first, get the room name and the standard description'
p875
S"desc = self.name + '\\n' + super(looker) + '\\n'"
p876
S'# then add a list of room contents'
p877
S'for item in self.contents():'
p878
S'\011if item!=looker and item.salient:'
p879
S'\011\011desc = desc + "\\n\011 " + item.listdesc(looker)'
p880
S'return desc'
p881
tp882
sg220
g68
sbsg43
I1
sg191
I1
sg10
Nsbssg86
(dp883
S'movprop'
p884
(ipoo
Prop
p885
(dp886
g19
I0
sg189
(ipoo
Func
p887
(dp888
g186
S'move prop from one object to another'
p889
sg213
g86
sg214
I0
sg10
Nsg215
g88
sg49
S'movprop(self,obj,propname,newobj)'
p890
sg217
(S'setattr( newobj, propname, getattr(obj,propname) )'
p891
S'delattr( obj, propname )'
p892
S'print "Property", propname, "moved from", obj, "to", newobj, \'.\''
p893
tp894
sg220
g86
sbsg43
I1
sg191
I1
sg10
NsbsS'find'
p895
(ipoo
Prop
p896
(dp897
g19
I0
sg189
(ipoo
Func
p898
(dp899
g186
S'find objects by name'
p900
sg213
g86
sg214
I0
sg10
Nsg215
g88
sg49
S'find(self,name)'
p901
sg217
(S'# search the database for the given object name'
p902
S"matches = filter(lambda x,a=name:x.name==a, getObj('ALL'))"
p903
S'if not matches:'
p904
S'    raise "NotFound", "No object names match: "+dobjstr'
p905
S'print "Name", name, "matches: ", tostr(matches)'
p906
S'return matches'
p907
tp908
sg220
g86
sbsg43
I1
sg191
I1
sg10
NsbsS'newuser'
p909
(ipoo
Prop
p910
(dp911
g19
I0
sg189
(ipoo
Func
p912
(dp913
g186
S'create a new user'
p914
sg213
g86
sg214
I0
sg10
Nsg215
g88
sg49
S'newuser(self,base,name)'
p915
sg217
(S'if type(base) != InstanceType or base.__class__ != User \\'
p916
S'\011\011or type(name) != StringType:'
p917
S'\011print "Usage: @newuser <base class> as <name>"'
p918
S'\011print " E.g.: @newuser $sys.usertypes.Coder as Monty"'
p919
S'\011return'
p920
S'ob = create(self, base, name)'
p921
S'ob.programmer = base.programmer'
p922
S'ob.wizard = base.wizard'
p923
S'ob.owner = ob'
p924
S"setattr(ob, 'password',md5.new(ob.name).digest())"
p925
S'print base.name, ob.name, "created as object", str(ob.id)+"."'
p926
S'print "Password set to", ob.name'
p927
S'try:'
p928
S"\011setattr(getObj('$usr'), ob.name, ob)"
p929
S'\011print "$usr." + ob.name, "set to", ob'
p930
S'except:'
p931
S'\011print "Couldn\'t set $usr." + ob.name'
p932
S'try:'
p933
S'\011move(ob,ob.home)'
p934
S'\011print "User moved to", ob.home'
p935
S'except:'
p936
S'\011print "Can\'t move user home;",'
p937
S'\011move(ob,self.location)'
p938
S'\011print "moved to", self.location'
p939
tp940
sg220
g86
sbsg43
I1
sg191
I1
sg10
NsbsS'at_setown'
p941
(ipoo
Prop
p942
(dp943
g19
I0
sg189
(ipoo
Func
p944
(dp945
g186
S"set a property's owner"
p946
sg213
g86
sg214
I0
sg10
Nsg215
g88
sg49
S'at_setown(self, ref, propname, owner)'
p947
sg217
(S'prop = ref.getprop(propname)'
p948
S'if prop: prop.owner = owner'
p949
S'else: print "There is no property named", propname, "on", ref.name+\'.\''
p950
tp951
sg220
g86
sbsg43
I1
sg191
I1
sg10
NsbsS'opassword'
p952
(ipoo
Prop
p953
(dp954
g19
I0
sg189
(ipoo
Func
p955
(dp956
g186
S'set password on another user'
p957
sg213
g86
sg214
I0
sg10
Nsg215
g88
sg49
S'opassword(self,newpassword,onWhom)'
p958
sg217
(S"setattr(onWhom,'password',md5.new(newpassword).digest())"
p959
S'print onWhom.name + "\'s password changed to", newpassword'
p960
tp961
sg220
g86
sbsg43
I1
sg191
I1
sg10
NsbsS'beam'
p962
(ipoo
Prop
p963
(dp964
g19
I0
sg189
(ipoo
Func
p965
(dp966
g186
S'teleport an object to any location'
p967
sg213
g86
sg214
I0
sg10
Nsg215
g88
sg49
S'beam(self,obj,where)'
p968
sg217
(S'if type(where) != InstanceType:'
p969
S'\011print "Invalid location."'
p970
S'else:'
p971
S'\011move(obj,where)'
p972
S'\011print obj.name, "beamed to", where.name + "."'
p973
S'\011if obj == self: self.do_cmd("look")'
p974
tp975
sg220
g86
sbsg43
I1
sg191
I1
sg10
Nsbssg16
(dp976
g186
(ipoo
Prop
p977
(dp978
g19
I0
sg189
S'This room is $agent.home, so new users have their home here by default.'
p979
sg43
I1
sg191
I1
sg10
g11
sbssg1
(dp980
g194
(ipoo
Prop
p981
(dp982
g19
I0
sg189
I1
sg43
I1
sg191
I1
sg10
g11
sbsg276
(ipoo
Prop
p983
(dp984
g19
I0
sg189
(ipoo
Func
p985
(dp986
g186
S'list contents after description'
p987
sg213
g1
sg214
I1
sg10
Nsg215
g88
sg49
S'description(self,looker)'
p988
sg217
(S'# first, get standard description'
p989
S'desc = super(looker)'
p990
S'# then add list of contents'
p991
S'items = filter( lambda x:x.salient, self.contents() )'
p992
S'if not items:'
p993
S'\011desc = desc +  "\\nThe " + self.name + " appears to be empty."'
p994
S'else:'
p995
S'\011desc = desc +  "\\nThe " + self.name + " contains:\\n"'
p996
S'\011for i in items:'
p997
S'\011\011desc = desc + "    " + i.name + \'\\n\''
p998
S'return desc'
p999
tp1000
sg220
g1
sbsg43
I1
sg191
I1
sg10
NsbsS'getContent'
p1001
(ipoo
Prop
p1002
(dp1003
g19
I0
sg189
(ipoo
Func
p1004
(dp1005
g186
S'get object from contents'
p1006
sg213
g1
sg214
I0
sg10
g11
sg215
g88
sg49
S'getContent(self,itemName,who)'
p1007
sg217
(S'cont = self.contents()'
p1008
S'matches = filter(lambda x,a=itemName:x.name==a, cont)'
p1009
S'if not matches:'
p1010
S'\011matches = filter(lambda x,a=itemName:x.aliases and a in x.aliases,'
p1011
S'\011\011\011cont)'
p1012
S'if not matches:'
p1013
S'\011print "Get WHAT from the", self.name+"?!?"'
p1014
S'else:'
p1015
S'\011what = matches[0]'
p1016
S'\011move( what, who )'
p1017
S'\011show( "%1I %1:(gets) %2i from %3i.", {1:who, 2:what, 3:self} )'
p1018
tp1019
sg220
g1
sbsg43
I1
sg191
I1
sg10
g11
sbsS'put'
p1020
(ipoo
Prop
p1021
(dp1022
g19
I0
sg189
(ipoo
Func
p1023
(dp1024
g186
S'put object into contents'
p1025
sg213
g1
sg214
I0
sg10
g11
sg215
g88
sg49
S'put(self,what,who)'
p1026
sg217
(S'if what.location != who:'
p1027
S'\011print "You don\'t seem to have the", what.name+"."'
p1028
S'else:'
p1029
S'\011move(what,self)'
p1030
S'\011show( "%1I %1:(puts) %2i into %3i.", {1:who, 2:what, 3:self} )'
p1031
tp1032
sg220
g1
sbsg43
I1
sg191
I1
sg10
g11
sbssg71
(dp1033
sg173
(dp1034
S'invoke'
p1035
(ipoo
Prop
p1036
(dp1037
g19
I0
sg189
(ipoo
Func
p1038
(dp1039
g186
S'move caller to .dest'
p1040
sg213
g11
sg214
I1
sg10
g11
sg215
g88
sg49
S'invoke(self,invoker=None)'
p1041
sg217
(S'if not invoker: invoker = user'
p1042
S'if not self.dest:'
p1043
S'\011print self.name,"leads nowhere."'
p1044
S'\011return'
p1045
S'oldroom = invoker.location'
p1046
S'self.dest.broadcast(invoker.name+" enters the room.")'
p1047
S'move(invoker,self.dest)'
p1048
S'if self.name != "exit" and self.name != "out":'
p1049
S'\011oldroom.broadcast(invoker.name+" exits "+self.name+".")'
p1050
S'else:'
p1051
S'\011oldroom.broadcast(invoker.name+" exits.")'
p1052
S"if hasattr(invoker,'do_cmd'): invoker.do_cmd('look')"
p1053
tp1054
sg220
g11
sbsg43
I1
sg191
I1
sg10
g11
sbsg365
(ipoo
Prop
p1055
(dp1056
g19
I0
sg189
I1
sg43
I1
sg191
I1
sg10
g11
sbsg289
(ipoo
Prop
p1057
(dp1058
g19
I0
sg189
I0
sg43
I1
sg191
I1
sg10
g11
sbsS'dest'
p1059
(ipoo
Prop
p1060
(dp1061
g19
I0
sg189
Nsg43
I1
sg191
I1
sg10
g11
sbssg23
(dp1062
g186
(ipoo
Prop
p1063
(dp1064
g19
I0
sg189
S'This object contains the main directories and the universe of rooms in the system.'
p1065
sg43
I1
sg191
I1
sg10
g11
sbsg194
(ipoo
Prop
p1066
(dp1067
g19
I0
sg189
I1
sg43
I1
sg191
I1
sg10
g11
sbssg33
(dp1068
s(dp1069
g20
(lp1070
g16
asg146
(lp1071
g1
asg11
(lp1072
sg101
(lp1073
sg27
(lp1074
sg30
(lp1075
g27
ag107
asg89
(lp1076
g105
ag103
ag101
ag86
asg167
(lp1077
sg36
(lp1078
g92
ag33
ag167
asg39
(lp1079
sg103
(lp1080
sg161
(lp1081
g173
asg179
(lp1082
sg105
(lp1083
sg155
(lp1084
sg92
(lp1085
g89
asg107
(lp1086
sg68
(lp1087
sg86
(lp1088
sg16
(lp1089
g11
asg1
(lp1090
sg71
(lp1091
g68
asg173
(lp1092
sg23
(lp1093
g20
ag36
asg33
(lp1094
g71
ag161
ag146
ag155
ag30
as(dp1095
g39
(dp1096
S'enter'
p1097
((ipooparse
CmdDef
p1098
(dp1099
g10
g11
sS'pat'
p1100
S'enter <this>'
p1101
sS'funcdef'
p1102
S'enter(caller)'
p1103
sbtp1104
sS'up'
p1105
((ipooparse
CmdDef
p1106
(dp1107
g10
g11
sg1100
S'up'
p1108
sg1102
S'up(caller)'
p1109
sbtp1110
ssg86
(dp1111
S'@setown'
p1112
((ipooparse
CmdDef
p1113
(dp1114
g10
g11
sg1102
S'at_setown(%1,%2,%3)'
p1115
sg1100
S'@setown <obj>.<str> = <obj>'
p1116
sb(ipooparse
CmdDef
p1117
(dp1118
g10
g11
sg1102
S'at_setown(%1,%2,%3)'
p1119
sg1100
S'@setown <obj>.<str> to <obj>'
p1120
sb(ipooparse
CmdDef
p1121
(dp1122
g10
g11
sg1102
S'at_setown(%1,%2,None)'
p1123
sg1100
S'@setown <obj>.<str> = None'
p1124
sb(ipooparse
CmdDef
p1125
(dp1126
g10
g11
sg1102
S'at_setown(%1,%2,None)'
p1127
sg1100
S'@setown <obj>.<str> to None'
p1128
sbtp1129
sS'beam'
p1130
((ipooparse
CmdDef
p1131
(dp1132
g10
g11
sg1102
S'beam(%1,%2)'
p1133
sg1100
S'beam <obj> to <obj>'
p1134
sbtp1135
sS'find'
p1136
((ipooparse
CmdDef
p1137
(dp1138
g10
g11
sg1100
S'find <str>'
p1139
sg1102
S'find(%1)'
p1140
sbtp1141
sS'@newuser'
p1142
((ipooparse
CmdDef
p1143
(dp1144
g10
g11
sg1100
S'@newuser <obj> as <str>'
p1145
sg1102
S'newuser(%1,%2)'
p1146
sbtp1147
sS'@opassword'
p1148
((ipooparse
CmdDef
p1149
(dp1150
g10
g11
sg1100
S'@opassword <str> on <obj>'
p1151
sg1102
S'opassword(%1,%2)'
p1152
sb(ipooparse
CmdDef
p1153
(dp1154
g10
g11
sg1100
S'@opassword <str> for <obj>'
p1155
sg1102
S'opassword(%1,%2)'
p1156
sbtp1157
sS'@movprop'
p1158
((ipooparse
CmdDef
p1159
(dp1160
g10
g11
sg1100
S'@movprop <obj>.<propname> to <obj>'
p1161
sg1102
S'movprop(%1,%2,%3)'
p1162
sbtp1163
ssg103
(dp1164
S'@dir'
p1165
((ipooparse
CmdDef
p1166
(dp1167
g10
g11
sg1100
S'@dir <obj>'
p1168
sg1102
S'dir(%1)'
p1169
sbtp1170
sS'@recycle'
p1171
((ipooparse
CmdDef
p1172
(dp1173
g10
g11
sg1100
S'@recycle <obj>'
p1174
sg1102
S'recycle(%1)'
p1175
sbtp1176
sS'@ex'
p1177
((ipooparse
CmdDef
p1178
(dp1179
g10
g11
sg1100
S'@ex <obj>'
p1180
sg1102
S'exprops(%1)'
p1181
sbtp1182
sS'@list'
p1183
((ipooparse
CmdDef
p1184
(dp1185
g10
g11
sg1100
S'@list <obj>.<propname>'
p1186
sg1102
S'list(%1,%2)'
p1187
sb(ipooparse
CmdDef
p1188
(dp1189
g10
g11
sg1100
S'@list <obj>.<propname> <int>'
p1190
sg1102
S'list(%1,%2,%3,%3)'
p1191
sb(ipooparse
CmdDef
p1192
(dp1193
g10
g11
sg1100
S'@list <obj>.<propname> <int>-'
p1194
sg1102
S'list(%1,%2,%3)'
p1195
sb(ipooparse
CmdDef
p1196
(dp1197
g10
g11
sg1100
S'@list <obj>.<propname> -<int>'
p1198
sg1102
S'list(%1,%2,1,%3)'
p1199
sb(ipooparse
CmdDef
p1200
(dp1201
g10
g11
sg1100
S'@list <obj>.<propname> <int>-<int>'
p1202
sg1102
S'list(%1,%2,%3,%4)'
p1203
sbtp1204
sS'@dig'
p1205
((ipooparse
CmdDef
p1206
(dp1207
g10
g11
sg1100
S'@dig <str> to <str>'
p1208
sg1102
S'dig(%1,%2)'
p1209
sb(ipooparse
CmdDef
p1210
(dp1211
g10
g11
sg1100
S'@dig <str> to <obj>'
p1212
sg1102
S'dig(%1,%2)'
p1213
sbtp1214
sS'@create'
p1215
((ipooparse
CmdDef
p1216
(dp1217
g10
g11
sg1102
S'create(%1,%2)'
p1218
sg1100
S'@create <obj> as <str>'
p1219
sbtp1220
sS'@edit'
p1221
((ipooparse
CmdDef
p1222
(dp1223
g10
g11
sg1100
S'@edit <obj>.<propname>'
p1224
sg1102
S'edit(%1,%2)'
p1225
sbtp1226
sS'@set'
p1227
((ipooparse
CmdDef
p1228
(dp1229
g10
g11
sg1102
S'at_set(%1,%2,%3)'
p1230
sg1100
S'@set <obj>.<propname> = <val>'
p1231
sb(ipooparse
CmdDef
p1232
(dp1233
g10
g11
sg1102
S'at_set(%1,%2,%3)'
p1234
sg1100
S'@set <obj>.<propname> to <val>'
p1235
sb(ipooparse
CmdDef
p1236
(dp1237
g10
g11
sg1102
S'at_set(%1,%2,%3)'
p1238
sg1100
S'@set <obj>.<propname>=<val>'
p1239
sbtp1240
sS'@delprop'
p1241
((ipooparse
CmdDef
p1242
(dp1243
g10
g11
sg1100
S'@delprop <obj>.<propname>'
p1244
sg1102
S'delprop(%1,%2)'
p1245
sbtp1246
sS'@setperm'
p1247
((ipooparse
CmdDef
p1248
(dp1249
g10
g11
sg1102
S'setperm(%1,%2,%3)'
p1250
sg1100
S'@setperm <obj>.<propname> to <str>'
p1251
sb(ipooparse
CmdDef
p1252
(dp1253
g10
g11
sg1102
S'setperm(%1,%2,%3)'
p1254
sg1100
S'@setperm <obj>.<propname> = <str>'
p1255
sbtp1256
sS'@renprop'
p1257
((ipooparse
CmdDef
p1258
(dp1259
g10
g11
sg1100
S'@renprop <obj>.<propname> to <propname>'
p1260
sg1102
S'renprop(%1,%2,%3)'
p1261
sbtp1262
ssg101
(dp1263
S'@delcmd'
p1264
((ipooparse
CmdDef
p1265
(dp1266
g10
g11
sg1100
S'@delcmd <obj>.<str>'
p1267
sg1102
S'delcmd(%1,%2)'
p1268
sbtp1269
sS'@list'
p1270
((ipooparse
CmdDef
p1271
(dp1272
g10
g11
sg1100
S'@list <obj>.<propname>'
p1273
sg1102
S'list(%1,%2)'
p1274
sb(ipooparse
CmdDef
p1275
(dp1276
g10
g11
sg1100
S'@list <obj>.<propname> <int>'
p1277
sg1102
S'list(%1,%2,%3,%3)'
p1278
sb(ipooparse
CmdDef
p1279
(dp1280
g10
g11
sg1100
S'@list <obj>.<propname> <int>-'
p1281
sg1102
S'list(%1,%2,%3)'
p1282
sb(ipooparse
CmdDef
p1283
(dp1284
g10
g11
sg1100
S'@list <obj>.<propname> -<int>'
p1285
sg1102
S'list(%1,%2,1,%3)'
p1286
sb(ipooparse
CmdDef
p1287
(dp1288
g10
g11
sg1100
S'@list <obj>.<propname> <int>-<int>'
p1289
sg1102
S'list(%1,%2,%3,%4)'
p1290
sbtp1291
sS'@cmd'
p1292
((ipooparse
CmdDef
p1293
(dp1294
g10
g11
sg1102
S'at_cmd(%1,%2,%3)'
p1295
sg1100
S'@cmd <obj>.<str> calls <funcdef>'
p1296
sbtp1297
sS'@newfunc'
p1298
((ipooparse
CmdDef
p1299
(dp1300
g10
g11
sg1102
S'newfunc(caller,%1,%2)'
p1301
sg1100
S'@newfunc <obj>.<funcdef>'
p1302
sb(ipooparse
CmdDef
p1303
(dp1304
g10
g11
sg1102
S'newfunc(caller,caller,%1)'
p1305
sg1100
S'@newfunc <funcdef>'
p1306
sb(ipooparse
CmdDef
p1307
(dp1308
g10
g11
sg1102
S'newfunc(caller,%2,%1)'
p1309
sg1100
S'@newfunc <funcdef> on <obj>'
p1310
sbtp1311
ssg1
(dp1312
S'get'
p1313
((ipooparse
CmdDef
p1314
(dp1315
g10
g11
sg1100
S'get <str> from <this>'
p1316
sg1102
S'getContent(%1,caller)'
p1317
sb(ipooparse
CmdDef
p1318
(dp1319
g10
g11
sg1100
S'get <str> out of <this>'
p1320
sg1102
S'getContent(%1,caller)'
p1321
sb(ipooparse
CmdDef
p1322
(dp1323
g10
g11
sg1100
S'get <str> in <this>'
p1324
sg1102
S'getContent(%1,caller)'
p1325
sbtp1326
sS'put'
p1327
((ipooparse
CmdDef
p1328
(dp1329
g10
g11
sg1100
S'put <obj> into <this>'
p1330
sg1102
S'put(%1,caller)'
p1331
sb(ipooparse
CmdDef
p1332
(dp1333
g10
g11
sg1100
S'put <obj> in <this>'
p1334
sg1102
S'put(%1,caller)'
p1335
sbtp1336
ssg173
(dp1337
S'go'
p1338
((ipooparse
CmdDef
p1339
(dp1340
g10
g11
sg1100
S'go <this>'
p1341
sg1102
S'invoke()'
p1342
sbtp1343
sS'<this>'
p1344
((ipooparse
CmdDef
p1345
(dp1346
g10
g11
sg1100
S'<this>'
p1347
sg1102
S'invoke()'
p1348
sbtp1349
ssg105
(dp1350
S'@who'
p1351
((ipooparse
CmdDef
p1352
(dp1353
g10
g11
sg1100
S'@who'
p1354
sg1102
S'who()'
p1355
sbtp1356
sS'look'
p1357
((ipooparse
CmdDef
p1358
(dp1359
g10
g11
sg1102
S'look(None)'
p1360
sg1100
S'look'
p1361
sb(ipooparse
CmdDef
p1362
(dp1363
g10
g11
sg1102
S'look(%1)'
p1364
sg1100
S'look <obj>'
p1365
sb(ipooparse
CmdDef
p1366
(dp1367
g10
g11
sg1102
S'look(%1)'
p1368
sg1100
S'look at <obj>'
p1369
sbtp1370
sS'who'
p1371
((ipooparse
CmdDef
p1372
(dp1373
g10
g11
sg1100
S'who'
p1374
sg1102
S'who()'
p1375
sbtp1376
sS'inv'
p1377
((ipooparse
CmdDef
p1378
(dp1379
g10
g11
sg1100
S'inv'
p1380
sg1102
S'inventory()'
p1381
sbtp1382
sS'i'
p1383
((ipooparse
CmdDef
p1384
(dp1385
g10
g11
sg1100
S'i'
p1386
sg1102
S'inventory()'
p1387
sbtp1388
sS'inventory'
p1389
((ipooparse
CmdDef
p1390
(dp1391
g10
g11
sg1100
S'inventory'
p1392
sg1102
S'inventory()'
p1393
sbtp1394
sS'@password'
p1395
((ipooparse
CmdDef
p1396
(dp1397
g10
g11
sg1100
S'@password <str>'
p1398
sg1102
S'passwd(%1)'
p1399
sbtp1400
sS'help'
p1401
((ipooparse
CmdDef
p1402
(dp1403
g10
g11
sg1100
S'help'
p1404
sg1102
S'printHelp()'
p1405
sb(ipooparse
CmdDef
p1406
(dp1407
g10
g11
sg1100
S'help <obj>'
p1408
sg1102
S'printHelp(%1)'
p1409
sb(ipooparse
CmdDef
p1410
(dp1411
g10
g11
sg1100
S'help <str>'
p1412
sg1102
S'printHelp(%1)'
p1413
sbtp1414
ssg107
(dp1415
S'emote'
p1416
((ipooparse
CmdDef
p1417
(dp1418
g10
g11
sg1100
S'emote <str>'
p1419
sg1102
S'emote(%1)'
p1420
sbtp1421
sS'@page'
p1422
((ipooparse
CmdDef
p1423
(dp1424
g10
g11
sg1100
S'@page <str> with <str>'
p1425
sg1102
S'page(%1,%2)'
p1426
sb(ipooparse
CmdDef
p1427
(dp1428
g10
g11
sg1100
S'@page <str> = <str>'
p1429
sg1102
S'page(%1,%2)'
p1430
sb(ipooparse
CmdDef
p1431
(dp1432
g10
g11
sg1100
S'@page <str>=<str>'
p1433
sg1102
S'page(%1,%2)'
p1434
sbtp1435
sS'drop'
p1436
((ipooparse
CmdDef
p1437
(dp1438
g10
g11
sg1100
S'drop <obj>'
p1439
sg1102
S'drop(%1)'
p1440
sbtp1441
sS'@home'
p1442
((ipooparse
CmdDef
p1443
(dp1444
g10
g11
sg1102
S'at_home()'
p1445
sg1100
S'@home'
p1446
sbtp1447
sS'get'
p1448
((ipooparse
CmdDef
p1449
(dp1450
g10
g11
sg1100
S'get <obj>'
p1451
sg1102
S'get(%1)'
p1452
sbtp1453
sS'@sethome'
p1454
((ipooparse
CmdDef
p1455
(dp1456
g10
g11
sg1100
S'@sethome'
p1457
sg1102
S'sethome()'
p1458
sbtp1459
sS'take'
p1460
((ipooparse
CmdDef
p1461
(dp1462
g10
g11
sg1100
S'take <obj>'
p1463
sg1102
S'get(%1)'
p1464
sbtp1465
sS'say'
p1466
((ipooparse
CmdDef
p1467
(dp1468
g10
g11
sg1102
S'say(%1)'
p1469
sg1100
S'say <str>'
p1470
sbtp1471
sS'give'
p1472
((ipooparse
CmdDef
p1473
(dp1474
g10
g11
sg1100
S'give <int> to <obj>'
p1475
sg1102
S'give(%1,%2)'
p1476
sb(ipooparse
CmdDef
p1477
(dp1478
g10
g11
sg1100
S'give <obj> <int>'
p1479
sg1102
S'give(%2,%1)'
p1480
sbtp1481
ssI90200
tp1482
.