This is patch13 to PennMUSH 1.8.0. After applying this patch, you will have version 1.8.0p13 To apply this patch, save it to a file in your top-level MUSH directory, and do the following: patch -p1 < 1.8.0-patch13 make clean make install If you use GNU patch 2.2, you probably want the above to be 'patch -b -p1', not just 'patch -p1'. Unix (or cygwin) users need not worry about failed hunks in src/switchinc.c, hdrs/switches.h, hdrs/cmds.h, or hdrs/funs.h. These files are automatically rebuilt on compile. On the off chance they appear not to be, simply rm them and re-run make. Then @shutdown and restart your MUSH. - Alan/Javelin In this patch: Fixes: * Crash bug in pcreate() fixed. Report by Phreq@M*U*S*H. * Crash bug in setunion() fixed. Report by Gurenk@ST:Legacy. Prereq: 1.8.0p12 *** 1_8_0.102/Patchlevel Sat, 25 Mar 2006 15:42:06 -0600 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.43.1.12 600) --- 1_8_0.108(w)/Patchlevel Wed, 05 Jul 2006 15:05:19 -0500 dunemush (pennmush/5_Patchlevel 1.17.1.11.1.43.1.13 600) *************** *** 1,2 **** Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.8.0p12 --- 1,2 ---- Do not edit this file. It is maintained by the official PennMUSH patches. ! This is PennMUSH 1.8.0p13 *** 1_8_0.102/game/txt/hlp/index.hlp Mon, 27 Dec 2004 15:32:25 -0600 dunemush (pennmush/20_index.hlp 1.1.1.1.1.1.1.1.1.2.1.1.2.2.2.2.1.1.1.4.2.1.2.3.1.1.2.1 660) --- 1_8_0.108(w)/game/txt/hlp/index.hlp Wed, 05 Jul 2006 14:29:14 -0500 dunemush (pennmush/20_index.hlp 1.1.1.1.1.1.1.1.1.2.1.1.2.2.2.2.1.1.1.4.2.1.2.3.1.1.2.1.2.1 660) *************** *** 3,9 **** -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- " #lambda $-commands $-commands2 % %! ! %# %: %n %~ + 1.50p6 1.50p7 1.50p8 1.50p9 1.50p10 1.50p11 1.50p12 --- 3,10 ---- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- " #lambda $-commands $-commands2 % %! ! %# %2 %3 ! %4 %: %n %~ + 1.50p6 1.50p7 1.50p8 1.50p9 1.50p10 1.50p11 1.50p12 *************** *** 16,27 **** 1.6.2p1 1.6.3p0 1.6.3p1 1.6.3p2 1.6.3p3 1.6.3p4 1.6.3p5 1.6.3p6 1.6.3p7 - 1.6.4p0 1.6.4p1 1.6.4p2 For more, see Entries-2 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-2 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 1.6.5p0 1.6.5p1 1.6.5p2 1.6.5p3 1.6.5p4 1.6.6p0 1.6.7p0 1.6.7p1 1.6.7p2 --- 17,28 ---- 1.6.2p1 1.6.3p0 1.6.3p1 1.6.3p2 1.6.3p3 1.6.3p4 1.6.3p5 1.6.3p6 1.6.3p7 For more, see Entries-2 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-2 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + 1.6.4p0 1.6.4p1 1.6.4p2 1.6.5p0 1.6.5p1 1.6.5p2 1.6.5p3 1.6.5p4 1.6.6p0 1.6.7p0 1.6.7p1 1.6.7p2 *************** *** 37,48 **** 1.7.0p11 1.7.1p0 1.7.1p1 1.7.1p2 1.7.1p3 1.7.2p0 1.7.2p1 1.7.2p2 1.7.2p3 - 1.7.2p4 1.7.2p5 1.7.2p6 For more, see Entries-3 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-3 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 1.7.2p7 1.7.2p8 1.7.2p9 1.7.2p10 1.7.2p11 1.7.2p12 1.7.2p13 1.7.2p14 1.7.2p15 --- 38,49 ---- 1.7.0p11 1.7.1p0 1.7.1p1 1.7.1p2 1.7.1p3 1.7.2p0 1.7.2p1 1.7.2p2 1.7.2p3 For more, see Entries-3 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-3 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + 1.7.2p4 1.7.2p5 1.7.2p6 1.7.2p7 1.7.2p8 1.7.2p9 1.7.2p10 1.7.2p11 1.7.2p12 1.7.2p13 1.7.2p14 1.7.2p15 *************** *** 58,69 **** 1.7.3p7 1.7.3p8 1.7.3p9 1.7.3p10 1.7.3p11 1.7.3p12 1.7.3p13 1.7.3p14 1.7.4p0 - 1.7.4p1 1.7.4p2 1.7.4p3 For more, see Entries-4 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-4 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 1.7.4p4 1.7.4p5 1.7.4p6 1.7.4p7 1.7.4p8 1.7.4p9 1.7.4p10 1.7.4p11 1.7.4p12 --- 59,70 ---- 1.7.3p7 1.7.3p8 1.7.3p9 1.7.3p10 1.7.3p11 1.7.3p12 1.7.3p13 1.7.3p14 1.7.4p0 For more, see Entries-4 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-4 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + 1.7.4p1 1.7.4p2 1.7.4p3 1.7.4p4 1.7.4p5 1.7.4p6 1.7.4p7 1.7.4p8 1.7.4p9 1.7.4p10 1.7.4p11 1.7.4p12 *************** *** 79,90 **** 1.7.6p6 1.7.6p7 1.7.6p8 1.7.6p9 1.7.6p10 1.7.6p11 1.7.6p12 1.7.6p13 1.7.6p14 - 1.7.6p15 1.7.6p16 1.7.7p0 For more, see Entries-5 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-5 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 1.7.7p1 1.7.7p2 1.7.7p3 1.7.7p4 1.7.7p5 1.7.7p6 1.7.7p7 1.7.7p8 1.7.7p9 --- 80,91 ---- 1.7.6p6 1.7.6p7 1.7.6p8 1.7.6p9 1.7.6p10 1.7.6p11 1.7.6p12 1.7.6p13 1.7.6p14 For more, see Entries-5 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-5 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + 1.7.6p15 1.7.6p16 1.7.7p0 1.7.7p1 1.7.7p2 1.7.7p3 1.7.7p4 1.7.7p5 1.7.7p6 1.7.7p7 1.7.7p8 1.7.7p9 *************** *** 98,111 **** 1.7.7p31 1.7.7p32 1.7.7p33 1.7.7p34 1.7.7p35 1.7.7p36 1.7.7p37 1.7.7p38 1.7.7p39 ! 1.7.7p40 1.8.0p0 : ! ; @-attributes @-building ! @-general @-wizard @@ For more, see Entries-6 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-6 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- @@() @aahear @abuy @aclone @aconnect @adeath @adescribe @adestroy @adisconnect --- 99,116 ---- 1.7.7p31 1.7.7p32 1.7.7p33 1.7.7p34 1.7.7p35 1.7.7p36 1.7.7p37 1.7.7p38 1.7.7p39 ! 1.7.7p40 1.8.0p0 1.8.0p1 ! 1.8.0p2 1.8.0p3 1.8.0p4 For more, see Entries-6 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-6 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + 1.8.0p5 1.8.0p6 1.8.0p7 + 1.8.0p8 1.8.0p9 1.8.0p10 + 1.8.0p11 1.8.0p12 : + ; @-attributes @-building + @-general @-wizard @@ @@() @aahear @abuy @aclone @aconnect @adeath @adescribe @adestroy @adisconnect *************** *** 117,132 **** @apayment @areceive @assert @asuccess @atport @atrchown @atrlock @attribute @aufail - @aunfollow @ause @away - @azenter @azleave @boot - @break @buy @cemit - @channel @channel2 @channel3 - @channel4 @channel5 @charges For more, see Entries-7 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-7 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- @chat @chown @chownall @chzone @chzone2 @chzoneall @clock @clock2 @clone --- 122,137 ---- @apayment @areceive @assert @asuccess @atport @atrchown @atrlock @attribute @aufail For more, see Entries-7 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-7 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + @aunfollow @ause @away + @azenter @azleave @boot + @break @buy @cemit + @channel @channel2 @channel3 + @channel4 @channel5 @charges @chat @chown @chownall @chzone @chzone2 @chzoneall @clock @clock2 @clone *************** *** 138,583 **** @config limits2 @config limits3 @config log @config net @config parameters @config tiny @conformat @cost @cpattr - @create @dbck @death - @decompile @decompile2 @decompile3 - @descformat @describe @destroy - @destroy2 @dig @dig2 - @disable @doing @dolist For more, see Entries-8 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-8 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! @drain @drop @dump ! @ealias @edit @efail ! @elock @emit @enable ! @enter @entrances @eunlock ! @exitformat @failure @filter ! @filter2 @find @firstexit ! @flag @flag2 @follow ! @force @force2 @forwardlist ! @function @function2 @function3 ! @function4 @gedit @give ! @grep2 @grep @halt ! @haven @hide @hook ! @hook2 @idescformat @idescribe ! @idle @infilter @inprefix ! @kick @lalias @leave ! @lemit @lfail @link For more, see Entries-9 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-9 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! @list @listen @listen2 ! @listmotd @lock @lock2 ! @lock3 @lock4 @lock5 ! @lock6 @lock7 @lock8 ! @lock9 @log @logwipe ! @lset @map2 @mail ! @malias @malias2 @malias3 ! @malias4 @malias5 @map ! @motd @move @mvattr ! @name @nameaccent @nameformat ! @newpassword @notify @nsemit ! @nslemit @nsoemit @nspemit ! @nsremit @nszemit @nuke ! @obuy @odeath @odescribe ! @odrop @oefail @oemit ! @oenter @ofailure @ofollow For more, see Entries-10 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-10 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! @ogive @oidescribe @oleave ! @olfail @omove @opayment ! @open @oreceive @osuccess ! @otport @oufail @ounfollow ! @ouse @oxenter @oxleave ! @oxmove @oxtport @ozenter ! @ozleave @parent @password ! @payment @pcreate @pemit ! @pemit2 @poll @poor ! @power @power2 @power3 ! @prefix @pricelist @ps ! @purge @quota @readcache ! @receive @recycle @rejectmotd ! @remit @restart @runout ! @rwall @scan @search ! @search2 @search3 @select For more, see Entries-11 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-11 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! @set @sex @shutdown ! @sitelock @sitelock2 @sitelock3 ! @sql @squota @startup ! @stats @success @sweep ! @switch @switch2 @teleport ! @tport @trigger @trigger2 ! @ufail @ulock @undestroy ! @unfollow @unlink @unlock ! @unrecycle @uptime @uptime2 ! @use @uunlock @verb ! @verb2 @verb3 @verb4 ! @version @vrml_url @wait ! @wait2 @wall @warnings ! @warnings2 @warnings3 @wcheck ! @whereis @wipe @wizmotd ! @wizwall @zemit @zenter For more, see Entries-12 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-12 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! @zleave \ ] ! ^ abode abs() ! accent() accent2 accent3 ! accent4 accname() acos() ! action lists action2 add() ! after() ahelp align() ! align2 allof() alphamax() ! alphamin() ancestors and() ! andflags() andlflags() anews ! anonymous attributes anonymous2 anonymous3 ! anonymous4 ansi ansi() ! aposs() art() asin() ! atan() atan2() atrlock() ! attr trees attr trees2 attr trees3 ! attr trees4 attrcnt() attrib-ownership ! attribute flags attribute flags2 attribute functions For more, see Entries-13 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-13 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! attribute list attribute trees attribute trees2 ! attribute trees3 attribute trees4 attributes ! attributes list attributes2 attributes3 ! attributes4 attrpcnt() audible ! audible2 band() baseconv() ! beep() before() being killed ! bitwise functions bnand() bnot() ! boolean functions boolean values boolean2 ! boolean3 bor() bound() ! brackets() brief builder ! buy bxor() cand() ! capstr() case() caseall() ! cat() cd ceil() ! cemit() center() cflags() ! ch chan_usefirstmatch changes ! channel functions channel-list channels() For more, see Entries-14 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-14 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! chat checkpass() children() ! chown_ok chr() clients ! clock() clone() cloudy ! cmds() code color ! commands communication functions comp() ! comsys con() config() ! conn() connected connection functions ! contact control controls() ! convsecs() convtime() convutcsecs() ! copyright copyrite cor() ! cos() costs cowner() ! create() credits ctime() ! ctitle() ctu() cv ! cwho() dark dark2 ! database dbref # dbref functions ! dbref number dbref2 dbrefs For more, see Entries-15 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-15 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! debug debug2 dec() ! decrypt() default() delete() ! desert destroy_ok die() ! dig() digest() dismiss ! dist2d() dist3d() div() ! doing doing() download ! drop drop-tos dynhelp() ! e() edefault() edit() ! element() elements() elist() ! elock() emit() empty ! enactor encrypt() endtag() ! enter enter_ok entrances() ! eq() escape() etimefmt() ! etimefmt2 etimefmt3 eval() ! evaluation order evaluation2 events ! examine executor exit() For more, see Entries-16 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-16 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! exits exits2 exp() ! extract() failure fdiv() ! filter() filterbool() findable() ! first() firstof() fixed ! flag list flag permissions flags ! flags list flags() flags2 ! flip() floating floor() ! floordiv() fmod() fold() ! fold2 folderstats() follow ! followers() following() foreach() ! foreach2 fraction() fullname() ! function list functions functions() ! functions2 gagged gender ! get get() get_eval() ! give global commands globals ! go going goto For more, see Entries-17 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-17 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! grab() graball() grep() ! gt() gte() halt ! hasattr() hasattrp() hasattrpval() ! hasattrval() hasflag() haspower() ! hastype() haven heavy ! height() help here ! hidden() home home() ! homes host() hostname() ! html html functions html() ! i18n idle idle() ! idlesecs() if() ifelse() ! ilev() iname() inc() ! index index() info ! information functions inherit inherit2 ! insert() interiors interiors2 ! internationalization inum() inventory For more, see Entries-18 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-18 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! ipaddr() isdaylight() isdbref() ! isint() isnum() isword() ! itemize() items() iter() ! iter2 itext() judge ! jump_ok jury_ok kill ! lambda last & lastlogout last() ! lastip lastsite lattr() ! lattrp() lcon() lcstr() ! ldelete() leave left() ! lemit() lexits() lflags() ! license light link() ! link_ok linking list functions ! list() listen_parent listening ! listening2 listening3 lists ! lit() ljust() llockflags() ! llocks() lmath() ln() For more, see Entries-19 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-19 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! lnum() loc() locale ! localize() locate() locate2 ! lock list lock types lock types2 ! lock() lockflags() locking ! locklist locks locks() ! locktypes locktypes2 log() ! logout look look2 ! looping lparent() lplayers() ! lports() lpos() lsearch() ! lsearch2 lsearchr() lset() ! lstats() lt() lte() ! lthings() lvcon() lvexits() ! lvplayers() lvthings() lwho() ! macros macros2 mail ! mail functions mail() mail-admin ! mail-folders mail-other mail-reading For more, see Entries-20 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-20 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! mail-sending maildstats() mailfrom() ! mailfstats() mailsend() mailstats() ! mailstatus() mailsubject() mailtime() ! malias() map() master room ! match() matchall() matching ! math functions max() me ! mean() median() member() ! merge() mid() min() ! mistrust mix() mix2 ! mod() modulo() modulus() ! money money() monitor ! mortal move mtime() ! mudname() mul() munge() ! munge2 munge3 mushcode ! mushcode2 mwho() myopic ! name() nand() nattr() For more, see Entries-21 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-21 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! nattrp() ncon() nearby() ! neq() new locks newbie ! newbie2 newbie3 news ! nexits() next() nmwho() ! no_command no_leave no_tel ! no_warn noaccents noleave ! non-standard attributes noname nor() ! nospace nospoof not() ! nowarn nplayers() nsemit() ! nslemit() nsoemit() nspemit() ! nsremit() nszemit() nthings() ! null() num() nvcon() ! nvexits() nvplayers() nvthings() ! nwho() obj() object parents ! objeval() objid() objmem() ! oemit() on-vacation opaque For more, see Entries-22 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-22 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! open() or() ord() ! orflags() orlflags() orphan ! outputprefix outputsuffix owner() ! page page2 paranoid ! parent parent() parents ! parents2 parents3 parents4 ! parents5 parse() patchlevels ! pcreate() pemit() pi() ! pickrand() player playermem() ! pmatch() poll() ports() ! pos() pose pose2 ! poss() power() powers list ! powers list2 powers() powers2 ! pueblo pueblo features pueblo() ! puppet puppets puppets2 ! queue quiet quit For more, see Entries-23 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-23 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! quota() r() r-function ! rand() randword() read ! recv() regedit() regeditall() ! regeditalli() regediti() regexp ! regexp classes regexp classes2 regexp examples ! regexp syntax regexp syntax2 regexp syntax3 ! regexp syntax4 regexp syntax5 regexp syntax6 ! regexp syntax7 regexp syntax8 regexps ! regexps2 registers registers2 ! regmatch() regmatchi() regrab() ! regraball() regraballi() regrabi() ! regrep() regular expression functions ! remainder() remit() remove() ! repeat() replace() rest() ! restarts() restarttime() restrict ! restrict2 restrict3 reswitch() For more, see Entries-24 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-24 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! reswitchall() reswitchalli() reswitchi() ! reverse() revwords() right() ! rjust() rloc() rnum() ! room room() root() ! round() royalty rquota ! rules s() s-function ! safe say scan() ! score scramble() screenheight ! screenwidth search() search2 ! secs() secure() semaphores ! semaphores2 semaphores3 semaphores4 ! semaphores5 semaphores6 semipose ! sent() session set() ! setdiff() setinter() setq() ! setq2 setq3 setr() ! setting-attributes setunion() sex For more, see Entries-25 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-25 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! sha0() shared shared players ! shared players2 shl() shr() ! shuffle() sign() sin() ! slay softcode sort() ! sortby() sorting soundex() ! soundex2 soundlike() soundslike() ! space() spellnum() splice() ! spoofing sql functions sql() ! sqlescape() sqrt() squish() ! ssl() stack starttime() ! stats() stddev() step2 ! step() sticky strcat() ! string functions strings strinsert() ! stripaccents() stripansi() strlen() ! strmatch() strreplace() sub() ! subj() substitutions substitutions2 For more, see Entries-26 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-26 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! substitutions3 substitutions4 success ! suspect switch wildcards switch() ! switch2 switchall() switches ! t() table() tag() ! tagwrap() take tan() ! teach tel() tel_ok ! temple terminfo() terse ! textfile() think time functions ! time() timefmt() timefmt2 ! timestring() topics topics2 ! tr() translation transparent ! transparent2 trim() trunc() ! trust trust2 type() ! types of objects types2 u() ! u2 ucstr() udefault() ! ufun() ufun2 uldefault() For more, see Entries-27 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-27 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! ulocal() ulocal2 unfindable ! unfollow uninspected unregistered ! use user-defined commands user-defined2 ! utctime() utility functions v() ! v-function vadd() val() ! valid() vcross() vdim() ! vdot() verbose verbs ! version() visible() visual ! vmag() vmax() vmin() ! vmul() vrml vsub() ! vunit() warnings warnings list ! warnings list2 where() whisper ! whisper2 who width() ! wildcards wipe() with ! wizard wordpos() words() ! wrap() xattr() xattrp() For more, see Entries-28 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-28 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! xcon() xexits() xget() ! xmwho() xor() xplayers() ! xthings() xvcon() xvexits() ! xvplayers() xvthings() xwho() ! z_tel zemit() zfun() ! zmo zmp zmr ! zmwho() zone zone master objects ! zone master rooms zone masters zone objects ! zone() zones zones2 ! zwho() & &Entries -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- --- 143,588 ---- @config limits2 @config limits3 @config log @config net @config parameters @config tiny @conformat @cost @cpattr For more, see Entries-8 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-8 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! @create @dbck @death ! @debugforwardlist @decompile @decompile2 ! @decompile3 @descformat @describe ! @destroy @destroy2 @dig ! @dig2 @disable @doing ! @dolist @drain @drop ! @dump @ealias @edit ! @efail @elock @emit ! @enable @enter @entrances ! @eunlock @exitformat @failure ! @filter @filter2 @find ! @firstexit @flag @flag2 ! @follow @force @force2 ! @forwardlist @function @function2 ! @function3 @function4 @gedit ! @give @grep2 @grep For more, see Entries-9 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-9 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! @halt @haven @hide ! @hook @hook2 @idescformat ! @idescribe @idle @infilter ! @inprefix @kick @lalias ! @leave @lemit @lfail ! @link @list @listen ! @listen2 @listmotd @lock ! @lock2 @lock3 @lock4 ! @lock5 @lock6 @lock7 ! @lock8 @lock9 @log ! @logwipe @lset @map2 ! @mail @malias @malias2 ! @malias3 @malias4 @malias5 ! @map @motd @move ! @mvattr @name @nameaccent ! @nameformat @newpassword @notify For more, see Entries-10 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-10 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! @nsemit @nslemit @nsoemit ! @nspemit @nsremit @nszemit ! @nuke @obuy @odeath ! @odescribe @odrop @oefail ! @oemit @oenter @ofailure ! @ofollow @ogive @oidescribe ! @oleave @olfail @omove ! @opayment @open @oreceive ! @osuccess @otport @oufail ! @ounfollow @ouse @oxenter ! @oxleave @oxmove @oxtport ! @ozenter @ozleave @parent ! @password @payment @pcreate ! @pemit @pemit2 @poll ! @poor @power @power2 ! @power3 @prefix @pricelist For more, see Entries-11 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-11 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! @ps @purge @quota ! @readcache @receive @recycle ! @rejectmotd @remit @restart ! @runout @rwall @scan ! @search @search2 @search3 ! @select @set @sex ! @shutdown @sitelock @sitelock2 ! @sitelock3 @sql @squota ! @startup @stats @success ! @sweep @switch @switch2 ! @teleport @tport @trigger ! @trigger2 @ufail @ulock ! @undestroy @unfollow @unlink ! @unlock @unrecycle @uptime ! @uptime2 @use @uunlock ! @verb @verb2 @verb3 For more, see Entries-12 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-12 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! @verb4 @version @vrml_url ! @wait @wait2 @wall ! @warnings @warnings2 @warnings3 ! @wcheck @whereis @wipe ! @wizmotd @wizwall @zemit ! @zenter @zleave \ ! ] ^ abode ! abs() accent() accent2 ! accent3 accent4 accname() ! acos() action lists action2 ! add() after() ahelp ! align() align2 allof() ! alphamax() alphamin() ancestors ! and() andflags() andlflags() ! anews anonymous attributes anonymous2 ! anonymous3 anonymous4 ansi For more, see Entries-13 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-13 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! ansi() aposs() art() ! asin() atan() atan2() ! atrlock() attr trees attr trees2 ! attr trees3 attr trees4 attrcnt() ! attrib-ownership attribute flags attribute flags2 ! attribute functions attribute list attribute trees ! attribute trees2 attribute trees3 attribute trees4 ! attributes attributes list attributes2 ! attributes3 attributes4 attrpcnt() ! audible audible2 band() ! baseconv() beep() before() ! being killed bitwise functions bnand() ! bnot() boolean functions boolean values ! boolean2 boolean3 bor() ! bound() brackets() brief ! builder buy bxor() For more, see Entries-14 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-14 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! cand() capstr() case() ! caseall() cat() cd ! ceil() cemit() center() ! cflags() ch chan_usefirstmatch ! changes channel functions channel-list ! channels() chat checkpass() ! children() chown_ok chr() ! clients clock() clone() ! cloudy cmds() code ! color commands communication functions ! comp() comsys con() ! config() conn() connected ! connection functions contact control ! controls() convsecs() convtime() ! convutcsecs() copyright copyrite ! cor() cos() costs For more, see Entries-15 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-15 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! cowner() create() credits ! ctime() ctitle() ctu() ! cv cwho() dark ! dark2 database dbref # ! dbref functions dbref number dbref2 ! dbrefs debug debug2 ! dec() decrypt() default() ! delete() desert destroy_ok ! die() dig() digest() ! dismiss dist2d() dist3d() ! div() doing doing() ! download drop drop-tos ! dynhelp() e() edefault() ! edit() element() elements() ! elist() elock() emit() ! empty enactor encrypt() For more, see Entries-16 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-16 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! endtag() enter enter_ok ! entrances() eq() escape() ! etimefmt() etimefmt2 etimefmt3 ! eval() evaluation order evaluation2 ! events examine executor ! exit() exits exits2 ! exp() extract() failure ! fdiv() filter() filterbool() ! findable() first() firstof() ! fixed flag list flag permissions ! flags flags list flags() ! flags2 flip() floating ! floor() floordiv() fmod() ! fold() fold2 folderstats() ! follow followers() following() ! foreach() foreach2 fraction() For more, see Entries-17 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-17 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! fullname() function list functions ! functions() functions2 gagged ! gender get get() ! get_eval() give global commands ! globals go going ! goto grab() graball() ! grep() gt() gte() ! halt hasattr() hasattrp() ! hasattrpval() hasattrval() hasflag() ! haspower() hastype() haven ! heavy height() help ! here hidden() home ! home() homes host() ! hostname() html html functions ! html() i18n idle ! idle() idlesecs() if() For more, see Entries-18 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-18 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! ifelse() ilev() iname() ! inc() index index() ! info information functions inherit ! inherit2 insert() interiors ! interiors2 internationalization inum() ! inventory ipaddr() isdaylight() ! isdbref() isint() isnum() ! isword() itemize() items() ! iter() iter2 itext() ! judge jump_ok jury_ok ! kill lambda last & lastlogout ! last() lastip lastsite ! lattr() lattrp() lcon() ! lcstr() ldelete() leave ! left() lemit() lexits() ! lflags() license light For more, see Entries-19 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-19 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! link() link_ok linking ! list functions list() listen_parent ! listening listening2 listening3 ! lists lit() ljust() ! llockflags() llocks() lmath() ! ln() lnum() loc() ! locale localize() locate() ! locate2 lock list lock types ! lock types2 lock() lockflags() ! locking locklist locks ! locks() locktypes locktypes2 ! log() logout look ! look2 looping lparent() ! lplayers() lports() lpos() ! lsearch() lsearch2 lsearchr() ! lset() lstats() lt() For more, see Entries-20 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-20 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! lte() lthings() lvcon() ! lvexits() lvplayers() lvthings() ! lwho() macros macros2 ! mail mail functions mail() ! mail-admin mail-folders mail-other ! mail-reading mail-sending maildstats() ! mailfrom() mailfstats() mailsend() ! mailstats() mailstatus() mailsubject() ! mailtime() malias() map() ! master room match() matchall() ! matching math functions max() ! me mean() median() ! member() merge() mid() ! min() mistrust mix() ! mix2 mod() modulo() ! modulus() money money() For more, see Entries-21 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-21 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! monitor mortal move ! mtime() mudname() mul() ! munge() munge2 munge3 ! mushcode mushcode2 mwho() ! myopic name() nand() ! nattr() nattrp() ncon() ! nearby() neq() new locks ! newbie newbie2 newbie3 ! news nexits() next() ! nmwho() no_command no_leave ! no_tel no_warn noaccents ! noleave non-standard attributes noname ! nor() nospace nospoof ! not() nowarn nplayers() ! nsemit() nslemit() nsoemit() ! nspemit() nsremit() nszemit() For more, see Entries-22 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-22 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! nthings() null() num() ! nvcon() nvexits() nvplayers() ! nvthings() nwho() obj() ! object parents objeval() objid() ! objmem() oemit() on-vacation ! opaque open() or() ! ord() orflags() orlflags() ! orphan outputprefix outputsuffix ! owner() page page2 ! paranoid parent parent() ! parents parents2 parents3 ! parents4 parents5 parse() ! patchlevels pcreate() pemit() ! pi() pickrand() player ! playermem() pmatch() poll() ! ports() pos() pose For more, see Entries-23 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-23 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! pose2 poss() power() ! powers list powers list2 powers() ! powers2 pueblo pueblo features ! pueblo() puppet puppets ! puppets2 queue quiet ! quit quota() r() ! r-function rand() randword() ! read recv() regedit() ! regeditall() regeditalli() regediti() ! regexp regexp classes regexp classes2 ! regexp examples regexp syntax regexp syntax2 ! regexp syntax3 regexp syntax4 regexp syntax5 ! regexp syntax6 regexp syntax7 regexp syntax8 ! regexps regexps2 registers ! registers2 regmatch() regmatchi() ! regrab() regraball() regraballi() For more, see Entries-24 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-24 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! regrabi() regrep() ! regular expression functions remainder() ! remit() remove() repeat() ! replace() rest() restarts() ! restarttime() restrict restrict2 ! restrict3 reswitch() reswitchall() ! reswitchalli() reswitchi() reverse() ! revwords() right() rjust() ! rloc() rnum() room ! room() root() round() ! royalty rquota rules ! s() s-function safe ! say scan() score ! scramble() screenheight screenwidth ! search() search2 secs() ! secure() semaphores semaphores2 For more, see Entries-25 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-25 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! semaphores3 semaphores4 semaphores5 ! semaphores6 semipose sent() ! session set() setdiff() ! setinter() setq() setq2 ! setq3 setr() setting-attributes ! setunion() sex sha0() ! shared shared players shared players2 ! shl() shr() shuffle() ! sign() sin() slay ! softcode sort() sortby() ! sorting soundex() soundex2 ! soundlike() soundslike() space() ! spellnum() splice() spoofing ! sql functions sql() sqlescape() ! sqrt() squish() ssl() ! stack starttime() stats() For more, see Entries-26 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-26 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! stddev() step2 step() ! sticky strcat() string functions ! strings strinsert() stripaccents() ! stripansi() strlen() strmatch() ! strreplace() sub() subj() ! substitutions substitutions2 substitutions3 ! substitutions4 success suspect ! switch wildcards switch() switch2 ! switchall() switches t() ! table() tag() tagwrap() ! take tan() teach ! tel() tel_ok temple ! terminfo() terse textfile() ! think time functions time() ! timefmt() timefmt2 timestring() ! topics topics2 tr() For more, see Entries-27 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-27 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! translation transparent transparent2 ! trim() trunc() trust ! trust2 type() types of objects ! types2 u() u2 ! ucstr() udefault() ufun() ! ufun2 uldefault() ulocal() ! ulocal2 unfindable unfollow ! uninspected unregistered use ! user-defined commands user-defined2 utctime() ! utility functions v() v-function ! vadd() val() valid() ! vcross() vdim() vdot() ! verbose verbs version() ! visible() visual vmag() ! vmax() vmin() vmul() ! vrml vsub() vunit() For more, see Entries-28 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- & Entries-28 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ! warnings warnings list warnings list2 ! where() whisper whisper2 ! who width() wildcards ! wipe() with wizard ! wordpos() words() wrap() ! xattr() xattrp() xcon() ! xexits() xget() xmwho() ! xor() xplayers() xthings() ! xvcon() xvexits() xvplayers() ! xvthings() xwho() z_tel ! zemit() zfun() zmo ! zmp zmr zmwho() ! zone zone master objects zone master rooms ! zone masters zone objects zone() ! zones zones2 zwho() & &Entries -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- *** 1_8_0.102/src/funlist.c Thu, 23 Jun 2005 10:09:12 -0500 dunemush (pennmush/c/16_funlist.c 1.3.1.1.1.5.1.2.1.1.1.1.1.4.1.2.1.2.1.19.1.2.1.1.1.2.1.5.1.1.1.1.1.1.1.1.1.1.2.1.1.3.1.2.1.1.1.1.1.1.1.1.1.1.1.12.1.14.1.7.1.20.1.1.1.1.1.1 660) --- 1_8_0.108(w)/src/funlist.c Wed, 05 Jul 2006 23:16:12 -0500 dunemush (pennmush/c/16_funlist.c 1.3.1.1.1.5.1.2.1.1.1.1.1.4.1.2.1.2.1.19.1.2.1.1.1.2.1.5.1.1.1.1.1.1.1.1.1.1.2.1.1.3.1.2.1.1.1.1.1.1.1.1.1.1.1.12.1.14.1.7.1.20.1.1.1.1.1.1.1.1.1.1 660) *************** *** 1256,1327 **** } /* ARGSUSED */ - FUNCTION(fun_setunion) - { - char sep; - char **a1, **a2; - char *tempbuff; - int n1, i, a; - char *sort_type = ALPHANUM_LIST; - char *osep = NULL, osepd[2] = { '\0', '\0' }; - - /* if no lists, then no work */ - if (!*args[0] && !*args[1]) - return; - - if (!delim_check(buff, bp, nargs, args, 3, &sep)) - return; - - tempbuff = (char *) mush_malloc((BUFFER_LEN * 2) + 4, "string"); - a1 = (char **) mush_malloc(MAX_SORTSIZE * sizeof(char *), "ptrarray"); - a2 = (char **) mush_malloc(MAX_SORTSIZE * sizeof(char *), "ptrarray"); - if (!tempbuff || !a1 || !a2) - mush_panic("Unable to allocate memory in fun_setunion"); - /* Concat both lists, make array, sort */ - if (!*args[0]) - memcpy(tempbuff, args[1], arglens[1] + 1); - else if (!*args[1]) - memcpy(tempbuff, args[0], arglens[0] + 1); - else - sprintf(tempbuff, "%s%c%s", args[0], sep, args[1]); - n1 = list2arr(a1, MAX_SORTSIZE, tempbuff, sep); - - if (nargs < 4) { - osepd[0] = sep; - osep = osepd; - } else if (nargs == 4) { - sort_type = get_list_type_noauto(args, nargs, 4); - if (sort_type == UNKNOWN_LIST) { - sort_type = ALPHANUM_LIST; - osep = args[3]; - } else { - osepd[0] = sep; - osep = osepd; - } - } else if (nargs == 5) { - sort_type = get_list_type(args, nargs, 4, a1, n1); - osep = args[4]; - } - - do_gensort(executor, a1, n1, sort_type); - - /* Strip the duplicates and make a2 contain the list */ - a = 0; - for (i = 0; i < n1; i++) { - if (((a == 0) || (gencomp(executor, a1[i], a2[a - 1], sort_type) != 0))) { - a2[a] = a1[i]; - a++; - } - } - - /* Return our sorted result */ - arr2list(a2, a, buff, bp, osep); - mush_free((Malloc_t) tempbuff, "string"); - mush_free((Malloc_t) a1, "ptrarray"); - mush_free((Malloc_t) a2, "ptrarray"); - } - - /* ARGSUSED */ FUNCTION(fun_setinter) { char sep; --- 1256,1261 ---- *************** *** 1341,1347 **** a1 = (char **) mush_malloc(MAX_SORTSIZE * sizeof(char *), "ptrarray"); a2 = (char **) mush_malloc(MAX_SORTSIZE * sizeof(char *), "ptrarray"); if (!a1 || !a2) ! mush_panic("Unable to allocate memory in fun_setunion"); /* make arrays out of the lists */ n1 = list2arr(a1, MAX_SORTSIZE, args[0], sep); --- 1275,1281 ---- a1 = (char **) mush_malloc(MAX_SORTSIZE * sizeof(char *), "ptrarray"); a2 = (char **) mush_malloc(MAX_SORTSIZE * sizeof(char *), "ptrarray"); if (!a1 || !a2) ! mush_panic("Unable to allocate memory in fun_inter"); /* make arrays out of the lists */ n1 = list2arr(a1, MAX_SORTSIZE, args[0], sep); *************** *** 1437,1447 **** } /* ARGSUSED */ ! FUNCTION(fun_setdiff) { char sep; char **a1, **a2; int n1, n2, x1, x2, val; char *sort_type = ALPHANUM_LIST; int osepl = 0; char *osep = NULL, osepd[2] = { '\0', '\0' }; --- 1371,1382 ---- } /* ARGSUSED */ ! FUNCTION(fun_setunion) { char sep; char **a1, **a2; int n1, n2, x1, x2, val; + int lastx1, lastx2, found; char *sort_type = ALPHANUM_LIST; int osepl = 0; char *osep = NULL, osepd[2] = { '\0', '\0' }; *************** *** 1484,1489 **** --- 1419,1560 ---- osep = args[4]; osepl = arglens[4]; } + /* sort each array */ + do_gensort(executor, a1, n1, sort_type); + do_gensort(executor, a2, n2, sort_type); + + /* get values for the union, in order, skipping duplicates */ + lastx1 = lastx2 = -1; + found = x1 = x2 = 0; + if (n1 == 1 && !*a1[0]) + n1 = 0; + if (n2 == 1 && !*a2[0]) + n2 = 0; + while ((x1 < n1) || (x2 < n2)) { + /* If we've already copied off something from a1, and our current + * look at a1 is the same element, or we've copied from a2 and + * our current look at a1 is the same element, skip forward in a1. + */ + if (x1 < n1 && lastx1 >= 0) { + val = gencomp(executor, a1[lastx1], a1[x1], sort_type); + if (val == 0) { + x1++; + continue; + } + } + if (x1 < n1 && lastx2 >= 0) { + val = gencomp(executor, a2[lastx2], a1[x1], sort_type); + if (val == 0) { + x1++; + continue; + } + } + if (x2 < n2 && lastx1 >= 0) { + val = gencomp(executor, a1[lastx1], a2[x2], sort_type); + if (val == 0) { + x2++; + continue; + } + } + if (x2 < n2 && lastx2 >= 0) { + val = gencomp(executor, a2[lastx2], a2[x2], sort_type); + if (val == 0) { + x2++; + continue; + } + } + if (x1 >= n1) { + /* Just copy off the rest of a2 */ + if (x2 < n2) { + if (found) + safe_strl(osep, osepl, buff, bp); + safe_str(a2[x2], buff, bp); + lastx2 = x2; + x2++; + found = 1; + } + } else if (x2 >= n2) { + /* Just copy off the rest of a1 */ + if (x1 < n1) { + if (found) + safe_strl(osep, osepl, buff, bp); + safe_str(a1[x1], buff, bp); + lastx1 = x1; + x1++; + found = 1; + } + } else { + /* At this point, we're merging. Take the lower of the two. */ + val = gencomp(executor, a1[x1], a2[x2], sort_type); + if (val <= 0) { + if (found) + safe_strl(osep, osepl, buff, bp); + safe_str(a1[x1], buff, bp); + lastx1 = x1; + x1++; + found = 1; + } else { + if (found) + safe_strl(osep, osepl, buff, bp); + safe_str(a2[x2], buff, bp); + lastx2 = x2; + x2++; + found = 1; + } + } + } + mush_free((Malloc_t) a1, "ptrarray"); + mush_free((Malloc_t) a2, "ptrarray"); + } + + /* ARGSUSED */ + FUNCTION(fun_setdiff) + { + char sep; + char **a1, **a2; + int n1, n2, x1, x2, val; + char *sort_type = ALPHANUM_LIST; + int osepl = 0; + char *osep = NULL, osepd[2] = { '\0', '\0' }; + + /* if no lists, then no work */ + if (!*args[0] && !*args[1]) + return; + + if (!delim_check(buff, bp, nargs, args, 3, &sep)) + return; + + a1 = (char **) mush_malloc(MAX_SORTSIZE * sizeof(char *), "ptrarray"); + a2 = (char **) mush_malloc(MAX_SORTSIZE * sizeof(char *), "ptrarray"); + if (!a1 || !a2) + mush_panic("Unable to allocate memory in fun_diff"); + + /* make arrays out of the lists */ + n1 = list2arr(a1, MAX_SORTSIZE, args[0], sep); + n2 = list2arr(a2, MAX_SORTSIZE, args[1], sep); + + if (nargs < 4) { + osepd[0] = sep; + osep = osepd; + if (sep) + osepl = 1; + } else if (nargs == 4) { + sort_type = get_list_type_noauto(args, nargs, 4); + if (sort_type == UNKNOWN_LIST) { + sort_type = ALPHANUM_LIST; + osep = args[3]; + osepl = arglens[3]; + } else { + osepd[0] = sep; + osep = osepd; + if (sep) + osepl = 1; + } + } else if (nargs == 5) { + sort_type = get_list_type(args, nargs, 4, a1, n1); + osep = args[4]; + osepl = arglens[4]; + } /* sort each array */ do_gensort(executor, a1, n1, sort_type); *** 1_8_0.102/src/function.c Thu, 23 Jun 2005 12:18:12 -0500 dunemush (pennmush/c/18_function.c 1.29.1.14.1.3.1.6.1.1.1.1.1.14.1.2.1.1.1.7.1.22.1.11.1.3.1.24.1.4.1.2.2.1.1.1.1.1 660) --- 1_8_0.108(w)/src/function.c Wed, 05 Jul 2006 23:16:12 -0500 dunemush (pennmush/c/18_function.c 1.29.1.14.1.3.1.6.1.1.1.1.1.14.1.2.1.1.1.7.1.22.1.11.1.3.1.24.1.4.1.2.2.1.1.1.1.1.1.1 660) *************** *** 450,456 **** {"ORPOWERS", fun_orflags, 2, 2, FN_REG}, {"OWNER", fun_owner, 1, 1, FN_REG}, {"PARENT", fun_parent, 1, 2, FN_REG}, ! {"PCREATE", fun_pcreate, 1, 2, FN_REG}, {"PEMIT", fun_pemit, 2, -2, FN_REG}, {"PLAYERMEM", fun_playermem, 1, 1, FN_REG}, {"PMATCH", fun_pmatch, 1, 1, FN_REG}, --- 450,456 ---- {"ORPOWERS", fun_orflags, 2, 2, FN_REG}, {"OWNER", fun_owner, 1, 1, FN_REG}, {"PARENT", fun_parent, 1, 2, FN_REG}, ! {"PCREATE", fun_pcreate, 2, 2, FN_REG}, {"PEMIT", fun_pemit, 2, -2, FN_REG}, {"PLAYERMEM", fun_playermem, 1, 1, FN_REG}, {"PMATCH", fun_pmatch, 1, 1, FN_REG}, *** 1_8_0.102/hdrs/version.h Sat, 25 Mar 2006 15:42:06 -0600 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.17.1.45.1.13 660) --- 1_8_0.108(w)/hdrs/version.h Wed, 05 Jul 2006 23:16:14 -0500 dunemush (pennmush/c/47_version.h 1.32.1.2.1.7.1.9.1.1.1.17.1.45.1.14 660) *************** *** 1,4 **** #define VERSION "1.8.0" ! #define PATCHLEVEL "12" ! #define PATCHDATE "[03/25/2006]" ! #define NUMVERSION 1008000012 --- 1,4 ---- #define VERSION "1.8.0" ! #define PATCHLEVEL "13" ! #define PATCHDATE "[07/05/2006]" ! #define NUMVERSION 1008000013 *** 1_8_0.102/hdrs/copyrite.h Fri, 24 Mar 2006 14:42:48 -0600 dunemush (pennmush/d/19_copyrite.h 1.5.1.1 660) --- 1_8_0.108(w)/hdrs/copyrite.h Wed, 05 Jul 2006 23:16:14 -0500 dunemush (pennmush/d/19_copyrite.h 1.5.1.2 660) *************** *** 170,176 **** * * Past and present PennMUSH development team members: * T. Alexander Popiel, Ralph Melton, Thorvald Natvig, Luuk de Waard, ! * Shawn Wagner, Ervin Hearn III, Alan "Javelin" Schwartz * Past and present PennMUSH porters: * Nick Gammon, Sylvia, Dan Williams, Ervin Hearn III * TinyMUSH 2.2, TinyMUSH 3.0, TinyMUX 2, and RhostMUSH developers --- 170,176 ---- * * Past and present PennMUSH development team members: * T. Alexander Popiel, Ralph Melton, Thorvald Natvig, Luuk de Waard, ! * Shawn Wagner, Ervin Hearn III, Alan "Javelin" Schwartz, Greg Millam * Past and present PennMUSH porters: * Nick Gammon, Sylvia, Dan Williams, Ervin Hearn III * TinyMUSH 2.2, TinyMUSH 3.0, TinyMUX 2, and RhostMUSH developers *** 1_8_0.102/MANIFEST Sat, 25 Feb 2006 14:57:08 -0600 dunemush (pennmush/d/34_MANIFEST 1.21.1.2.1.7.1.3.1.31.1.1.1.1 660) --- 1_8_0.108(w)/MANIFEST Wed, 05 Jul 2006 16:13:45 -0500 dunemush (pennmush/d/34_MANIFEST 1.21.1.2.1.7.1.3.1.31.1.1.1.1.1.1 660) *************** *** 232,237 **** --- 232,238 ---- test/testrand.pl test/testreswitch.pl test/testtr.pl + test/testsetfuns.pl utils/clwrapper.sh utils/customize.pl utils/fixdepend.pl *** 1_8_0.102/game/txt/hlp/pennvOLD.hlp Fri, 10 Mar 2006 13:24:59 -0600 dunemush (pennmush/g/30_pennvOLD.h 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.9.1.2.1.5.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 660) --- 1_8_0.108(w)/game/txt/hlp/pennvOLD.hlp Wed, 05 Jul 2006 23:16:15 -0500 dunemush (pennmush/g/30_pennvOLD.h 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.9.1.2.1.5.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 660) *************** *** 4417,4423 **** For information on a specific patchlevel of one of the versions listed, type 'help p'. For example, 'help 1.7.2p3' ! 1.8.0: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 1.7.7: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 --- 4417,4423 ---- For information on a specific patchlevel of one of the versions listed, type 'help p'. For example, 'help 1.7.2p3' ! 1.8.0: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 1.7.7: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 *** 1_8_0.102/game/txt/hlp/pennv180.hlp Sat, 25 Mar 2006 15:42:06 -0600 dunemush (pennmush/h/28_pennv180.h 1.1.1.2.1.1.1.2.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.4.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1.2.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.1 660) --- 1_8_0.108(w)/game/txt/hlp/pennv180.hlp Wed, 05 Jul 2006 23:16:15 -0500 dunemush (pennmush/h/28_pennv180.h 1.1.1.2.1.1.1.2.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.4.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1.2.1.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1 660) *************** *** 1,4 **** ! & 1.8.0p12 & changes This is a list of changes in this patchlevel which are probably of interest to players. More information about new commands and functions --- 1,4 ---- ! & 1.8.0p13 & changes This is a list of changes in this patchlevel which are probably of interest to players. More information about new commands and functions *************** *** 11,16 **** --- 11,24 ---- A list of the patchlevels associated with each release can be read in 'help patchlevels'. + Version 1.8.0 patchlevel 13 July 5, 2006 + + Fixes: + * Crash bug in pcreate() fixed. Report by Phreq@M*U*S*H. + * Crash bug in setunion() fixed. Report by Gurenk@ST:Legacy. + + + & 1.8.0p12 Version 1.8.0 patchlevel 12 March 25, 2006 Minor changes: *** 1_8_0.102/CHANGES.180 Sat, 25 Mar 2006 15:42:06 -0600 dunemush (pennmush/h/21_CHANGES.18 1.67 600) --- 1_8_0.108(w)/CHANGES.180 Wed, 05 Jul 2006 14:31:48 -0500 dunemush (pennmush/h/21_CHANGES.18 1.68 600) *************** *** 13,18 **** --- 13,25 ---- ========================================================================== + Version 1.8.0 patchlevel 13 July 5, 2006 + + Fixes: + * Crash bug in pcreate() fixed. Report by Phreq@M*U*S*H. + * Crash bug in setunion() fixed. Report by Gurenk@ST:Legacy. + + Version 1.8.0 patchlevel 12 March 25, 2006 Minor changes: *** 1_8_0.102/test/testsetfuns.pl Wed, 05 Jul 2006 23:16:17 -0500 dunemush () --- 1_8_0.108(w)/test/testsetfuns.pl Wed, 05 Jul 2006 15:47:29 -0500 dunemush (pennmush/h/51_testsetfun 1.2 600) *************** *** 0 **** --- 1,12 ---- + use PennMUSH; + use MUSHConnection; + use TestHarness; + + $mush = PennMUSH->new(); + $god = $mush->loginGod(); + + test('setunion.1', $god, 'think setunion(,)', '^$'); + test('setunion.2', $god, 'think setunion( a,a)', '^a\r$'); + test('setunion.3', $god, 'think setunion(c a b a,a b c c)', '^a b c\r$'); + test('setunion.4', $god, 'think setunion(a a a,)', '^a\r$'); + test('setunion.5', $god, 'think setunion(,a a a)', '^a\r$');