mirror of
https://github.com/tbamud/tbamud.git
synced 2025-12-22 10:10:13 +01:00
Updated World and files for 3.58 release. --Rumble
This commit is contained in:
parent
eb99864f0b
commit
6f22042712
52 changed files with 763 additions and 803 deletions
12
changelog
12
changelog
|
|
@ -34,12 +34,22 @@ OLC copy and delete options.
|
||||||
export (QQ's a zone into a tarball)t
|
export (QQ's a zone into a tarball)t
|
||||||
Xlist (mlist, olist, rlist, zlist, slist, tlist, qlist)
|
Xlist (mlist, olist, rlist, zlist, slist, tlist, qlist)
|
||||||
(lots of major bugfixes too)
|
(lots of major bugfixes too)
|
||||||
|
|
||||||
|
tbaMUD 3.58
|
||||||
|
[Jan 18 2009] - Rumble
|
||||||
|
Updated World and files for 3.58 release.
|
||||||
|
Bug fix for column_list to properly display commands, socials, wizhelp, etc. (thanks Jamdog)
|
||||||
[Jan 15 2009] - Fizban
|
[Jan 15 2009] - Fizban
|
||||||
Immortals can now never have their hands full when you attempt to hand them an item.
|
Immortals can now never have their hands full when you attempt to hand them an item.
|
||||||
|
[Jan 13 2009] - Rumble
|
||||||
|
Questmaster variable changed from an rnum to a vnum. (thanks Jamdog)
|
||||||
|
Fixed a bug in dg_variables.c find_replacment with the new quest variable. (thanks Jamdog)
|
||||||
Fixed message when setting gold abnormally high.
|
Fixed message when setting gold abnormally high.
|
||||||
[Jan 09 2009] - Fizban
|
[Jan 09 2009] - Fizban
|
||||||
Fixed a bug in do_rescue allowing players to get twice as many attacks per round. (thanks Zordrac)
|
Fixed a DIKU bug in do_rescue allowing players to get twice as many attacks per round. (thanks Zordrac)
|
||||||
Fixed Bug Where Questmaster rnums didn't previously update. (thanks Tails)
|
Fixed Bug Where Questmaster rnums didn't previously update. (thanks Tails)
|
||||||
|
[Jan 05 2009] - Rumble
|
||||||
|
Fix to allow non-helper aggro mobs be agressive. (thanks Kvasir)
|
||||||
[Dec 28 2008] - Rumble
|
[Dec 28 2008] - Rumble
|
||||||
Added a "Syntax: export zone vnum" for the export command instead of defaulting to 0. (thanks Vatiken)
|
Added a "Syntax: export zone vnum" for the export command instead of defaulting to 0. (thanks Vatiken)
|
||||||
Fixed bad usage of num_of_saving_throws and moved define to structs.h. (thanks Vatiken)
|
Fixed bad usage of num_of_saving_throws and moved define to structs.h. (thanks Vatiken)
|
||||||
|
|
|
||||||
|
|
@ -810,11 +810,38 @@ TRIG-ERRORS TRIGEDIT-ERRORS TRIGEDIT-MISTAKES
|
||||||
|
|
||||||
These are numerous and I will add them as people ask questions about them.
|
These are numerous and I will add them as people ask questions about them.
|
||||||
|
|
||||||
Make sure nohassle is OFF.
|
Make sure nohassle is OFF. Command triggers (and some other functionality)
|
||||||
|
will not work for level 32 and above.
|
||||||
For mob triggers make sure the mob can see the actor, set INFRA in DARK rooms.
|
For mob triggers make sure the mob can see the actor, set INFRA in DARK rooms.
|
||||||
|
|
||||||
AFF_CHARM prevents triggers from firing.
|
AFF_CHARM prevents triggers from firing.
|
||||||
|
|
||||||
|
As a general rule always use an ID (%actor%) not a name (%actor.name%) unless
|
||||||
|
you actually need to display the actors name.
|
||||||
|
|
||||||
|
GOOD: %send% %actor% Hi there, %actor.name%!
|
||||||
|
GOOD: %teleport% %actor% 0
|
||||||
|
GOOD: %force% %actor% kneel %self.name%
|
||||||
|
GOOD: mkill %actor%
|
||||||
|
|
||||||
|
BAD: %send% %actor.name% Hi there, %actor.name%!
|
||||||
|
BAD: %teleport% %actor.name% 0
|
||||||
|
BAD: %force% %actor.name% kneel
|
||||||
|
BAD: mkill %actor.name%
|
||||||
|
|
||||||
|
Another common mistake is the mis-use of set and eval.
|
||||||
|
|
||||||
|
GOOD: set fruit apple
|
||||||
|
GOOD: set num %random.5%
|
||||||
|
GOOD: eval num 4 * %random.3%
|
||||||
|
GOOD: eval text %%txt[%num%]%%
|
||||||
|
GOOD: set num 5
|
||||||
|
GOOD: set command %cmd% %arg%
|
||||||
|
|
||||||
|
BAD: eval num 5
|
||||||
|
BAD: eval num %random.4%
|
||||||
|
BAD: eval fruit apple
|
||||||
|
BAD: eval command %cmd% %arg%
|
||||||
|
|
||||||
See Also: ZEDIT-MISTAKES, SEDIT-MISTAKES
|
See Also: ZEDIT-MISTAKES, SEDIT-MISTAKES
|
||||||
#31
|
#31
|
||||||
CYGWIN README.CYGWIN README-CYGWIN COMPILER SHELLS
|
CYGWIN README.CYGWIN README-CYGWIN COMPILER SHELLS
|
||||||
|
|
@ -941,7 +968,7 @@ as in "women's hemlines."
|
||||||
|
|
||||||
We rest our case. Now do whatever you want...after all, it is your area.
|
We rest our case. Now do whatever you want...after all, it is your area.
|
||||||
#31
|
#31
|
||||||
OBJ-NOTES OBJECT-NOTES BOOKS PENS NOTES QUILLS NEWSPAPERS POSTITS POST-ITS OBJ-TYPE-NOTE PAPERS
|
OBJ-NOTES OBJECT-NOTES BOOKS PENS NOTES QUILLS NEWSPAPERS POSTITS POST-ITS OBJ-TYPE-NOTE PAPERS TYPE-NOTE
|
||||||
|
|
||||||
With Object Type NOTE you can then use the A-desc to write what you want
|
With Object Type NOTE you can then use the A-desc to write what you want
|
||||||
people to see when they read it. Players will then be able to write on the
|
people to see when they read it. Players will then be able to write on the
|
||||||
|
|
@ -953,6 +980,8 @@ like 1 2 3 etc. Since the buffers can only hold so much text. You would need
|
||||||
to include instructions, something like this: to read another page type read #.
|
to include instructions, something like this: to read another page type read #.
|
||||||
The player would type read 1, and would actually read page 1, then type read 2
|
The player would type read 1, and would actually read page 1, then type read 2
|
||||||
and so on.
|
and so on.
|
||||||
|
|
||||||
|
See Also: NOTE, MAP
|
||||||
#31
|
#31
|
||||||
CWG BUDDHA SUNTZU RASPUTIN CIRCLEMUD-WITH-GOODIES
|
CWG BUDDHA SUNTZU RASPUTIN CIRCLEMUD-WITH-GOODIES
|
||||||
|
|
||||||
|
|
@ -965,26 +994,23 @@ See also: RESOURCES
|
||||||
#31
|
#31
|
||||||
SOURCES RESOURCES CODEBASE FTP DOWNLOADS DOCUMENTATION WTFAQ FORUMS GROUPS
|
SOURCES RESOURCES CODEBASE FTP DOWNLOADS DOCUMENTATION WTFAQ FORUMS GROUPS
|
||||||
|
|
||||||
Source: http://cwg.lazuras.org/modules.php?name=Downloads&d_op=viewdownload&cid=16
|
Source: http://tbamud.com/
|
||||||
CWG: http://cwg.lazuras.org/
|
CWG: http://cwg.lazuras.org/
|
||||||
Trigedit: http://tbamud.com/Oasis_DG_pages/contents/downloads.htm
|
Trigedit: http://tbamud.com/Oasis_DG_pages/contents/downloads.htm
|
||||||
GDB: http://www.cs.clemson.edu/~ihcho/courses/cs360/common/gdb.html
|
GDB: http://www.cs.clemson.edu/~ihcho/courses/cs360/common/gdb.html
|
||||||
|
|
||||||
Documentation:
|
Documentation:
|
||||||
http://tbamud.com/Oasis_DG_pages/index.html
|
http://tbamud.com/
|
||||||
http://www.circlemud.org/cdp/wtfaq/
|
http://www.circlemud.org/cdp/wtfaq/
|
||||||
|
http://developer.circlemud.org/contrib/
|
||||||
|
|
||||||
You should join the following forums and mailing lists. Learn how to search
|
You should join the following forums and mailing lists. Learn how to search
|
||||||
them for any problems you have:
|
them for any problems you have:
|
||||||
|
|
||||||
|
http://tbamud.com/
|
||||||
http://cwg.lazuras.org/
|
http://cwg.lazuras.org/
|
||||||
http://groups.yahoo.com/group/circle-newbies/
|
http://groups.yahoo.com/group/circle-newbies/
|
||||||
http://post.queensu.ca/cgi-bin/listserv/wa?SUBED1=circle&A=1
|
http://post.queensu.ca/cgi-bin/listserv/wa?SUBED1=circle&A=1
|
||||||
http://groups.yahoo.com/group/dg_scripts/
|
|
||||||
http://clubs.yahoo.com/clubs/areaswap
|
|
||||||
http://clubs.yahoo.com/clubs/buildersclub
|
|
||||||
http://clubs.yahoo.com/clubs/warlocksrealm
|
|
||||||
http://clubs.yahoo.com/clubs/codersclub
|
|
||||||
http://mudconnector.com/
|
http://mudconnector.com/
|
||||||
|
|
||||||
Other stuff:
|
Other stuff:
|
||||||
|
|
@ -1742,7 +1768,7 @@ Be original, finish what you start, have fun, and don't forget to breathe!
|
||||||
#31
|
#31
|
||||||
CALENDAR CALENDER MONTHS WEEKS DAYS HOURS
|
CALENDAR CALENDER MONTHS WEEKS DAYS HOURS
|
||||||
|
|
||||||
The tbaMUD calendar consists of 75 seconds per minute, 35 days a month and
|
The tbaMUD calendar consists of 75 seconds per hour, 35 days a month and
|
||||||
17 months a year.
|
17 months a year.
|
||||||
|
|
||||||
Days of the week:
|
Days of the week:
|
||||||
|
|
@ -2403,7 +2429,7 @@ TIME TICKS
|
||||||
Usage: time
|
Usage: time
|
||||||
|
|
||||||
Gives you the current game time. tbaMUD uses zulu time 0-24 hours. There are
|
Gives you the current game time. tbaMUD uses zulu time 0-24 hours. There are
|
||||||
75 seconds per minute, 35 days per month, and 17 months per year. 1 MUD year
|
75 seconds per hour, 35 days per month, and 17 months per year. 1 MUD year
|
||||||
takes about 12 days.
|
takes about 12 days.
|
||||||
|
|
||||||
/** Number of real life seconds per mud hour.
|
/** Number of real life seconds per mud hour.
|
||||||
|
|
@ -2640,7 +2666,9 @@ Usage: uptime
|
||||||
|
|
||||||
Displays when the game was booted and calculates how long ago that was.
|
Displays when the game was booted and calculates how long ago that was.
|
||||||
|
|
||||||
Record uptime: 39 days in 2006 (Rumble was on deployment)
|
Record uptime:
|
||||||
|
|
||||||
|
Up since Thu Nov 6 16:09:55 2008: 47 days, 9:28
|
||||||
|
|
||||||
#31
|
#31
|
||||||
USERS STATUS
|
USERS STATUS
|
||||||
|
|
@ -4133,6 +4161,8 @@ pos() - %actor.pos% returns position. Subfield modifies. Sleeping,
|
||||||
resting, sitting, fighting, standing. @RTSTAT 1399, 20997@n
|
resting, sitting, fighting, standing. @RTSTAT 1399, 20997@n
|
||||||
prac() - The actor's number of practices. Subfield adjusts.
|
prac() - The actor's number of practices. Subfield adjusts.
|
||||||
pref() - Checks if actor has PRF flag enabled. @RTSTAT 1210@n
|
pref() - Checks if actor has PRF flag enabled. @RTSTAT 1210@n
|
||||||
|
quest - Returns the current quest (or 0 if there's no current quest).
|
||||||
|
questdone(#) - Returns TRUE (1) if the quest vnum (#) has been completed.
|
||||||
questpoints() - Checks the actor's questpoints. Subfield modifies. @RHELP NOP@n
|
questpoints() - Checks the actor's questpoints. Subfield modifies. @RHELP NOP@n
|
||||||
room - The room the actor is in as a room variable.
|
room - The room the actor is in as a room variable.
|
||||||
saving_para() - The actors saving throw for paralization. Subfield adjusts.
|
saving_para() - The actors saving throw for paralization. Subfield adjusts.
|
||||||
|
|
@ -4384,7 +4414,7 @@ TRIGEDIT-ROOM-GLOBAL TRIG-ROOM-GLOBAL
|
||||||
|
|
||||||
Not a trigger type by itself; used in conjunction with Random @RHELP
|
Not a trigger type by itself; used in conjunction with Random @RHELP
|
||||||
TRIGEDIT-ROOM-RANDOM@n and @RHELP TRIGEDIT-ROOM-TIME@n. While Random
|
TRIGEDIT-ROOM-RANDOM@n and @RHELP TRIGEDIT-ROOM-TIME@n. While Random
|
||||||
and Time only trigger if players are in the same room, Global Random
|
and Time only trigger if players are in the same zone, Global Random
|
||||||
and Global Time will trigger regardless.
|
and Global Time will trigger regardless.
|
||||||
|
|
||||||
Numeric Arg : not used.
|
Numeric Arg : not used.
|
||||||
|
|
@ -4739,7 +4769,8 @@ Activated any time an object is given to the mobile.
|
||||||
Numeric Arg : percent chance this trigger will be activated.
|
Numeric Arg : percent chance this trigger will be activated.
|
||||||
Argument : not used.
|
Argument : not used.
|
||||||
|
|
||||||
With a return 0 the object is not transferred to the mobile.
|
With a return 0 the object is not transferred to the mobile. This will not work
|
||||||
|
if a wait is before the return 0.
|
||||||
|
|
||||||
Variables:
|
Variables:
|
||||||
%actor% - the character handing the object to the mobile.
|
%actor% - the character handing the object to the mobile.
|
||||||
|
|
@ -5122,7 +5153,7 @@ TRIGEDIT-MOB-GLOBAL TRIG-MOB-GLOBAL
|
||||||
|
|
||||||
Not a trigger type by itself; used in conjunction with Random @RHELP
|
Not a trigger type by itself; used in conjunction with Random @RHELP
|
||||||
TRIGEDIT-MOB-RANDOM@n. While Random triggers only trigger if players
|
TRIGEDIT-MOB-RANDOM@n. While Random triggers only trigger if players
|
||||||
are in the same room, Global Random triggers will trigger regardless.
|
are in the same zone, Global Random triggers will trigger regardless.
|
||||||
|
|
||||||
Numeric Arg : not used.
|
Numeric Arg : not used.
|
||||||
Argument : not used.
|
Argument : not used.
|
||||||
|
|
@ -5544,7 +5575,7 @@ Smokables: @RTSTAT 159@n
|
||||||
Furniture: @RTSTAT 1399@n
|
Furniture: @RTSTAT 1399@n
|
||||||
Weapons: @RTSTAT 1361, 9000, 11840, 13005@n
|
Weapons: @RTSTAT 1361, 9000, 11840, 13005@n
|
||||||
|
|
||||||
See Also: @RTRIG-QUESTS@n
|
See Also: TRIG-QUESTS
|
||||||
#31
|
#31
|
||||||
DG_AFFECTS DGAFFECT SCRIPT-AFFLICTED AFFLICTED DG-AFFECTS DG-AFFECTS %DG_AFFECT% DG-EFFECT DG_EFFECT DURATIONS TRIG-AFFECTS
|
DG_AFFECTS DGAFFECT SCRIPT-AFFLICTED AFFLICTED DG-AFFECTS DG-AFFECTS %DG_AFFECT% DG-EFFECT DG_EFFECT DURATIONS TRIG-AFFECTS
|
||||||
|
|
||||||
|
|
@ -5667,7 +5698,7 @@ was on line 5 you can type /e5 <line with teh spelled correctly> or /d5. Learn
|
||||||
all these options.
|
all these options.
|
||||||
|
|
||||||
Warning: Some clients will give you problems since they use special characters
|
Warning: Some clients will give you problems since they use special characters
|
||||||
like the / character (Avplay, Mush, and SimpleMU).
|
like the / character (MUDMaster 2k, Avplay, Mush, and SimpleMU).
|
||||||
|
|
||||||
#31
|
#31
|
||||||
TRIGEDIT TRIGS TRIGEDITOR TRIGGEREDIT TRIGGER-EDIT TRIGGERS DG-SCRIPTS TRIG-HELP SCRIPTS MOBPROGS MPROGS PROGS SCRIPTING TRIGMENU
|
TRIGEDIT TRIGS TRIGEDITOR TRIGGEREDIT TRIGGER-EDIT TRIGGERS DG-SCRIPTS TRIG-HELP SCRIPTS MOBPROGS MPROGS PROGS SCRIPTING TRIGMENU
|
||||||
|
|
@ -5918,7 +5949,7 @@ XLIST %LIST%
|
||||||
By Xlist I meant to for you to replace the X with the type of list you want
|
By Xlist I meant to for you to replace the X with the type of list you want
|
||||||
to see. i.e. olist, mlist, rlist, zlist, slist, or qlist.
|
to see. i.e. olist, mlist, rlist, zlist, slist, or qlist.
|
||||||
|
|
||||||
See also: OLIST, MLIST, RLIST, ZLIST, SLIST
|
See also: OLIST, MLIST, RLIST, TLIST, ZLIST, SLIST, QLIST
|
||||||
#31
|
#31
|
||||||
TLIST TRIGLIST TRIG-LIST TRIGEDIT-LIST TRIGGERLIST TRIGGER-LIST
|
TLIST TRIGLIST TRIG-LIST TRIGEDIT-LIST TRIGGERLIST TRIGGER-LIST
|
||||||
|
|
||||||
|
|
@ -6035,7 +6066,7 @@ number.
|
||||||
|
|
||||||
See also: SEDIT-MENU, SLIST, OLC
|
See also: SEDIT-MENU, SLIST, OLC
|
||||||
#31
|
#31
|
||||||
ZEDIT ZEDIT-CREATE ZCREATE
|
ZEDIT
|
||||||
|
|
||||||
Usage: zedit [room vnum]
|
Usage: zedit [room vnum]
|
||||||
zedit new <new zone number> <bottom of zone> <top of zone> (Implementors only!)
|
zedit new <new zone number> <bottom of zone> <top of zone> (Implementors only!)
|
||||||
|
|
@ -6048,7 +6079,7 @@ If no room number is specified, the current room is used as target.
|
||||||
|
|
||||||
@RGOTO 11@n to enter The Builder Academy hallway on how to use zedit.
|
@RGOTO 11@n to enter The Builder Academy hallway on how to use zedit.
|
||||||
|
|
||||||
See also: ZEDIT-MENU, OLC, SHOW-ZONES
|
See also: ZEDIT-MENU, ZEDIT-NEW, OLC, SHOW-ZONES
|
||||||
#31
|
#31
|
||||||
BUILDWALKING BUILD-WALKING DIGWALK WALKDIG
|
BUILDWALKING BUILD-WALKING DIGWALK WALKDIG
|
||||||
|
|
||||||
|
|
@ -6510,8 +6541,10 @@ SEDIT-OPEN1 SEDIT-OPEN2 SEDIT-CLOSE1 SEDIT-CLOSE2 SEDIT-OPENS
|
||||||
3) Open 2 : @c0 @n4) Close 2 : @c0@n
|
3) Open 2 : @c0 @n4) Close 2 : @c0@n
|
||||||
The times (in MUD-hours) between which the shop is open. Two sets of
|
The times (in MUD-hours) between which the shop is open. Two sets of
|
||||||
Open/Close pairs are allowed so that the shop can be open twice a day (for
|
Open/Close pairs are allowed so that the shop can be open twice a day (for
|
||||||
example, once in the morning and once at night). There are 28 hours in a
|
example, once in the morning and once at night). There are 24 hours in a
|
||||||
MUD day.
|
MUD day so setting closed to >24 will ensure the shop is always open. If you
|
||||||
|
want the shopkeeper to only be open during normal working hours you can set
|
||||||
|
open1 to 9 and close1 to 5.
|
||||||
|
|
||||||
#31
|
#31
|
||||||
SEDIT-RATES SEDIT-SELL-RATES SEDIT-BUY-RATES SEDIT-PRICE PRICES PRICING SEDIT-SELLRATE SELLRATE SEDIT-MENU-SELLRATE SELL-RATE
|
SEDIT-RATES SEDIT-SELL-RATES SEDIT-BUY-RATES SEDIT-PRICE PRICES PRICING SEDIT-SELLRATE SELLRATE SEDIT-MENU-SELLRATE SELL-RATE
|
||||||
|
|
@ -6731,6 +6764,23 @@ ZEDIT-BUILDERS
|
||||||
|
|
||||||
The name of the builder creating the zone.
|
The name of the builder creating the zone.
|
||||||
|
|
||||||
|
#31
|
||||||
|
ZEDIT-CREATE ZEDIT-CREATION ZONE-CREATE ZONE-CREATION ZCREATE
|
||||||
|
|
||||||
|
Usage: zedit new <new zone number> <bottom of zone> <top of zone>
|
||||||
|
|
||||||
|
Only Implementors can create new zones. Zones can be any size but must
|
||||||
|
consist of consecutive vnums.
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
zedit new 1 100 199 - Creates zone 1 vnums 100 to 199.
|
||||||
|
zedit new 123 12300 12499 - Creates zone 123 vnums 12300 to 12499
|
||||||
|
|
||||||
|
Max zone number is 655. Max vnum is 65534.
|
||||||
|
|
||||||
|
65535 is reserved for corpses.
|
||||||
|
|
||||||
|
See Also: ZEDIT, ZEDIT-NEW
|
||||||
#31
|
#31
|
||||||
ZEDIT-NEW-COMMAND ZEDIT-DOOR MOB-LOAD MOB-INVENTORY ZEDIT-NEWCOMMAND ZEDIT-LOADING ZLOADING ZEDIT-DOORS ZEDIT-REMOVE
|
ZEDIT-NEW-COMMAND ZEDIT-DOOR MOB-LOAD MOB-INVENTORY ZEDIT-NEWCOMMAND ZEDIT-LOADING ZLOADING ZEDIT-DOORS ZEDIT-REMOVE
|
||||||
|
|
||||||
|
|
@ -7736,8 +7786,8 @@ use /fi by typing it into the last line and hitting enter.
|
||||||
3) Goto next description: <NOT SET>
|
3) Goto next description: <NOT SET>
|
||||||
This option will allow you to make as many extra descriptions as you want.
|
This option will allow you to make as many extra descriptions as you want.
|
||||||
|
|
||||||
To delete an extra description all you have to do is leave the keywords
|
To delete an extra description all you have to do is clear the description
|
||||||
or the Description blank and exit.
|
with the "/c" then "/s" and quit.
|
||||||
|
|
||||||
#31
|
#31
|
||||||
REDIT-EXITS DOORFLAGS REDIT-KEYS PICKPROOF REDIT-EXIT-MENU EXIT-BASICS DOOR-FLAGS EXIT-MENU PURGE-EXITS
|
REDIT-EXITS DOORFLAGS REDIT-KEYS PICKPROOF REDIT-EXIT-MENU EXIT-BASICS DOOR-FLAGS EXIT-MENU PURGE-EXITS
|
||||||
|
|
@ -11530,11 +11580,12 @@ actually very stable. I have never heard of one being hacked except via weak or
|
||||||
compromised passwords.
|
compromised passwords.
|
||||||
|
|
||||||
#0
|
#0
|
||||||
DIKU ROM DBX DBZ SMAUG
|
DIKU ROM DBX DBZ SMAUG MUD-HISTORY
|
||||||
|
|
||||||
These are other types of MUD codebases. We only focus on tbaMUD (the codebase
|
These are other types of MUD codebases. We only focus on tbaMUD (the codebase
|
||||||
formerly known as CircleMUD).
|
formerly known as CircleMUD).
|
||||||
|
|
||||||
|
For a full history of MUDs, check out: http://en.wikipedia.org/wiki/Muds
|
||||||
#0
|
#0
|
||||||
HISTORY
|
HISTORY
|
||||||
|
|
||||||
|
|
@ -11544,7 +11595,7 @@ Usage: history < all | say | gossip | wiznet | tell | shout | grats | holler | a
|
||||||
with a time stamp for when it was sent. History all will list the history of
|
with a time stamp for when it was sent. History all will list the history of
|
||||||
all channels.
|
all channels.
|
||||||
|
|
||||||
See also: CHANNELS
|
See also: CHANNELS, MUD-HISTORY
|
||||||
#0
|
#0
|
||||||
COLORCODES COLOURCODES COLOR-CODES COLOUR-CODES COLORS COLOURS PCOLORS COLORCODING
|
COLORCODES COLOURCODES COLOR-CODES COLOUR-CODES COLORS COLOURS PCOLORS COLORCODING
|
||||||
|
|
||||||
|
|
@ -12487,6 +12538,7 @@ Fyre: i'll keep that in mind for the future
|
||||||
|
|
||||||
Fizban gossips, 'And remember being told what a pretty little girl I was'
|
Fizban gossips, 'And remember being told what a pretty little girl I was'
|
||||||
Fizban: You kno what? I just decided I want to be a waitress at Fultons :P
|
Fizban: You kno what? I just decided I want to be a waitress at Fultons :P
|
||||||
|
Fizban gossips, 'Though I've had dreams with Detta in them ;) But those were uhh...different....'
|
||||||
|
|
||||||
Masok: Anyone else think that maybe we should randomly carpet bomb overly populated areas of poor or useless people?
|
Masok: Anyone else think that maybe we should randomly carpet bomb overly populated areas of poor or useless people?
|
||||||
Masok: You cant. I have metal underwear.
|
Masok: You cant. I have metal underwear.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
(lib/text/news)
|
(lib/text/news)
|
||||||
THE 2008 tbaMUD HERALD
|
THE 2009 tbaMUD HERALD
|
||||||
"We addict players for their own enjoyment."
|
"We addict players for their own enjoyment."
|
||||||
|
|
||||||
NEW COMMANDS AND NEW MUD BEHAVIOR:
|
NEW COMMANDS AND NEW MUD BEHAVIOR:
|
||||||
|
|
|
||||||
|
|
@ -397,8 +397,8 @@ The variable questmaster is waiting to set you.
|
||||||
or not you have done his quest. This way you can only do this quest once.
|
or not you have done his quest. This way you can only do this quest once.
|
||||||
~
|
~
|
||||||
253962 0 0 0 0 0 0 0 0 E
|
253962 0 0 0 0 0 0 0 0 E
|
||||||
0 20 10 1d1+0 1d1+0
|
1 20 9 0d0+10 1d2+0
|
||||||
0 0
|
10 100
|
||||||
8 8 1
|
8 8 1
|
||||||
E
|
E
|
||||||
T 192
|
T 192
|
||||||
|
|
|
||||||
|
|
@ -15,4 +15,18 @@ concoct many different potions and is most famous for her liquid fire.
|
||||||
E
|
E
|
||||||
T 300
|
T 300
|
||||||
T 335
|
T 335
|
||||||
|
#301
|
||||||
|
naked magi~
|
||||||
|
the naked magi~
|
||||||
|
A magi sits against a wall wearing nothing but a towel.
|
||||||
|
~
|
||||||
|
Sweat gleams on her supple skin. Her black hair is wet and frames a round
|
||||||
|
face with slanted blue eyes. She is striking in her beauty and grace.
|
||||||
|
~
|
||||||
|
10 0 0 0 2112 0 0 0 0 E
|
||||||
|
0 20 10 1d1+0 1d1+0
|
||||||
|
0 0
|
||||||
|
8 8 2
|
||||||
|
E
|
||||||
|
T 305
|
||||||
$
|
$
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,3 @@
|
||||||
#0
|
|
||||||
bug~
|
|
||||||
a bug~
|
|
||||||
This object is BAD! If you see it, there must be a bug in the game. Please
|
|
||||||
report it immediately using the BUG command.~
|
|
||||||
~
|
|
||||||
13 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
0 0 0 0
|
|
||||||
0 0 0 0
|
|
||||||
#1
|
#1
|
||||||
wings~
|
wings~
|
||||||
a pair of wings~
|
a pair of wings~
|
||||||
|
|
@ -40,10 +31,6 @@ The email listing of the gods is pinned against the wall.~
|
||||||
0 0 0 0
|
0 0 0 0
|
||||||
1 1 0 30
|
1 1 0 30
|
||||||
E
|
E
|
||||||
emails listing~
|
|
||||||
HELP CONTACT
|
|
||||||
~
|
|
||||||
E
|
|
||||||
wizlist~
|
wizlist~
|
||||||
Implementors
|
Implementors
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
@ -60,6 +47,10 @@ wizlist~
|
||||||
Santa Shamra Shimmer Silvanos Smaug Snowlock Talgard Taylor
|
Santa Shamra Shimmer Silvanos Smaug Snowlock Talgard Taylor
|
||||||
Theophilus Tocamat Torpidai Treestump Tuskony Zizazat
|
Theophilus Tocamat Torpidai Treestump Tuskony Zizazat
|
||||||
~
|
~
|
||||||
|
E
|
||||||
|
emails listing~
|
||||||
|
HELP CONTACT
|
||||||
|
~
|
||||||
#5
|
#5
|
||||||
foraged berries~
|
foraged berries~
|
||||||
some foraged berries~
|
some foraged berries~
|
||||||
|
|
|
||||||
|
|
@ -1064,8 +1064,8 @@ visible.
|
||||||
0 0 0 0
|
0 0 0 0
|
||||||
0 0 0 0
|
0 0 0 0
|
||||||
E
|
E
|
||||||
june~
|
september~
|
||||||
. .:IIIIHIHHIHHHII::I:.
|
. .:IIIIHIHHIHHHII::I:.
|
||||||
:IIIIHIHHHHHHMMHHIHHIIHHIII:.
|
:IIIIHIHHHHHHMMHHIHHIIHHIII:.
|
||||||
,.:HIHHHHHHHHHHHHHHHHHHHHHIHIHHII:.
|
,.:HIHHHHHHHHHHHHHHHHHHHHHIHIHHII:.
|
||||||
.:IIHHHHHHHHMMMMMHHHHMMMHHMHHHIIIHIIII:
|
.:IIHHHHHHHHMMMMMHHHHMMMHHMHHHIIIHIIII:
|
||||||
|
|
@ -1122,21 +1122,9 @@ IHHHHMHMMMMMMMHHHHHI:IT:TI:..:HI:.. ..:. . :IHII
|
||||||
::.:............. .. . ...AHIHIIIIIHHHI::""' 'VII:.. .. .
|
::.:............. .. . ...AHIHIIIIIHHHI::""' 'VII:.. .. .
|
||||||
::.:.:.......... .. . ...HHHIIIIIIHHHI::. . 'VII::. . . ,
|
::.:.:.......... .. . ...HHHIIIIIIHHHI::. . 'VII::. . . ,
|
||||||
':::.:.:..... .. . . . ..:MHHIHIIIII:I::. . 'VII:::. .. .
|
':::.:.:..... .. . . . ..:MHHIHIIIII:I::. . 'VII:::. .. .
|
||||||
:::::.:..:.... . . . ...AHHHHIHIIII:::. . 'VII:::. . . :.
|
|
||||||
:::::::.:..... .. . ....MHHHHHIHIII::.:.. . 'VII::. . ::
|
|
||||||
:::::::::.:.... .. ....:MHHHHIHII:I::::... . 'VI::. . ::I)
|
|
||||||
'::::::::::.:... .. ...:MHHHHIHIIII::::.. . 'VI:. ...:V
|
|
||||||
.:::::::::::.:.... . .AMMHHIHIII:I::::... . . I::. ...:-"
|
|
||||||
:.::I::::::::.:. . ..MMMHHIHIIII:I:::... . . .::. ,..-"
|
|
||||||
:..:II:I:::::.:.. . ..MMMHHIHIIIIIII:I::.... . . ..::""'
|
|
||||||
.::.:III:I::::::.:.. ..MMMMIVHIHIIIII:I::::.... . .....:,
|
|
||||||
.:.::..:III:I:::::.:... .MMHMAIVHHIHIIIII:I::::.. . ..::..:,
|
|
||||||
. .:::.::III:I::::.:... .VMMHMAIVHHHIHIIII:I::::.. ..:...:::
|
|
||||||
. :::I.:::III:I:::.::.. .:MMHHMAIVHHIHIIIII:I::::....:::.::::
|
|
||||||
.::IIH.:::III:I::::.:.. .MMHMHMAIVHHHIHIIIIII:I
|
|
||||||
~
|
~
|
||||||
E
|
E
|
||||||
april~
|
august~
|
||||||
. nHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHn.
|
. nHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHn.
|
||||||
.MS?MMMMMMMMMMMMMMMMMM?MM-MMMMMMMMMSHMMMMMMM
|
.MS?MMMMMMMMMMMMMMMMMM?MM-MMMMMMMMMSHMMMMMMM
|
||||||
MMMMMH?MMMMMMMX*MM?MMX%MM/MMMMMM"HMMMMMMMMMMMM
|
MMMMMH?MMMMMMMX*MM?MMX%MM/MMMMMM"HMMMMMMMMMMMM
|
||||||
|
|
@ -1189,7 +1177,7 @@ april~
|
||||||
%% % %%%%%%
|
%% % %%%%%%
|
||||||
~
|
~
|
||||||
E
|
E
|
||||||
March~
|
july~
|
||||||
. ,.--..
|
. ,.--..
|
||||||
,::.'.. . . "VI:I:".':-.,.
|
,::.'.. . . "VI:I:".':-.,.
|
||||||
,I::. .. . 'VHMHII:.::;:.:,..
|
,I::. .. . 'VHMHII:.::;:.:,..
|
||||||
|
|
@ -1255,6 +1243,183 @@ March~
|
||||||
':::.:... ..I::I::.:....:. .: .. ...::. . . III:II:. '
|
':::.:... ..I::I::.:....:. .: .. ...::. . . III:II:. '
|
||||||
~
|
~
|
||||||
E
|
E
|
||||||
|
june~
|
||||||
|
. :AMMMMMMMMMMMMA:
|
||||||
|
:AMMMMMMMMMHHHHHMMMMMMMMA:
|
||||||
|
:AMHMMMMHHMHIHHIMMMHMMMMHHA:
|
||||||
|
:AM'MMMMMMHHIHHHIMMMMMIMMHHHH:
|
||||||
|
AM:IMMMMMHHIHIHHHIMMHHHHHHHHHH
|
||||||
|
AMIIHMMMMMHIHHHIHHIHHHHHHHHHHHH:
|
||||||
|
MMIHHMMMMMHHIHHHIHHHHHHHHHHHHHHH
|
||||||
|
AMMMMMHHHHHHI;;;;;;;IHHHI;;IHHHHH
|
||||||
|
MMMMHIIII;":AMMMMA ,[[, HH
|
||||||
|
MMMMHII; AW"'''' :: HH
|
||||||
|
IHHIHIII;:'' ,GFMF[ [MM[: IH
|
||||||
|
AHHIHII;::': ";[P,[ ;; :::: IH
|
||||||
|
IHHHIHII;;:: :[;: ;H
|
||||||
|
AHHHHHII;;;:: : : [ : ;H
|
||||||
|
IHHIIHI:[;;;:: ; ; ; , , IH
|
||||||
|
IHHIIHH:[;;;: ; ;: ':"::" '; IH
|
||||||
|
IHHIIHI:[;;: ::: ; ,,,, ' HH
|
||||||
|
:IHHHIHHMMA;::: [;;""""""[; AMI
|
||||||
|
;IHHHHIIHMM;: : : ;;[,,,,[; HHI
|
||||||
|
IIHHMMHHIHHM;:: '"""' AMHI
|
||||||
|
IIHHMMHMHHIIIM;:: AMMHI
|
||||||
|
IHHHMMHMHMHHHIHI;:: :AMMMHI
|
||||||
|
IHHHMMMMHMMHHHII;;;;:: :,;; MMMHHI
|
||||||
|
IHHHMMHHHHMMHHHI;:";;;;;;" MMMIH'
|
||||||
|
;IHHMMHMMMMHF"HHII MMMHH
|
||||||
|
IHHMMHV;;:: HHII;: : MMHHI
|
||||||
|
IHHMV;;::: HHII;: : : MMHI;
|
||||||
|
IHMV;;:: : "HII;: :: MMI;
|
||||||
|
:IHV;:: : 'HI: :: MM;
|
||||||
|
IV;:: : : "II;: ;
|
||||||
|
IH;;::: : ;;;I: ;
|
||||||
|
;M;;:::: : ';;;HI: '
|
||||||
|
MH;;:::: : ';;HI: ;
|
||||||
|
IM;;;::: : :[; ';I"I: ;
|
||||||
|
M;;;::: : : [;;,: ' : '
|
||||||
|
;;:::: : ::'' : ':
|
||||||
|
;;::: : : ': :
|
||||||
|
:;;:: : :: ':'
|
||||||
|
;;:: : : : '':
|
||||||
|
;;:: : : :;,:
|
||||||
|
;;:: : :: ;[[[,:
|
||||||
|
:;;:: : : ;;[[[;':
|
||||||
|
;;:: : : [:: : : ;[[[[;;[,
|
||||||
|
;:: : [;;;: : :, [[[[['[[;
|
||||||
|
;:: : :M;;: : :,[ [[[[ [['
|
||||||
|
;: : "[:: : ::[ ;[' ;[
|
||||||
|
;: : "[: : ::[ :' :'
|
||||||
|
:: :: : ", :::;[ :' :;
|
||||||
|
: :: ': : :::;[ ::' :;
|
||||||
|
:: ; : : ::::;[:,,::;;I' ;;
|
||||||
|
;;:;: : : : :::::::: '""' I[[;"'
|
||||||
|
;;;:: : : '::::' ;
|
||||||
|
;;;:: : : : ;
|
||||||
|
';;;;::: : : ': ;
|
||||||
|
';;:::: : :
|
||||||
|
M;:::: : ':
|
||||||
|
MMMI;:::: : ;
|
||||||
|
MMMMMA;::: :
|
||||||
|
AHHMMMMHA;:::: : ;
|
||||||
|
:MHHMMMMMMMA;: ' :
|
||||||
|
AHHHMMM;"TTTTL: : ;
|
||||||
|
AHHHHHHMMLLLLLH ': :
|
||||||
|
:MHHH:::;HHMMMMMA: : ;
|
||||||
|
:AHHH:::HH;;;;;MMM;: :
|
||||||
|
:MHH;: ;;;;;MMM:: : : ;
|
||||||
|
:MH;: : ';;;;MMM:: ': ':
|
||||||
|
,H;: ';;;MMM::: :':' ;
|
||||||
|
,;: : : : ;;;Y;H:: :
|
||||||
|
,;: : : : ';;;:; : : ; ;
|
||||||
|
[;:: : ;;:; ; ; ;
|
||||||
|
~
|
||||||
|
E
|
||||||
|
may~
|
||||||
|
. 8888 8888888
|
||||||
|
888888888888888888888888
|
||||||
|
8888:::8888888888888888888888888
|
||||||
|
8888::::::8888888888888888888888888888
|
||||||
|
88::::::::888:::8888888888888888888888888
|
||||||
|
88888888::::8:::::::::::88888888888888888888
|
||||||
|
888 8::888888::::::::::::::::::88888888888 888
|
||||||
|
88::::88888888::::m::::::::::88888888888 8
|
||||||
|
888888888888888888:M:::::::::::8888888888888
|
||||||
|
88888888888888888888::::::::::::M88888888888888
|
||||||
|
8888888888888888888888:::::::::M8888888888888888
|
||||||
|
8888888888888888888888:::::::M888888888888888888
|
||||||
|
8888888888888888::88888::::::M88888888888888888888
|
||||||
|
88888888888888888:::88888:::::M888888888888888 8888
|
||||||
|
88888888888888888:::88888::::M::;o*M*o;888888888 88
|
||||||
|
88888888888888888:::8888:::::M:::::::::::88888888 8
|
||||||
|
88888888888888888::::88::::::M:;:::::::::::888888888
|
||||||
|
8888888888888888888:::8::::::M::aAa::::::::M8888888888 8
|
||||||
|
88 8888888888::88::::8::::M:::::::::::::888888888888888 8888
|
||||||
|
88 88888888888:::8:::::::::M::::::::::;::88:88888888888888888
|
||||||
|
8 8888888888888:::::::::::M::"@@@@@@@"::::8w8888888888888888
|
||||||
|
88888888888:888::::::::::M:::::"@a@":::::M8i888888888888888
|
||||||
|
8888888888::::88:::::::::M88:::::::::::::M88z88888888888888888
|
||||||
|
8888888888:::::8:::::::::M88888:::::::::MM888!888888888888888888
|
||||||
|
888888888:::::8:::::::::M8888888MAmmmAMVMM888*88888888 88888888
|
||||||
|
888888 M:::::::::::::::M888888888:::::::MM88888888888888 8888888
|
||||||
|
8888 M::::::::::::::M88888888888::::::MM888888888888888 88888
|
||||||
|
888 M:::::::::::::M8888888888888M:::::mM888888888888888 8888
|
||||||
|
888 M::::::::::::M8888:888888888888::::m::Mm88888 888888 8888
|
||||||
|
88 M::::::::::::8888:88888888888888888::::::Mm8 88888 888
|
||||||
|
88 M::::::::::8888M::88888::888888888888:::::::Mm88888 88
|
||||||
|
8 MM::::::::8888M:::8888:::::888888888888::::::::Mm8 4
|
||||||
|
8M:::::::8888M:::::888:::::::88:::8888888::::::::Mm 2
|
||||||
|
88MM:::::8888M:::::::88::::::::8:::::888888:::M:::::M
|
||||||
|
8888M:::::888MM::::::::8:::::::::::M::::8888::::M::::M
|
||||||
|
88888M:::::88:M::::::::::8:::::::::::M:::8888::::::M::M
|
||||||
|
88 888MM:::888:M:::::::::::::::::::::::M:8888:::::::::M:
|
||||||
|
8 88888M:::88::M:::::::::::::::::::::::MM:88::::::::::::M
|
||||||
|
88888M:::88::M::::::::::*88*::::::::::M:88::::::::::::::M
|
||||||
|
888888M:::88::M:::::::::88@@88:::::::::M::88::::::::::::::M
|
||||||
|
888888MM::88::MM::::::::88@@88:::::::::M:::8::::::::::::::*8
|
||||||
|
88888 M:::8::MM:::::::::*88*::::::::::M:::::::::::::::::88@@
|
||||||
|
8888 MM::::::MM:::::::::::::::::::::MM:::::::::::::::::88@@
|
||||||
|
888 M:::::::MM:::::::::::::::::::MM::M::::::::::::::::*8
|
||||||
|
888 MM:::::::MMM::::::::::::::::MM:::MM:::::::::::::::M
|
||||||
|
88 M::::::::MMMM:::::::::::MMMM:::::MM::::::::::::MM
|
||||||
|
88 MM:::::::::MMMMMMMMMMMMMMM::::::::MMM::::::::MMM
|
||||||
|
88 MM::::::::::::MMMMMMM::::::::::::::MMMMMMMMMM
|
||||||
|
88 8MM::::::::::::::::::::::::::::::::::MMMMMM
|
||||||
|
~
|
||||||
|
E
|
||||||
|
January~
|
||||||
|
. 8888 8888888
|
||||||
|
888888888888888888888888
|
||||||
|
8888:::8888888888888888888888888
|
||||||
|
8888::::::8888888888888888888888888888
|
||||||
|
88::::::::888:::8888888888888888888888888
|
||||||
|
88888888::::8:::::::::::88888888888888888888
|
||||||
|
888 8::888888::::::::::::::::::88888888888 888
|
||||||
|
88::::88888888::::m::::::::::88888888888 8
|
||||||
|
888888888888888888:M:::::::::::8888888888888
|
||||||
|
88888888888888888888::::::::::::M88888888888888
|
||||||
|
8888888888888888888888:::::::::M8888888888888888
|
||||||
|
8888888888888888888888:::::::M888888888888888888
|
||||||
|
8888888888888888::88888::::::M88888888888888888888
|
||||||
|
88888888888888888:::88888:::::M888888888888888 8888
|
||||||
|
88888888888888888:::88888::::M::;o*M*o;888888888 88
|
||||||
|
88888888888888888:::8888:::::M:::::::::::88888888 8
|
||||||
|
88888888888888888::::88::::::M:;:::::::::::888888888
|
||||||
|
8888888888888888888:::8::::::M::aAa::::::::M8888888888 8
|
||||||
|
88 8888888888::88::::8::::M:::::::::::::888888888888888 8888
|
||||||
|
88 88888888888:::8:::::::::M::::::::::;::88:88888888888888888
|
||||||
|
8 8888888888888:::::::::::M::"@@@::::8w8888888888888888
|
||||||
|
88888888888:888::::::::::M:::::":::::M8i888888888888888
|
||||||
|
8888888888::::88:::::::::M88:::::::::::::M88z88888888888888888
|
||||||
|
8888888888:::::8:::::::::M88888:::::::::MM888!888888888888888888
|
||||||
|
888888888:::::8:::::::::M8888888MAmmmAMVMM888*88888888 88888888
|
||||||
|
888888 M:::::::::::::::M888888888:::::::MM88888888888888 8888888
|
||||||
|
8888 M::::::::::::::M88888888888::::::MM888888888888888 88888
|
||||||
|
888 M:::::::::::::M8888888888888M:::::mM888888888888888 8888
|
||||||
|
888 M::::::::::::M8888:888888888888::::m::Mm88888 888888 8888
|
||||||
|
88 M::::::::::::8888:88888888888888888::::::Mm8 88888 888
|
||||||
|
88 M::::::::::8888M::88888::888888888888:::::::Mm88888 88
|
||||||
|
8 MM::::::::8888M:::8888:::::888888888888::::::::Mm8 4
|
||||||
|
8M:::::::8888M:::::888:::::::88:::8888888::::::::Mm 2
|
||||||
|
88MM:::::8888M:::::::88::::::::8:::::888888:::M:::::M
|
||||||
|
8888M:::::888MM::::::::8:::::::::::M::::8888::::M::::M
|
||||||
|
88888M:::::88:M::::::::::8:::::::::::M:::8888::::::M::M
|
||||||
|
88 888MM:::888:M:::::::::::::::::::::::M:8888:::::::::M:
|
||||||
|
8 88888M:::88::M:::::::::::::::::::::::MM:88::::::::::::M
|
||||||
|
88888M:::88::M::::::::::*88*::::::::::M:88::::::::::::::M
|
||||||
|
888888M:::88::M:::::::::88@8:::::::::M::88::::::::::::::M
|
||||||
|
888888MM::88::MM::::::::88@8:::::::::M:::8::::::::::::::*8
|
||||||
|
88888 M:::8::MM:::::::::*88*::::::::::M:::::::::::::::::88@
|
||||||
|
8888 MM::::::MM:::::::::::::::::::::MM:::::::::::::::::88@
|
||||||
|
888 M:::::::MM:::::::::::::::::::MM::M::::::::::::::::*8
|
||||||
|
888 MM:::::::MMM::::::::::::::::MM:::MM:::::::::::::::M
|
||||||
|
88 M::::::::MMMM:::::::::::MMMM:::::MM::::::::::::MM
|
||||||
|
88 MM:::::::::MMMMMMMMMMMMMMM::::::::MMM::::::::MMM
|
||||||
|
88 MM::::::::::::MMMMMMM::::::::::::::MMMMMMMMMM
|
||||||
|
88 8MM::::::::::::::::::::::::::::::::::MMMMMM
|
||||||
|
~
|
||||||
|
E
|
||||||
february~
|
february~
|
||||||
. :AMMMMMMMMMMMMA:
|
. :AMMMMMMMMMMMMA:
|
||||||
:AMMMMMMMMMHHHHHMMMMMMMMA:
|
:AMMMMMMMMMHHHHHMMMMMMMMA:
|
||||||
|
|
@ -1328,184 +1493,7 @@ february~
|
||||||
[;:: : ;;:; ; ; ;
|
[;:: : ;;:; ; ; ;
|
||||||
~
|
~
|
||||||
E
|
E
|
||||||
January~
|
March~
|
||||||
. 8888 8888888
|
|
||||||
888888888888888888888888
|
|
||||||
8888:::8888888888888888888888888
|
|
||||||
8888::::::8888888888888888888888888888
|
|
||||||
88::::::::888:::8888888888888888888888888
|
|
||||||
88888888::::8:::::::::::88888888888888888888
|
|
||||||
888 8::888888::::::::::::::::::88888888888 888
|
|
||||||
88::::88888888::::m::::::::::88888888888 8
|
|
||||||
888888888888888888:M:::::::::::8888888888888
|
|
||||||
88888888888888888888::::::::::::M88888888888888
|
|
||||||
8888888888888888888888:::::::::M8888888888888888
|
|
||||||
8888888888888888888888:::::::M888888888888888888
|
|
||||||
8888888888888888::88888::::::M88888888888888888888
|
|
||||||
88888888888888888:::88888:::::M888888888888888 8888
|
|
||||||
88888888888888888:::88888::::M::;o*M*o;888888888 88
|
|
||||||
88888888888888888:::8888:::::M:::::::::::88888888 8
|
|
||||||
88888888888888888::::88::::::M:;:::::::::::888888888
|
|
||||||
8888888888888888888:::8::::::M::aAa::::::::M8888888888 8
|
|
||||||
88 8888888888::88::::8::::M:::::::::::::888888888888888 8888
|
|
||||||
88 88888888888:::8:::::::::M::::::::::;::88:88888888888888888
|
|
||||||
8 8888888888888:::::::::::M::"@@@::::8w8888888888888888
|
|
||||||
88888888888:888::::::::::M:::::":::::M8i888888888888888
|
|
||||||
8888888888::::88:::::::::M88:::::::::::::M88z88888888888888888
|
|
||||||
8888888888:::::8:::::::::M88888:::::::::MM888!888888888888888888
|
|
||||||
888888888:::::8:::::::::M8888888MAmmmAMVMM888*88888888 88888888
|
|
||||||
888888 M:::::::::::::::M888888888:::::::MM88888888888888 8888888
|
|
||||||
8888 M::::::::::::::M88888888888::::::MM888888888888888 88888
|
|
||||||
888 M:::::::::::::M8888888888888M:::::mM888888888888888 8888
|
|
||||||
888 M::::::::::::M8888:888888888888::::m::Mm88888 888888 8888
|
|
||||||
88 M::::::::::::8888:88888888888888888::::::Mm8 88888 888
|
|
||||||
88 M::::::::::8888M::88888::888888888888:::::::Mm88888 88
|
|
||||||
8 MM::::::::8888M:::8888:::::888888888888::::::::Mm8 4
|
|
||||||
8M:::::::8888M:::::888:::::::88:::8888888::::::::Mm 2
|
|
||||||
88MM:::::8888M:::::::88::::::::8:::::888888:::M:::::M
|
|
||||||
8888M:::::888MM::::::::8:::::::::::M::::8888::::M::::M
|
|
||||||
88888M:::::88:M::::::::::8:::::::::::M:::8888::::::M::M
|
|
||||||
88 888MM:::888:M:::::::::::::::::::::::M:8888:::::::::M:
|
|
||||||
8 88888M:::88::M:::::::::::::::::::::::MM:88::::::::::::M
|
|
||||||
88888M:::88::M::::::::::*88*::::::::::M:88::::::::::::::M
|
|
||||||
888888M:::88::M:::::::::88@8:::::::::M::88::::::::::::::M
|
|
||||||
888888MM::88::MM::::::::88@8:::::::::M:::8::::::::::::::*8
|
|
||||||
88888 M:::8::MM:::::::::*88*::::::::::M:::::::::::::::::88@
|
|
||||||
8888 MM::::::MM:::::::::::::::::::::MM:::::::::::::::::88@
|
|
||||||
888 M:::::::MM:::::::::::::::::::MM::M::::::::::::::::*8
|
|
||||||
888 MM:::::::MMM::::::::::::::::MM:::MM:::::::::::::::M
|
|
||||||
88 M::::::::MMMM:::::::::::MMMM:::::MM::::::::::::MM
|
|
||||||
88 MM:::::::::MMMMMMMMMMMMMMM::::::::MMM::::::::MMM
|
|
||||||
88 MM::::::::::::MMMMMMM::::::::::::::MMMMMMMMMM
|
|
||||||
88 8MM::::::::::::::::::::::::::::::::::MMMMMM
|
|
||||||
~
|
|
||||||
E
|
|
||||||
may~
|
|
||||||
. 8888 8888888
|
|
||||||
888888888888888888888888
|
|
||||||
8888:::8888888888888888888888888
|
|
||||||
8888::::::8888888888888888888888888888
|
|
||||||
88::::::::888:::8888888888888888888888888
|
|
||||||
88888888::::8:::::::::::88888888888888888888
|
|
||||||
888 8::888888::::::::::::::::::88888888888 888
|
|
||||||
88::::88888888::::m::::::::::88888888888 8
|
|
||||||
888888888888888888:M:::::::::::8888888888888
|
|
||||||
88888888888888888888::::::::::::M88888888888888
|
|
||||||
8888888888888888888888:::::::::M8888888888888888
|
|
||||||
8888888888888888888888:::::::M888888888888888888
|
|
||||||
8888888888888888::88888::::::M88888888888888888888
|
|
||||||
88888888888888888:::88888:::::M888888888888888 8888
|
|
||||||
88888888888888888:::88888::::M::;o*M*o;888888888 88
|
|
||||||
88888888888888888:::8888:::::M:::::::::::88888888 8
|
|
||||||
88888888888888888::::88::::::M:;:::::::::::888888888
|
|
||||||
8888888888888888888:::8::::::M::aAa::::::::M8888888888 8
|
|
||||||
88 8888888888::88::::8::::M:::::::::::::888888888888888 8888
|
|
||||||
88 88888888888:::8:::::::::M::::::::::;::88:88888888888888888
|
|
||||||
8 8888888888888:::::::::::M::"@@@@@@@"::::8w8888888888888888
|
|
||||||
88888888888:888::::::::::M:::::"@a@":::::M8i888888888888888
|
|
||||||
8888888888::::88:::::::::M88:::::::::::::M88z88888888888888888
|
|
||||||
8888888888:::::8:::::::::M88888:::::::::MM888!888888888888888888
|
|
||||||
888888888:::::8:::::::::M8888888MAmmmAMVMM888*88888888 88888888
|
|
||||||
888888 M:::::::::::::::M888888888:::::::MM88888888888888 8888888
|
|
||||||
8888 M::::::::::::::M88888888888::::::MM888888888888888 88888
|
|
||||||
888 M:::::::::::::M8888888888888M:::::mM888888888888888 8888
|
|
||||||
888 M::::::::::::M8888:888888888888::::m::Mm88888 888888 8888
|
|
||||||
88 M::::::::::::8888:88888888888888888::::::Mm8 88888 888
|
|
||||||
88 M::::::::::8888M::88888::888888888888:::::::Mm88888 88
|
|
||||||
8 MM::::::::8888M:::8888:::::888888888888::::::::Mm8 4
|
|
||||||
8M:::::::8888M:::::888:::::::88:::8888888::::::::Mm 2
|
|
||||||
88MM:::::8888M:::::::88::::::::8:::::888888:::M:::::M
|
|
||||||
8888M:::::888MM::::::::8:::::::::::M::::8888::::M::::M
|
|
||||||
88888M:::::88:M::::::::::8:::::::::::M:::8888::::::M::M
|
|
||||||
88 888MM:::888:M:::::::::::::::::::::::M:8888:::::::::M:
|
|
||||||
8 88888M:::88::M:::::::::::::::::::::::MM:88::::::::::::M
|
|
||||||
88888M:::88::M::::::::::*88*::::::::::M:88::::::::::::::M
|
|
||||||
888888M:::88::M:::::::::88@@88:::::::::M::88::::::::::::::M
|
|
||||||
888888MM::88::MM::::::::88@@88:::::::::M:::8::::::::::::::*8
|
|
||||||
88888 M:::8::MM:::::::::*88*::::::::::M:::::::::::::::::88@@
|
|
||||||
8888 MM::::::MM:::::::::::::::::::::MM:::::::::::::::::88@@
|
|
||||||
888 M:::::::MM:::::::::::::::::::MM::M::::::::::::::::*8
|
|
||||||
888 MM:::::::MMM::::::::::::::::MM:::MM:::::::::::::::M
|
|
||||||
88 M::::::::MMMM:::::::::::MMMM:::::MM::::::::::::MM
|
|
||||||
88 MM:::::::::MMMMMMMMMMMMMMM::::::::MMM::::::::MMM
|
|
||||||
88 MM::::::::::::MMMMMMM::::::::::::::MMMMMMMMMM
|
|
||||||
88 8MM::::::::::::::::::::::::::::::::::MMMMMM
|
|
||||||
~
|
|
||||||
E
|
|
||||||
june~
|
|
||||||
. :AMMMMMMMMMMMMA:
|
|
||||||
:AMMMMMMMMMHHHHHMMMMMMMMA:
|
|
||||||
:AMHMMMMHHMHIHHIMMMHMMMMHHA:
|
|
||||||
:AM'MMMMMMHHIHHHIMMMMMIMMHHHH:
|
|
||||||
AM:IMMMMMHHIHIHHHIMMHHHHHHHHHH
|
|
||||||
AMIIHMMMMMHIHHHIHHIHHHHHHHHHHHH:
|
|
||||||
MMIHHMMMMMHHIHHHIHHHHHHHHHHHHHHH
|
|
||||||
AMMMMMHHHHHHI;;;;;;;IHHHI;;IHHHHH
|
|
||||||
MMMMHIIII;":AMMMMA ,[[, HH
|
|
||||||
MMMMHII; AW"'''' :: HH
|
|
||||||
IHHIHIII;:'' ,GFMF[ [MM[: IH
|
|
||||||
AHHIHII;::': ";[P,[ ;; :::: IH
|
|
||||||
IHHHIHII;;:: :[;: ;H
|
|
||||||
AHHHHHII;;;:: : : [ : ;H
|
|
||||||
IHHIIHI:[;;;:: ; ; ; , , IH
|
|
||||||
IHHIIHH:[;;;: ; ;: ':"::" '; IH
|
|
||||||
IHHIIHI:[;;: ::: ; ,,,, ' HH
|
|
||||||
:IHHHIHHMMA;::: [;;""""""[; AMI
|
|
||||||
;IHHHHIIHMM;: : : ;;[,,,,[; HHI
|
|
||||||
IIHHMMHHIHHM;:: '"""' AMHI
|
|
||||||
IIHHMMHMHHIIIM;:: AMMHI
|
|
||||||
IHHHMMHMHMHHHIHI;:: :AMMMHI
|
|
||||||
IHHHMMMMHMMHHHII;;;;:: :,;; MMMHHI
|
|
||||||
IHHHMMHHHHMMHHHI;:";;;;;;" MMMIH'
|
|
||||||
;IHHMMHMMMMHF"HHII MMMHH
|
|
||||||
IHHMMHV;;:: HHII;: : MMHHI
|
|
||||||
IHHMV;;::: HHII;: : : MMHI;
|
|
||||||
IHMV;;:: : "HII;: :: MMI;
|
|
||||||
:IHV;:: : 'HI: :: MM;
|
|
||||||
IV;:: : : "II;: ;
|
|
||||||
IH;;::: : ;;;I: ;
|
|
||||||
;M;;:::: : ';;;HI: '
|
|
||||||
MH;;:::: : ';;HI: ;
|
|
||||||
IM;;;::: : :[; ';I"I: ;
|
|
||||||
M;;;::: : : [;;,: ' : '
|
|
||||||
;;:::: : ::'' : ':
|
|
||||||
;;::: : : ': :
|
|
||||||
:;;:: : :: ':'
|
|
||||||
;;:: : : : '':
|
|
||||||
;;:: : : :;,:
|
|
||||||
;;:: : :: ;[[[,:
|
|
||||||
:;;:: : : ;;[[[;':
|
|
||||||
;;:: : : [:: : : ;[[[[;;[,
|
|
||||||
;:: : [;;;: : :, [[[[['[[;
|
|
||||||
;:: : :M;;: : :,[ [[[[ [['
|
|
||||||
;: : "[:: : ::[ ;[' ;[
|
|
||||||
;: : "[: : ::[ :' :'
|
|
||||||
:: :: : ", :::;[ :' :;
|
|
||||||
: :: ': : :::;[ ::' :;
|
|
||||||
:: ; : : ::::;[:,,::;;I' ;;
|
|
||||||
;;:;: : : : :::::::: '""' I[[;"'
|
|
||||||
;;;:: : : '::::' ;
|
|
||||||
;;;:: : : : ;
|
|
||||||
';;;;::: : : ': ;
|
|
||||||
';;:::: : :
|
|
||||||
M;:::: : ':
|
|
||||||
MMMI;:::: : ;
|
|
||||||
MMMMMA;::: :
|
|
||||||
AHHMMMMHA;:::: : ;
|
|
||||||
:MHHMMMMMMMA;: ' :
|
|
||||||
AHHHMMM;"TTTTL: : ;
|
|
||||||
AHHHHHHMMLLLLLH ': :
|
|
||||||
:MHHH:::;HHMMMMMA: : ;
|
|
||||||
:AHHH:::HH;;;;;MMM;: :
|
|
||||||
:MHH;: ;;;;;MMM:: : : ;
|
|
||||||
:MH;: : ';;;;MMM:: ': ':
|
|
||||||
,H;: ';;;MMM::: :':' ;
|
|
||||||
,;: : : : ;;;Y;H:: :
|
|
||||||
,;: : : : ';;;:; : : ; ;
|
|
||||||
[;:: : ;;:; ; ; ;
|
|
||||||
~
|
|
||||||
E
|
|
||||||
july~
|
|
||||||
. ,.--..
|
. ,.--..
|
||||||
,::.'.. . . "VI:I:".':-.,.
|
,::.'.. . . "VI:I:".':-.,.
|
||||||
,I::. .. . 'VHMHII:.::;:.:,..
|
,I::. .. . 'VHMHII:.::;:.:,..
|
||||||
|
|
@ -1571,7 +1559,7 @@ july~
|
||||||
':::.:... ..I::I::.:....:. .: .. ...::. . . III:II:. '
|
':::.:... ..I::I::.:....:. .: .. ...::. . . III:II:. '
|
||||||
~
|
~
|
||||||
E
|
E
|
||||||
august~
|
april~
|
||||||
. nHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHn.
|
. nHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHn.
|
||||||
.MS?MMMMMMMMMMMMMMMMMM?MM-MMMMMMMMMSHMMMMMMM
|
.MS?MMMMMMMMMMMMMMMMMM?MM-MMMMMMMMMSHMMMMMMM
|
||||||
MMMMMH?MMMMMMMX*MM?MMX%MM/MMMMMM"HMMMMMMMMMMMM
|
MMMMMH?MMMMMMMX*MM?MMX%MM/MMMMMM"HMMMMMMMMMMMM
|
||||||
|
|
@ -1624,8 +1612,8 @@ august~
|
||||||
%% % %%%%%%
|
%% % %%%%%%
|
||||||
~
|
~
|
||||||
E
|
E
|
||||||
september~
|
june~
|
||||||
. .:IIIIHIHHIHHHII::I:.
|
. .:IIIIHIHHIHHHII::I:.
|
||||||
:IIIIHIHHHHHHMMHHIHHIIHHIII:.
|
:IIIIHIHHHHHHMMHHIHHIIHHIII:.
|
||||||
,.:HIHHHHHHHHHHHHHHHHHHHHHIHIHHII:.
|
,.:HIHHHHHHHHHHHHHHHHHHHHHIHIHHII:.
|
||||||
.:IIHHHHHHHHMMMMMHHHHMMMHHMHHHIIIHIIII:
|
.:IIHHHHHHHHMMMMMHHHHMMMHHMHHHIIIHIIII:
|
||||||
|
|
@ -1682,6 +1670,18 @@ IHHHHMHMMMMMMMHHHHHI:IT:TI:..:HI:.. ..:. . :IHII
|
||||||
::.:............. .. . ...AHIHIIIIIHHHI::""' 'VII:.. .. .
|
::.:............. .. . ...AHIHIIIIIHHHI::""' 'VII:.. .. .
|
||||||
::.:.:.......... .. . ...HHHIIIIIIHHHI::. . 'VII::. . . ,
|
::.:.:.......... .. . ...HHHIIIIIIHHHI::. . 'VII::. . . ,
|
||||||
':::.:.:..... .. . . . ..:MHHIHIIIII:I::. . 'VII:::. .. .
|
':::.:.:..... .. . . . ..:MHHIHIIIII:I::. . 'VII:::. .. .
|
||||||
|
:::::.:..:.... . . . ...AHHHHIHIIII:::. . 'VII:::. . . :.
|
||||||
|
:::::::.:..... .. . ....MHHHHHIHIII::.:.. . 'VII::. . ::
|
||||||
|
:::::::::.:.... .. ....:MHHHHIHII:I::::... . 'VI::. . ::I)
|
||||||
|
'::::::::::.:... .. ...:MHHHHIHIIII::::.. . 'VI:. ...:V
|
||||||
|
.:::::::::::.:.... . .AMMHHIHIII:I::::... . . I::. ...:-"
|
||||||
|
:.::I::::::::.:. . ..MMMHHIHIIII:I:::... . . .::. ,..-"
|
||||||
|
:..:II:I:::::.:.. . ..MMMHHIHIIIIIII:I::.... . . ..::""'
|
||||||
|
.::.:III:I::::::.:.. ..MMMMIVHIHIIIII:I::::.... . .....:,
|
||||||
|
.:.::..:III:I:::::.:... .MMHMAIVHHIHIIIII:I::::.. . ..::..:,
|
||||||
|
. .:::.::III:I::::.:... .VMMHMAIVHHHIHIIII:I::::.. ..:...:::
|
||||||
|
. :::I.:::III:I:::.::.. .:MMHHMAIVHHIHIIIII:I::::....:::.::::
|
||||||
|
.::IIH.:::III:I::::.:.. .MMHMHMAIVHHHIHIIIIII:I
|
||||||
~
|
~
|
||||||
#186
|
#186
|
||||||
scroll poem irish~
|
scroll poem irish~
|
||||||
|
|
@ -1721,6 +1721,7 @@ A large wooden chest with bands of iron circling it is closed with its lock hang
|
||||||
15 0 0 0 0 a 0 0 0 0 0 0 0
|
15 0 0 0 0 a 0 0 0 0 0 0 0
|
||||||
50 5 -1 0
|
50 5 -1 0
|
||||||
50 0 0 0
|
50 0 0 0
|
||||||
|
T 209
|
||||||
E
|
E
|
||||||
iron bound wooden chest~
|
iron bound wooden chest~
|
||||||
The chest is in excellent condition. Made from a fine grain of wood it is
|
The chest is in excellent condition. Made from a fine grain of wood it is
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ A washing machine rumbles steadily as it spins.~
|
||||||
E
|
E
|
||||||
washing machine~
|
washing machine~
|
||||||
Simple yet most effective, this smooth white appliance vibrates gently as it
|
Simple yet most effective, this smooth white appliance vibrates gently as it
|
||||||
goes about the important business of spotlifying soiled clothing.
|
goes about the important business of cleaning soiled clothing.
|
||||||
~
|
~
|
||||||
#11803
|
#11803
|
||||||
cloth nappy dingy white piece~
|
cloth nappy dingy white piece~
|
||||||
|
|
|
||||||
|
|
@ -194,8 +194,8 @@ weapon level 34~
|
||||||
a level 34 weapon~
|
a level 34 weapon~
|
||||||
A level 34 weapon is used to test level restrictions~
|
A level 34 weapon is used to test level restrictions~
|
||||||
~
|
~
|
||||||
12 0 0 0 0 ano 0 0 0 0 0 0 0
|
5 0 0 0 0 ano 0 0 0 0 0 0 0
|
||||||
0 0 0 0
|
11 2 2 0
|
||||||
1 1 0 34
|
1 1 0 34
|
||||||
#1266
|
#1266
|
||||||
Black Staff of Immortality~
|
Black Staff of Immortality~
|
||||||
|
|
@ -296,14 +296,14 @@ A piece of fireworks is planted in a champagne bottle.~
|
||||||
0 0 0 0
|
0 0 0 0
|
||||||
T 1297
|
T 1297
|
||||||
E
|
E
|
||||||
|
firework new year piece~
|
||||||
|
This large rocket is about to go up! Strange colours will fill the sky!
|
||||||
|
~
|
||||||
|
E
|
||||||
bottle champagne~
|
bottle champagne~
|
||||||
The bottle is filled partially with water so it doesn't tilt over. Someone
|
The bottle is filled partially with water so it doesn't tilt over. Someone
|
||||||
has obviously drunk the champagne first.
|
has obviously drunk the champagne first.
|
||||||
~
|
~
|
||||||
E
|
|
||||||
firework new year piece~
|
|
||||||
This large rocket is about to go up! Strange colours will fill the sky!
|
|
||||||
~
|
|
||||||
#1299
|
#1299
|
||||||
christmas tree~
|
christmas tree~
|
||||||
a christmas tree~
|
a christmas tree~
|
||||||
|
|
|
||||||
|
|
@ -202,13 +202,13 @@ A small sword lies here.~
|
||||||
0 1 6 11
|
0 1 6 11
|
||||||
3 60 0 0
|
3 60 0 0
|
||||||
E
|
E
|
||||||
sword small~
|
|
||||||
The small sword seems to have an inscription of some sort inscription...
|
|
||||||
~
|
|
||||||
E
|
|
||||||
inscription~
|
inscription~
|
||||||
It says: 'May this sword be a good companion. '
|
It says: 'May this sword be a good companion. '
|
||||||
~
|
~
|
||||||
|
E
|
||||||
|
sword small~
|
||||||
|
The small sword seems to have an inscription of some sort inscription...
|
||||||
|
~
|
||||||
#322
|
#322
|
||||||
sword long~
|
sword long~
|
||||||
a long sword~
|
a long sword~
|
||||||
|
|
@ -241,6 +241,19 @@ A large flail is here.~
|
||||||
5 0 0 0 0 an 0 0 0 0 0 0 0
|
5 0 0 0 0 an 0 0 0 0 0 0 0
|
||||||
0 2 4 7
|
0 2 4 7
|
||||||
6 625 0 0
|
6 625 0 0
|
||||||
|
#326
|
||||||
|
towel white~
|
||||||
|
a white towel~
|
||||||
|
A white bleached towel is folded nicely here.~
|
||||||
|
~
|
||||||
|
12 0 0 0 0 ak 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0
|
||||||
|
1 1 0 0
|
||||||
|
E
|
||||||
|
white towel~
|
||||||
|
The towel looks thick and plush. It appears to be woven from cotton and
|
||||||
|
bleached a bright white.
|
||||||
|
~
|
||||||
#330
|
#330
|
||||||
torch~
|
torch~
|
||||||
a torch~
|
a torch~
|
||||||
|
|
@ -615,13 +628,13 @@ A large, sociable bulletin board is mounted on a wall here.~
|
||||||
0 0 0 0
|
0 0 0 0
|
||||||
0 0 0 0
|
0 0 0 0
|
||||||
E
|
E
|
||||||
board~
|
|
||||||
If you can read this, the board is not working.
|
|
||||||
~
|
|
||||||
E
|
|
||||||
social bulletin~
|
social bulletin~
|
||||||
Use 'look board' to read the board.
|
Use 'look board' to read the board.
|
||||||
~
|
~
|
||||||
|
E
|
||||||
|
board~
|
||||||
|
If you can read this, the board is not working.
|
||||||
|
~
|
||||||
#397
|
#397
|
||||||
board frozen bulletin~
|
board frozen bulletin~
|
||||||
a frozen bulletin board~
|
a frozen bulletin board~
|
||||||
|
|
@ -631,13 +644,13 @@ A large bulletin board is here, carved from a block of ice.~
|
||||||
0 0 0 0
|
0 0 0 0
|
||||||
0 0 0 0
|
0 0 0 0
|
||||||
E
|
E
|
||||||
board~
|
|
||||||
If you can read this, the board is not working.
|
|
||||||
~
|
|
||||||
E
|
|
||||||
freeze bulletin~
|
freeze bulletin~
|
||||||
Use 'look board' to read the board.
|
Use 'look board' to read the board.
|
||||||
~
|
~
|
||||||
|
E
|
||||||
|
board~
|
||||||
|
If you can read this, the board is not working.
|
||||||
|
~
|
||||||
#398
|
#398
|
||||||
board holy bulletin~
|
board holy bulletin~
|
||||||
a holy bulletin board~
|
a holy bulletin board~
|
||||||
|
|
@ -647,13 +660,13 @@ A large bulletin board is mounted on a wall here. It glows with a faint aura.~
|
||||||
0 0 0 0
|
0 0 0 0
|
||||||
0 0 0 0
|
0 0 0 0
|
||||||
E
|
E
|
||||||
board~
|
|
||||||
If you can read this, the board is not working.
|
|
||||||
~
|
|
||||||
E
|
|
||||||
holy bulletin~
|
holy bulletin~
|
||||||
Use 'look board' to read the board.
|
Use 'look board' to read the board.
|
||||||
~
|
~
|
||||||
|
E
|
||||||
|
board~
|
||||||
|
If you can read this, the board is not working.
|
||||||
|
~
|
||||||
#399
|
#399
|
||||||
board bulletin~
|
board bulletin~
|
||||||
a bulletin board~
|
a bulletin board~
|
||||||
|
|
@ -663,11 +676,11 @@ A large bulletin board is mounted on a wall here.~
|
||||||
0 0 0 0
|
0 0 0 0
|
||||||
0 0 0 0
|
0 0 0 0
|
||||||
E
|
E
|
||||||
board~
|
|
||||||
If you can read this, the board is not working.
|
|
||||||
~
|
|
||||||
E
|
|
||||||
bulletin~
|
bulletin~
|
||||||
Use 'look board' to read the board.
|
Use 'look board' to read the board.
|
||||||
~
|
~
|
||||||
|
E
|
||||||
|
board~
|
||||||
|
If you can read this, the board is not working.
|
||||||
|
~
|
||||||
$~
|
$~
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1 @@
|
||||||
#0
|
|
||||||
Undefined~
|
|
||||||
Quest definition is incomplete.~
|
|
||||||
There is no information on this quest.
|
|
||||||
~
|
|
||||||
You have completed the quest.
|
|
||||||
~
|
|
||||||
You have abandoned the quest.
|
|
||||||
~
|
|
||||||
-1 1 0 -1 -1 -1 -1
|
|
||||||
0 0 0 34 -1 -1 1
|
|
||||||
0 0 65535
|
|
||||||
S
|
|
||||||
$~
|
$~
|
||||||
|
|
|
||||||
|
|
@ -284,7 +284,7 @@ Tutorial Quest 1441 - Load 8ball~
|
||||||
* By Rumble of The Builder Academy tbamud.com 9091
|
* By Rumble of The Builder Academy tbamud.com 9091
|
||||||
* Quest Trigs 9-12. Drop the 8ball on their head when they enter.
|
* Quest Trigs 9-12. Drop the 8ball on their head when they enter.
|
||||||
wait 1 sec
|
wait 1 sec
|
||||||
%echoaround% %actor.name% A magic eight ball drops from the sky striking %actor.name% on the head.
|
%echoaround% %actor% A magic eight ball drops from the sky striking %actor.name% on the head.
|
||||||
%send% %actor% A magic eight ball drops from the sky striking you on the head.
|
%send% %actor% A magic eight ball drops from the sky striking you on the head.
|
||||||
%load% obj 1394
|
%load% obj 1394
|
||||||
%damage% %actor% %random.5%
|
%damage% %actor% %random.5%
|
||||||
|
|
@ -1598,6 +1598,7 @@ set actor %random.char%
|
||||||
Room Command Example~
|
Room Command Example~
|
||||||
2 c 100
|
2 c 100
|
||||||
l~
|
l~
|
||||||
|
* By Rumble of The Builder Academy tbamud.com 9091
|
||||||
if %cmd.mudcommand% == look && bridge /= %arg%
|
if %cmd.mudcommand% == look && bridge /= %arg%
|
||||||
%send% %actor% As you look at the bridge a small form staggers out from underneath it.
|
%send% %actor% As you look at the bridge a small form staggers out from underneath it.
|
||||||
%echoaround% %actor% As %actor.name% peers under the bridge a small form emerges.
|
%echoaround% %actor% As %actor.name% peers under the bridge a small form emerges.
|
||||||
|
|
@ -2500,7 +2501,7 @@ Puff - Random Advice~
|
||||||
0 ab 12
|
0 ab 12
|
||||||
~
|
~
|
||||||
* By Rumble of The Builder Academy tbamud.com 9091
|
* By Rumble of The Builder Academy tbamud.com 9091
|
||||||
set man %random.197%
|
set max %random.197%
|
||||||
set text[1] My god! It's full of stars!
|
set text[1] My god! It's full of stars!
|
||||||
set text[2] How'd all those fish get up here?
|
set text[2] How'd all those fish get up here?
|
||||||
set text[3] Some people are like Slinkies. Not really good for anything, but still bring a smile to your face when you push them down a flight of stairs.
|
set text[3] Some people are like Slinkies. Not really good for anything, but still bring a smile to your face when you push them down a flight of stairs.
|
||||||
|
|
@ -2712,7 +2713,7 @@ if %arg.room% != %actor.room% || %arg.id% == %actor.id%
|
||||||
end
|
end
|
||||||
set inroom %actor.room%
|
set inroom %actor.room%
|
||||||
if %arg.inventory(80)%
|
if %arg.inventory(80)%
|
||||||
%echoaround% %actor.name% %actor.name% blasts %arg.name% with %actor.hisher% paintball gun.
|
%echoaround% %actor% %actor.name% blasts %arg.name% with %actor.hisher% paintball gun.
|
||||||
%send% %actor% You blast %arg.name%.
|
%send% %actor% You blast %arg.name%.
|
||||||
%send% %arg% You lose!
|
%send% %arg% You lose!
|
||||||
%purge% %arg.inventory(80)%
|
%purge% %arg.inventory(80)%
|
||||||
|
|
@ -2734,7 +2735,7 @@ if %arg.room% != %actor.room% || %arg.id% == %actor.id%
|
||||||
end
|
end
|
||||||
set inroom %actor.room%
|
set inroom %actor.room%
|
||||||
if %arg.inventory(81)%
|
if %arg.inventory(81)%
|
||||||
%echoaround% %actor.name% %actor.name% blasts %arg.name% with %actor.hisher% paintball gun.
|
%echoaround% %actor% %actor.name% blasts %arg.name% with %actor.hisher% paintball gun.
|
||||||
%send% %actor% You blast %arg.name%.
|
%send% %actor% You blast %arg.name%.
|
||||||
%send% %arg% You lose!
|
%send% %arg% You lose!
|
||||||
%purge% %arg.inventory(81)%
|
%purge% %arg.inventory(81)%
|
||||||
|
|
|
||||||
|
|
@ -2100,7 +2100,7 @@ if %self.contents.vnum% != 47
|
||||||
%load% obj 47
|
%load% obj 47
|
||||||
end
|
end
|
||||||
wait 2 sec
|
wait 2 sec
|
||||||
%echoaround% %actor.name% A magic eight ball drops from the sky striking %actor.name% on the head.
|
%echoaround% %actor% A magic eight ball drops from the sky striking %actor.name% on the head.
|
||||||
%send% %actor% A magic eight ball drops from the sky striking you on the head.
|
%send% %actor% A magic eight ball drops from the sky striking you on the head.
|
||||||
%damage% %actor% %random.5%
|
%damage% %actor% %random.5%
|
||||||
~
|
~
|
||||||
|
|
@ -2109,7 +2109,6 @@ Mob Quest Tutorial Example Quest completion - 25~
|
||||||
0 j 100
|
0 j 100
|
||||||
~
|
~
|
||||||
* By Rumble of The Builder Academy tbamud.com 9091
|
* By Rumble of The Builder Academy tbamud.com 9091
|
||||||
wait 1 sec
|
|
||||||
if %object.vnum% == 47 && !%actor.varexists(solved_example_quest_zone_0)%
|
if %object.vnum% == 47 && !%actor.varexists(solved_example_quest_zone_0)%
|
||||||
dance
|
dance
|
||||||
wait 1 sec
|
wait 1 sec
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ g~
|
||||||
* should be looking for 117xx, where xx is 00-99.
|
* should be looking for 117xx, where xx is 00-99.
|
||||||
if %cmd.mudcommand% == get && ring /= %arg%
|
if %cmd.mudcommand% == get && ring /= %arg%
|
||||||
%send% %actor% You dig in the dirt and pick up the ring.
|
%send% %actor% You dig in the dirt and pick up the ring.
|
||||||
%echoaround% %actor.name% %actor.name% gets a ring from the dirt.
|
%echoaround% %actor% %actor.name% gets a ring from the dirt.
|
||||||
%load% obj 11700 %actor% inv
|
%load% obj 11700 %actor% inv
|
||||||
else
|
else
|
||||||
return 0
|
return 0
|
||||||
|
|
@ -38,7 +38,7 @@ steal~
|
||||||
* should be looking for 117xx, where xx is 00-99.
|
* should be looking for 117xx, where xx is 00-99.
|
||||||
if %cmd.mudcommand% == steal && cello /= %arg%
|
if %cmd.mudcommand% == steal && cello /= %arg%
|
||||||
%send% %actor% You steal the cello from the cello player who exclaims 'Hey!'
|
%send% %actor% You steal the cello from the cello player who exclaims 'Hey!'
|
||||||
%echoaround% %actor.name% %actor.name% immaturely nabs the cello from the cello player's hands during the middle of a performance.
|
%echoaround% %actor% %actor.name% immaturely nabs the cello from the cello player's hands during the middle of a performance.
|
||||||
%load% obj 11708 %actor% inv
|
%load% obj 11708 %actor% inv
|
||||||
end
|
end
|
||||||
~
|
~
|
||||||
|
|
@ -175,7 +175,7 @@ touch~
|
||||||
* should be looking for 117xx, where xx is 00-99.
|
* should be looking for 117xx, where xx is 00-99.
|
||||||
if %arg% == display
|
if %arg% == display
|
||||||
%send% %actor% You browse around the forbidden display and lift up the large sword. A clicking noise is made from the stand it is on, and suddenly, a huge crashing sound comes from the far west!
|
%send% %actor% You browse around the forbidden display and lift up the large sword. A clicking noise is made from the stand it is on, and suddenly, a huge crashing sound comes from the far west!
|
||||||
%echoaround% %actor.name% %actor.name% lifts the sword on the display and a gigantic crashing sound comes from the west!
|
%echoaround% %actor% %actor.name% lifts the sword on the display and a gigantic crashing sound comes from the west!
|
||||||
%at% 11704 %door% 11704 down flags a
|
%at% 11704 %door% 11704 down flags a
|
||||||
%at% 11758 %load% obj 11737
|
%at% 11758 %load% obj 11737
|
||||||
%send% %actor% Salesman Derresor Maosund punches you in the face with anger for touching the display!!
|
%send% %actor% Salesman Derresor Maosund punches you in the face with anger for touching the display!!
|
||||||
|
|
@ -273,7 +273,7 @@ touch~
|
||||||
* should be looking for 117xx, where xx is 00-99.
|
* should be looking for 117xx, where xx is 00-99.
|
||||||
if %arg% == nest
|
if %arg% == nest
|
||||||
%send% %actor% You reach out for the squirrel's nest and touch it, but it falls toward the patch of sand and abruptly falls right through!
|
%send% %actor% You reach out for the squirrel's nest and touch it, but it falls toward the patch of sand and abruptly falls right through!
|
||||||
%echoaround% %actor.name% %actor.name% tries to reach out and touch the nest, like the 2-year-old %actor.heshe% is. %actor.heshe% drops the nest clumsily but the nest abruptly falls through the strange patch of sand!
|
%echoaround% %actor% %actor.name% tries to reach out and touch the nest, like the 2-year-old %actor.heshe% is. %actor.heshe% drops the nest clumsily but the nest abruptly falls through the strange patch of sand!
|
||||||
%door% 11755 down flags a
|
%door% 11755 down flags a
|
||||||
else
|
else
|
||||||
%send% %actor% Touch what?
|
%send% %actor% Touch what?
|
||||||
|
|
@ -304,7 +304,7 @@ sit~
|
||||||
* should be looking for 117xx, where xx is 00-99.
|
* should be looking for 117xx, where xx is 00-99.
|
||||||
if %cmd.mudcommand% == sit && %arg% /= stump
|
if %cmd.mudcommand% == sit && %arg% /= stump
|
||||||
%echo% You sit down on the large stump and take a rest.
|
%echo% You sit down on the large stump and take a rest.
|
||||||
%echoaround% %actor.name% %actor.name% sits down on a stump and takes a quick rest.
|
%echoaround% %actor% %actor.name% sits down on a stump and takes a quick rest.
|
||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
~
|
~
|
||||||
|
|
@ -318,7 +318,7 @@ pick~
|
||||||
* should be looking for 117xx, where xx is 00-99.
|
* should be looking for 117xx, where xx is 00-99.
|
||||||
if %arg% == flowers
|
if %arg% == flowers
|
||||||
%send% %actor% You kneel beside the path, pick the flowers, and arrange them in a nice bouquet.
|
%send% %actor% You kneel beside the path, pick the flowers, and arrange them in a nice bouquet.
|
||||||
%echoaround% %actor.name% %actor.name% picks the exotic flowers beside the path and makes a bouquet from them.
|
%echoaround% %actor% %actor.name% picks the exotic flowers beside the path and makes a bouquet from them.
|
||||||
%load% obj 11735 %actor% inv
|
%load% obj 11735 %actor% inv
|
||||||
else
|
else
|
||||||
%send% %actor% Pick what??
|
%send% %actor% Pick what??
|
||||||
|
|
@ -335,7 +335,7 @@ search~
|
||||||
* should be looking for 117xx, where xx is 00-99.
|
* should be looking for 117xx, where xx is 00-99.
|
||||||
if %arg% == fireplace
|
if %arg% == fireplace
|
||||||
%send% %actor% You search around the fireplace, and bump into the loose tile. Suddenly, the fire goes out, and the wall behind it opens up!
|
%send% %actor% You search around the fireplace, and bump into the loose tile. Suddenly, the fire goes out, and the wall behind it opens up!
|
||||||
%echoaround% %actor.name% %actor.name% searches the fireplace, and before you know it, the wall to the north opens like a door!
|
%echoaround% %actor% %actor.name% searches the fireplace, and before you know it, the wall to the north opens like a door!
|
||||||
%door% 11725 north flags a
|
%door% 11725 north flags a
|
||||||
else
|
else
|
||||||
%send% %actor% Search what?
|
%send% %actor% Search what?
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ end
|
||||||
1 g 100
|
1 g 100
|
||||||
~
|
~
|
||||||
if %actor.room.vnum% == 11802
|
if %actor.room.vnum% == 11802
|
||||||
%echoaround% %actor.name% %actor.name% takes something from the dollhouse and seems to fade mysteriously away, leaving no trace.
|
%echoaround% %actor% %actor.name% takes something from the dollhouse and seems to fade mysteriously away, leaving no trace.
|
||||||
%teleport% %actor% 11801
|
%teleport% %actor% 11801
|
||||||
wait 2 s
|
wait 2 s
|
||||||
%send% %actor% You feel a little strange as everything starts to blur, shifting and changing shape until you are completely disorientated.
|
%send% %actor% You feel a little strange as everything starts to blur, shifting and changing shape until you are completely disorientated.
|
||||||
|
|
|
||||||
|
|
@ -1835,6 +1835,8 @@ if %actor.varexists(TBA_trial_vnum)% && %actor.level% == 31
|
||||||
%send% %actor% Sedit, Trigedit, Dig, Rclone, Attach, Detach, and Vdelete are not required for your trial vnum.
|
%send% %actor% Sedit, Trigedit, Dig, Rclone, Attach, Detach, and Vdelete are not required for your trial vnum.
|
||||||
elseif %cmd.mudcommand% == zpurge
|
elseif %cmd.mudcommand% == zpurge
|
||||||
%send% %actor% Zpurge is not required for your trial vnum. Use 'purge' or 'purge item.'
|
%send% %actor% Zpurge is not required for your trial vnum. Use 'purge' or 'purge item.'
|
||||||
|
elseif %cmd.mudcommand% == sacrifice
|
||||||
|
%send% %actor% Sacrifice is disabled until your trial room is completed.
|
||||||
else
|
else
|
||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -181,7 +181,7 @@ free~
|
||||||
2 g 100
|
2 g 100
|
||||||
~
|
~
|
||||||
wait 2 sec
|
wait 2 sec
|
||||||
%echoaround% %actor.name% A magic eight ball drops from the sky striking %actor.name% on the head.
|
%echoaround% %actor% A magic eight ball drops from the sky striking %actor.name% on the head.
|
||||||
%send% %actor% A magic eight ball drops from the sky striking you on the head.
|
%send% %actor% A magic eight ball drops from the sky striking you on the head.
|
||||||
%load% obj 47
|
%load% obj 47
|
||||||
%damage% %actor% %random.5%
|
%damage% %actor% %random.5%
|
||||||
|
|
@ -590,8 +590,8 @@ Mob Leave Example~
|
||||||
~
|
~
|
||||||
if (%actor.level% > 10)
|
if (%actor.level% > 10)
|
||||||
say You may not leave here, %actor.name%.
|
say You may not leave here, %actor.name%.
|
||||||
%send% %actor.name% %self.name% prevents you from leaving the room.
|
%send% %actor% %self.name% prevents you from leaving the room.
|
||||||
%echoaround% %actor.name% As %actor.name% tries to leave the room, %self.name% stops %actor.himher%.
|
%echoaround% %actor% As %actor.name% tries to leave the room, %self.name% stops %actor.himher%.
|
||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
~
|
~
|
||||||
|
|
|
||||||
|
|
@ -1287,7 +1287,7 @@ test while~
|
||||||
set stunned %actor.hitp% - 1
|
set stunned %actor.hitp% - 1
|
||||||
%damage% %actor% %stunned%
|
%damage% %actor% %stunned%
|
||||||
eval num %random.99% + 1900
|
eval num %random.99% + 1900
|
||||||
%teleport% %actor.name% %num%
|
%teleport% %actor% %num%
|
||||||
while %actor.inventory%
|
while %actor.inventory%
|
||||||
eval item %actor.inventory%
|
eval item %actor.inventory%
|
||||||
eval item_to_purge %%actor.inventory(%item.vnum%)%%
|
eval item_to_purge %%actor.inventory(%item.vnum%)%%
|
||||||
|
|
|
||||||
|
|
@ -190,6 +190,30 @@ extract word5 5 %speech%
|
||||||
extract word6 6 %speech%
|
extract word6 6 %speech%
|
||||||
say %word6% %word5% %word4% %word3% %word2% %word1%?
|
say %word6% %word5% %word4% %word3% %word2% %word1%?
|
||||||
~
|
~
|
||||||
|
#209
|
||||||
|
Open a Chest once per zone reset~
|
||||||
|
1 c 100
|
||||||
|
open~
|
||||||
|
* By Mordecai
|
||||||
|
if chest /= %arg%
|
||||||
|
* Verify that the player typed 'open chest'
|
||||||
|
* Has the player already opened this chest?
|
||||||
|
context %actor.id%
|
||||||
|
if %already_opened_chest%
|
||||||
|
%send% %actor% The chest has already been opened, and emptied.
|
||||||
|
else
|
||||||
|
* The first time! OK, open the chest.
|
||||||
|
%send% %actor% You get a jar of naphthalene from an iron bound chest.
|
||||||
|
%load% obj 306 %actor% inv
|
||||||
|
set already_opened_chest 1
|
||||||
|
global already_opened_chest
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
else
|
||||||
|
* Not 'open chest' - pass control back to the command parser
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
~
|
||||||
#212
|
#212
|
||||||
Phoenix Rising - 219~
|
Phoenix Rising - 219~
|
||||||
1 c 4
|
1 c 4
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ end
|
||||||
~
|
~
|
||||||
#23603
|
#23603
|
||||||
Remove Secret Door - 23667~
|
Remove Secret Door - 23667~
|
||||||
2 af 100
|
2 f 100
|
||||||
~
|
~
|
||||||
if %self.east%
|
if %self.east%
|
||||||
%door% 23667 east purge 0
|
%door% 23667 east purge 0
|
||||||
|
|
|
||||||
|
|
@ -90,10 +90,10 @@ Fountain portal - 23855~
|
||||||
en~
|
en~
|
||||||
if %cmd.mudcommand% == enter && fountain /= %arg%
|
if %cmd.mudcommand% == enter && fountain /= %arg%
|
||||||
%send% %actor% You dive into a large fountain.
|
%send% %actor% You dive into a large fountain.
|
||||||
%echoaround% %actor.name% %actor.name% dives into a large fountain.
|
%echoaround% %actor% %actor.name% dives into a large fountain.
|
||||||
%teleport% %actor% 23856
|
%teleport% %actor% 23856
|
||||||
%force% %actor% look
|
%force% %actor% look
|
||||||
%echoaround% %actor.name% %actor.name% emerges from a large fountain.
|
%echoaround% %actor% %actor.name% emerges from a large fountain.
|
||||||
else
|
else
|
||||||
%send% %actor% enter what?!
|
%send% %actor% enter what?!
|
||||||
end
|
end
|
||||||
|
|
@ -164,10 +164,10 @@ Green portal entrance - 23863~
|
||||||
en~
|
en~
|
||||||
if %cmd.mudcommand% == enter && green /= %arg%
|
if %cmd.mudcommand% == enter && green /= %arg%
|
||||||
%send% %actor% You enter a large green portal.
|
%send% %actor% You enter a large green portal.
|
||||||
%echoaround% %actor.name% %actor.name% steps into a large green portal.
|
%echoaround% %actor% %actor.name% steps into a large green portal.
|
||||||
%teleport% %actor% 23864
|
%teleport% %actor% 23864
|
||||||
%force% %actor% look
|
%force% %actor% look
|
||||||
%echoaround% %actor.name% steps into a large green portal.
|
%echoaround% %actor% steps into a large green portal.
|
||||||
else
|
else
|
||||||
%send% %actor% enter what?!
|
%send% %actor% enter what?!
|
||||||
end
|
end
|
||||||
|
|
@ -178,10 +178,10 @@ Blue portal entrance - 23861~
|
||||||
en~
|
en~
|
||||||
if %cmd.mudcommand% == enter && blue /= %arg%
|
if %cmd.mudcommand% == enter && blue /= %arg%
|
||||||
%send% %actor% You enter a large blue portal.
|
%send% %actor% You enter a large blue portal.
|
||||||
%echoaround% %actor.name% %actor.name% steps into a large blue portal.
|
%echoaround% %actor% %actor.name% steps into a large blue portal.
|
||||||
%teleport% %actor% 23862
|
%teleport% %actor% 23862
|
||||||
%force% %actor% look
|
%force% %actor% look
|
||||||
%echoaround% %actor.name% steps through a large blue portal.
|
%echoaround% %actor% steps through a large blue portal.
|
||||||
else
|
else
|
||||||
%send% %actor% enter what?!
|
%send% %actor% enter what?!
|
||||||
end
|
end
|
||||||
|
|
@ -192,10 +192,10 @@ Red portal entrance - 23862~
|
||||||
en~
|
en~
|
||||||
if %cmd.mudcommand% == enter && red /= %arg%
|
if %cmd.mudcommand% == enter && red /= %arg%
|
||||||
%send% %actor% You enter a large blue portal.
|
%send% %actor% You enter a large blue portal.
|
||||||
%echoaround% %actor.name% %actor.name% steps into a large blue portal.
|
%echoaround% %actor% %actor.name% steps into a large blue portal.
|
||||||
%teleport% %actor% 23862
|
%teleport% %actor% 23862
|
||||||
%force% %actor% look
|
%force% %actor% look
|
||||||
%echoaround% %actor.name% steps through a large blue portal.
|
%echoaround% %actor% steps through a large blue portal.
|
||||||
else
|
else
|
||||||
%send% %actor% enter what?!
|
%send% %actor% enter what?!
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ emote utters the words, 'pabrow'.
|
||||||
~
|
~
|
||||||
#26706
|
#26706
|
||||||
Butcher - 26713~
|
Butcher - 26713~
|
||||||
0 bg 5
|
0 b 10
|
||||||
~
|
~
|
||||||
emote begins sharpening %self.hisher% knife.
|
emote begins sharpening %self.hisher% knife.
|
||||||
~
|
~
|
||||||
|
|
|
||||||
|
|
@ -337,28 +337,28 @@ rdelete Zn27_shacklepass %actor.id%
|
||||||
2 c 100
|
2 c 100
|
||||||
kneel~
|
kneel~
|
||||||
if %arg%==creature
|
if %arg%==creature
|
||||||
%send% %actor.name% You kneel before the skeletal creature.
|
%send% %actor% You kneel before the skeletal creature.
|
||||||
wait 1 s
|
wait 1 s
|
||||||
%send% %actor.name% You suddenly feel very strange as the creature gestures and an eerie mist surrounds you.
|
%send% %actor% You suddenly feel very strange as the creature gestures and an eerie mist surrounds you.
|
||||||
wait 3 s
|
wait 3 s
|
||||||
%teleport% %actor.name% 2712
|
%teleport% %actor% 2712
|
||||||
%force% %actor% look
|
%force% %actor% look
|
||||||
elseif %arg%==skeletal
|
elseif %arg%==skeletal
|
||||||
%send% %actor.name% You kneel before the skeletal creature.
|
%send% %actor% You kneel before the skeletal creature.
|
||||||
wait 1 s
|
wait 1 s
|
||||||
%send% %actor.name% You suddenly feel very strange as the creature gestures and an eerie mist surrounds you.
|
%send% %actor% You suddenly feel very strange as the creature gestures and an eerie mist surrounds you.
|
||||||
wait 3 s
|
wait 3 s
|
||||||
%teleport% %actor.name% 2712
|
%teleport% %actor% 2712
|
||||||
%force% %actor% look
|
%force% %actor% look
|
||||||
elseif %arg%==circle
|
elseif %arg%==circle
|
||||||
%send% %actor.name% You kneel inside the circle.
|
%send% %actor% You kneel inside the circle.
|
||||||
wait 1 s
|
wait 1 s
|
||||||
%send% %actor.name% You suddenly feel very strange as an eerie mist surrounds you.
|
%send% %actor% You suddenly feel very strange as an eerie mist surrounds you.
|
||||||
wait 3 s
|
wait 3 s
|
||||||
%teleport% %actor.name% 2712
|
%teleport% %actor% 2712
|
||||||
%force% %actor% look
|
%force% %actor% look
|
||||||
else
|
else
|
||||||
%send% %actor.name% Kneel to who?
|
%send% %actor% Kneel to who?
|
||||||
end
|
end
|
||||||
~
|
~
|
||||||
#2719
|
#2719
|
||||||
|
|
@ -530,19 +530,19 @@ if %self.carried_by%
|
||||||
eval actor %self.carried_by%
|
eval actor %self.carried_by%
|
||||||
if %actor.fighting%
|
if %actor.fighting%
|
||||||
eval victim %actor.fighting%
|
eval victim %actor.fighting%
|
||||||
%echoaround% %actor.name% @R%actor.name%'s doll suddenly opens its eyes and causes %victim.name% to shudder in pain.@n
|
%echoaround% %actor% @R%actor.name%'s doll suddenly opens its eyes and causes %victim.name% to shudder in pain.@n
|
||||||
%send% %actor.name% @RYour doll suddenly opens its eyes and causes %victim.name% to shudder in pain.@n
|
%send% %actor% @RYour doll suddenly opens its eyes and causes %victim.name% to shudder in pain.@n
|
||||||
%damage% %victim% 100
|
%damage% %victim% 100
|
||||||
if (%actor.varexists(zn27_twice)%)
|
if (%actor.varexists(zn27_twice)%)
|
||||||
rdelete Zn27_twice %actor.id%
|
rdelete Zn27_twice %actor.id%
|
||||||
wait 3 s
|
wait 3 s
|
||||||
%send% %actor.name% @RYour doll turns its head to look at you.@n
|
%send% %actor% @RYour doll turns its head to look at you.@n
|
||||||
wait 1 s
|
wait 1 s
|
||||||
%send% %actor.name% @RYour doll says 'Thrice I have repaid my debt.'@n
|
%send% %actor% @RYour doll says 'Thrice I have repaid my debt.'@n
|
||||||
wait 1 s
|
wait 1 s
|
||||||
%send% %actor.name% @RYour doll says 'And still I await my freedom.'@n
|
%send% %actor% @RYour doll says 'And still I await my freedom.'@n
|
||||||
wait 1 s
|
wait 1 s
|
||||||
%send% %actor.name% @RThe doll suddenly transforms into a little girl and runs away.'@n
|
%send% %actor% @RThe doll suddenly transforms into a little girl and runs away.'@n
|
||||||
rdelete Zn27_offereddoll %actor.id%
|
rdelete Zn27_offereddoll %actor.id%
|
||||||
%purge% %self%
|
%purge% %self%
|
||||||
elseif (%actor.varexists(zn27_once)%)
|
elseif (%actor.varexists(zn27_once)%)
|
||||||
|
|
@ -805,7 +805,7 @@ test door~
|
||||||
enter~
|
enter~
|
||||||
if ("%arg%" == "space")
|
if ("%arg%" == "space")
|
||||||
%send% %actor% A previously concealed space suddenly becomes apparant.
|
%send% %actor% A previously concealed space suddenly becomes apparant.
|
||||||
%echoaround% %actor.name% %actor.name% has discovered a hidden space!
|
%echoaround% %actor% %actor.name% has discovered a hidden space!
|
||||||
%door% 2740 down flags a
|
%door% 2740 down flags a
|
||||||
%door% 2740 down room 2741
|
%door% 2740 down room 2741
|
||||||
%door% 2740 down description Nothing can be seen within this dark space.
|
%door% 2740 down description Nothing can be seen within this dark space.
|
||||||
|
|
@ -921,7 +921,7 @@ attach %arg%
|
||||||
test act~
|
test act~
|
||||||
1 c 7
|
1 c 7
|
||||||
look~
|
look~
|
||||||
%force% %actor.name% %at% 2755 look
|
%force% %actor% %at% 2755 look
|
||||||
~
|
~
|
||||||
#2752
|
#2752
|
||||||
test speech~
|
test speech~
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#27100
|
#27100
|
||||||
Silk Trader - 27137~
|
Silk Trader - 27137~
|
||||||
0 bg 100
|
0 b 10
|
||||||
~
|
~
|
||||||
wait 1 sec
|
wait 1 sec
|
||||||
switch %random.23%
|
switch %random.23%
|
||||||
|
|
@ -95,7 +95,7 @@ done
|
||||||
~
|
~
|
||||||
#27101
|
#27101
|
||||||
Athos - 27153~
|
Athos - 27153~
|
||||||
0 bg 50
|
0 b 10
|
||||||
~
|
~
|
||||||
wait 1 sec
|
wait 1 sec
|
||||||
switch %random.7%
|
switch %random.7%
|
||||||
|
|
@ -130,7 +130,7 @@ done
|
||||||
~
|
~
|
||||||
#27102
|
#27102
|
||||||
Hangman - 27102~
|
Hangman - 27102~
|
||||||
0 bg 100
|
0 b 10
|
||||||
~
|
~
|
||||||
wait 1 sec
|
wait 1 sec
|
||||||
switch %random.5%
|
switch %random.5%
|
||||||
|
|
@ -162,7 +162,7 @@ done
|
||||||
~
|
~
|
||||||
#27103
|
#27103
|
||||||
Butcher - 27142~
|
Butcher - 27142~
|
||||||
0 bg 5
|
0 b 10
|
||||||
~
|
~
|
||||||
wait 1 sec
|
wait 1 sec
|
||||||
switch %random.17%
|
switch %random.17%
|
||||||
|
|
@ -232,7 +232,7 @@ done
|
||||||
~
|
~
|
||||||
#27104
|
#27104
|
||||||
Stu - 27166~
|
Stu - 27166~
|
||||||
0 bg 100
|
0 b 10
|
||||||
~
|
~
|
||||||
wait 1 sec
|
wait 1 sec
|
||||||
switch %random.14%
|
switch %random.14%
|
||||||
|
|
@ -287,7 +287,7 @@ done
|
||||||
~
|
~
|
||||||
#27105
|
#27105
|
||||||
Earl of Sundhaven - 27100~
|
Earl of Sundhaven - 27100~
|
||||||
0 bg 100
|
0 b 10
|
||||||
~
|
~
|
||||||
wait 1 sec
|
wait 1 sec
|
||||||
switch %random.9%
|
switch %random.9%
|
||||||
|
|
@ -332,16 +332,16 @@ Blinder - 27161~
|
||||||
~
|
~
|
||||||
%echo% %self.name% whispers, 'So, %actor.name%! You wouldst share my affliction!'
|
%echo% %self.name% whispers, 'So, %actor.name%! You wouldst share my affliction!'
|
||||||
wait 1 sec
|
wait 1 sec
|
||||||
%send% %actor.name% %self.name%'s frayed cloak blows as he aims a bony finger at you.
|
%send% %actor% %self.name%'s frayed cloak blows as he aims a bony finger at you.
|
||||||
%echoaround% %actor.name% %self.name%'s frayed cloak blows as he points at %actor.name%.
|
%echoaround% %actor% %self.name%'s frayed cloak blows as he points at %actor.name%.
|
||||||
wait 1 sec
|
wait 1 sec
|
||||||
%send% %actor.name% A flash of pale fire explodes in your face!
|
%send% %actor% A flash of pale fire explodes in your face!
|
||||||
%echoaround% %actor.name% A flash of pale fire explodes in %actor.name%'s face!
|
%echoaround% %actor% A flash of pale fire explodes in %actor.name%'s face!
|
||||||
dg_cast 'blindness' %actor%
|
dg_cast 'blindness' %actor%
|
||||||
~
|
~
|
||||||
#27107
|
#27107
|
||||||
Idiot - 27115~
|
Idiot - 27115~
|
||||||
0 bg 100
|
0 b 10
|
||||||
~
|
~
|
||||||
wait 1 sec
|
wait 1 sec
|
||||||
switch %random.13%
|
switch %random.13%
|
||||||
|
|
|
||||||
|
|
@ -79,38 +79,53 @@ if %actor.class% != cleric || %actor.align% < 350
|
||||||
end
|
end
|
||||||
~
|
~
|
||||||
#304
|
#304
|
||||||
Room Enter - test trigger~
|
Room Command - Look at Painting~
|
||||||
2 g 100
|
2 c 100
|
||||||
~
|
l~
|
||||||
wait 50
|
* By Rumble of The Builder Academy tbamud.com 9091
|
||||||
wsend %actor% you enter a room
|
if %cmd.mudcommand% == look && painting /= %arg%
|
||||||
|
%send% %actor% As you stare at the painting the figures seem to start moving and acting out the scenes they portray.
|
||||||
|
%echoaround% %actor% %actor.name% stares at one of the paintings. A strange look coming over %actor.hisher% face.
|
||||||
|
else
|
||||||
|
* If it doesn't match let the command continue. Without a return 0 a player
|
||||||
|
* will not be able to "look" at anything else.
|
||||||
|
return 0
|
||||||
|
end
|
||||||
~
|
~
|
||||||
#305
|
#305
|
||||||
car/cdr test~
|
Mob Greet Clothing Check~
|
||||||
0 d 100
|
0 g 100
|
||||||
*~
|
~
|
||||||
*by having * as the arg, it will not always display
|
* By Rumble of The Builder Academy tbamud.com 9091
|
||||||
* 'test' as %speech.car%
|
if %actor.is_pc%
|
||||||
say speech: %speech%
|
wait 1 sec
|
||||||
say car: %speech.car%
|
if %actor.eq(*)%
|
||||||
say cdr: %speech.cdr%
|
eval worn_about %actor.eq(about)%
|
||||||
|
if %worn_about.vnum% == 326
|
||||||
|
look %actor.name%
|
||||||
|
smile
|
||||||
|
else
|
||||||
|
say You always bathe in your clothes?
|
||||||
|
eyebrow
|
||||||
|
end
|
||||||
|
else
|
||||||
|
say at least get a towel, I don't want to see that.
|
||||||
|
end
|
||||||
|
end
|
||||||
~
|
~
|
||||||
#306
|
#306
|
||||||
Mob Command - subfield test~
|
Room Entry - sneak check~
|
||||||
0 c 100
|
2 g 25
|
||||||
test~
|
~
|
||||||
* test to make sure %actor.skill(skillname)% works
|
* By Rumble of The Builder Academy tbamud.com 9091
|
||||||
say your hide ability is %actor.skill(hide)% percent.
|
if %actor.is_pc%
|
||||||
*
|
if %actor.skill(sneak)% > 50
|
||||||
* make sure %actor.eq(name)% works too
|
%send% %actor% You walk into the room, not waking any of the clerics.
|
||||||
eval headgear %actor.eq(head)%
|
else
|
||||||
if %headgear%
|
%send% %actor% Your entry into the room wakes a few of the clerics.
|
||||||
say You have some sort of helmet on
|
%load% mob 340
|
||||||
else
|
end
|
||||||
say Where's your headgear?
|
|
||||||
halt
|
|
||||||
end
|
end
|
||||||
say Fix your %headgear.name%
|
|
||||||
~
|
~
|
||||||
#307
|
#307
|
||||||
Obj Remove - %transform% test~
|
Obj Remove - %transform% test~
|
||||||
|
|
|
||||||
|
|
@ -159,9 +159,10 @@ switch %actor.level%
|
||||||
done
|
done
|
||||||
~
|
~
|
||||||
#3008
|
#3008
|
||||||
Death Trap~
|
Near Death Trap~
|
||||||
2 g 100
|
2 g 100
|
||||||
~
|
~
|
||||||
|
* By Rumble of The Builder Academy tbamud.com 9091
|
||||||
* Near Death Trap stuns actor
|
* Near Death Trap stuns actor
|
||||||
set stunned %actor.hitp%
|
set stunned %actor.hitp%
|
||||||
%damage% %actor% %stunned%
|
%damage% %actor% %stunned%
|
||||||
|
|
@ -199,15 +200,16 @@ end
|
||||||
Stock Fido - 3062, 3066~
|
Stock Fido - 3062, 3066~
|
||||||
0 b 100
|
0 b 100
|
||||||
~
|
~
|
||||||
eval inroom %self.room%
|
set inroom %self.room%
|
||||||
eval item %inroom.contents%
|
set item %inroom.contents%
|
||||||
while %item%
|
while %item%
|
||||||
* Target the next item in room. In case it is devoured.
|
* Target the next item in room. In case it is devoured.
|
||||||
set next_item %item.next_in_list%
|
set next_item %item.next_in_list%
|
||||||
* Check for a corpse. Corpse on TBA is vnum 65535. Stock is -1.
|
* Check for a corpse. Corpse on TBA is vnum 65535. Stock is -1.
|
||||||
if %item.vnum% == 65535
|
if %item.vnum(65535)%
|
||||||
emote savagely devours a corpse.
|
emote savagely devours a corpse.
|
||||||
%purge% %item%
|
%purge% %item%
|
||||||
|
halt
|
||||||
end
|
end
|
||||||
set item %next_item%
|
set item %next_item%
|
||||||
* Loop back
|
* Loop back
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ surrender~
|
||||||
~
|
~
|
||||||
#8306
|
#8306
|
||||||
Navigator (8306) Sings~
|
Navigator (8306) Sings~
|
||||||
0 bg 100
|
0 b 10
|
||||||
~
|
~
|
||||||
eval song %random.4%
|
eval song %random.4%
|
||||||
switch %song%
|
switch %song%
|
||||||
|
|
@ -141,7 +141,7 @@ done
|
||||||
~
|
~
|
||||||
#8307
|
#8307
|
||||||
Cabin Boy (8307) Mops~
|
Cabin Boy (8307) Mops~
|
||||||
0 bh 75
|
0 b 10
|
||||||
~
|
~
|
||||||
wait 2s
|
wait 2s
|
||||||
emote sings, 'Mop, mop, mop, all day long...'
|
emote sings, 'Mop, mop, mop, all day long...'
|
||||||
|
|
@ -286,7 +286,7 @@ Polly (8313) Learn & Repeat~
|
||||||
~
|
~
|
||||||
#8314
|
#8314
|
||||||
Polly (8313) Random Speech~
|
Polly (8313) Random Speech~
|
||||||
0 bgq 80
|
0 b 10
|
||||||
~
|
~
|
||||||
wait 1s
|
wait 1s
|
||||||
emote squawks loudly.
|
emote squawks loudly.
|
||||||
|
|
@ -434,7 +434,7 @@ jump~
|
||||||
~
|
~
|
||||||
#8393
|
#8393
|
||||||
99 Bottles of Beer (Drunken Pirate: 8309)~
|
99 Bottles of Beer (Drunken Pirate: 8309)~
|
||||||
0 bg 100
|
0 b 10
|
||||||
~
|
~
|
||||||
set beers 99
|
set beers 99
|
||||||
emote clears his throat.
|
emote clears his throat.
|
||||||
|
|
|
||||||
|
|
@ -554,9 +554,10 @@ D2
|
||||||
S
|
S
|
||||||
#33
|
#33
|
||||||
Rumble's Room~
|
Rumble's Room~
|
||||||
The mark of the immature man is that he wants to die nobly for a cause,
|
|
||||||
while the mark of the mature man is that he wants to live humbly for one.
|
The only thing necessary for evil to triumph is for good men to do nothing.
|
||||||
--Wilhelm Stekel
|
|
||||||
|
-Edmund Burke
|
||||||
~
|
~
|
||||||
0 8 0 0 0 0
|
0 8 0 0 0 0
|
||||||
D0
|
D0
|
||||||
|
|
@ -568,6 +569,10 @@ D2
|
||||||
~
|
~
|
||||||
0 0 33
|
0 0 33
|
||||||
E
|
E
|
||||||
|
undefined~
|
||||||
|
test
|
||||||
|
~
|
||||||
|
E
|
||||||
Catcher Rye~
|
Catcher Rye~
|
||||||
The mark of the immature man is that he wants to die nobly for a cause,
|
The mark of the immature man is that he wants to die nobly for a cause,
|
||||||
while the mark of the mature man is that he wants to live humbly for one.
|
while the mark of the mature man is that he wants to live humbly for one.
|
||||||
|
|
@ -662,10 +667,6 @@ understanding and knowledge can only benefit all nations. We invite all
|
||||||
nations to celebrate with Americans online this Fourth of July. Happy
|
nations to celebrate with Americans online this Fourth of July. Happy
|
||||||
Birthday, America!
|
Birthday, America!
|
||||||
~
|
~
|
||||||
E
|
|
||||||
.test~
|
|
||||||
can you see this with look around?
|
|
||||||
~
|
|
||||||
S
|
S
|
||||||
#34
|
#34
|
||||||
Pool of Images~
|
Pool of Images~
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#100
|
#100
|
||||||
Temple of Sanctum~
|
Temple of Sanctum~
|
||||||
This large room appears to be inside inside a massive temple dedicated to the
|
This large room appears to be inside a massive temple dedicated to the gods
|
||||||
gods of Sanctus. The ceiling is supported by fluted columns and a main spiral
|
of Sanctus. The ceiling is supported by fluted columns and a main spiral
|
||||||
stairwell that leads both up and down. Small rooms adjoin this chamber in all
|
stairwell that leads both up and down. Small rooms adjoin this chamber in all
|
||||||
four cardinal directions. It is here mortals come to stay informed and discuss
|
four cardinal directions. It is here mortals come to stay informed and discuss
|
||||||
their adventures.
|
their adventures.
|
||||||
|
|
@ -93,19 +93,19 @@ D5
|
||||||
~
|
~
|
||||||
0 0 100
|
0 0 100
|
||||||
E
|
E
|
||||||
statue~
|
|
||||||
As you examine the statues more closely you realize they must resemble the
|
|
||||||
two gods responsible for the creation and ongoing protection of Sanctus, Ferret
|
|
||||||
and Rumble. They both radiate a strength and power that resembles the solid
|
|
||||||
white marble they were crafted from.
|
|
||||||
~
|
|
||||||
E
|
|
||||||
altar~
|
altar~
|
||||||
The altar is made from black granite and has been carved into a small basin
|
The altar is made from black granite and has been carved into a small basin
|
||||||
with a high back. Almost as if it was meant to be some sort of seat.
|
with a high back. Almost as if it was meant to be some sort of seat.
|
||||||
Inscriptions in some foreign tongue are written on every square inch of the
|
Inscriptions in some foreign tongue are written on every square inch of the
|
||||||
altar. You wonder what they must say and who could have written it.
|
altar. You wonder what they must say and who could have written it.
|
||||||
~
|
~
|
||||||
|
E
|
||||||
|
statue~
|
||||||
|
As you examine the statues more closely you realize they must resemble the
|
||||||
|
two gods responsible for the creation and ongoing protection of Sanctus, Ferret
|
||||||
|
and Rumble. They both radiate a strength and power that resembles the solid
|
||||||
|
white marble they were crafted from.
|
||||||
|
~
|
||||||
S
|
S
|
||||||
T 158
|
T 158
|
||||||
T 163
|
T 163
|
||||||
|
|
@ -241,17 +241,17 @@ D5
|
||||||
~
|
~
|
||||||
0 0 142
|
0 0 142
|
||||||
E
|
E
|
||||||
|
table~
|
||||||
|
The table is made out of cherry. It is worn from years of use. The glass
|
||||||
|
top allows for an excellent view of the map protected within.
|
||||||
|
~
|
||||||
|
E
|
||||||
map~
|
map~
|
||||||
The map is a geographic representation of Sanctus. Not even really a map,
|
The map is a geographic representation of Sanctus. Not even really a map,
|
||||||
more of a scaled model. The walls and buildings of the city are raised higher
|
more of a scaled model. The walls and buildings of the city are raised higher
|
||||||
than the rest of the map to give it a third dimension. Small soldiers are
|
than the rest of the map to give it a third dimension. Small soldiers are
|
||||||
scattered around the top of the table to help the War Master place his men.
|
scattered around the top of the table to help the War Master place his men.
|
||||||
|
|
||||||
~
|
|
||||||
E
|
|
||||||
table~
|
|
||||||
The table is made out of cherry. It is worn from years of use. The glass
|
|
||||||
top allows for an excellent view of the map protected within.
|
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
#109
|
#109
|
||||||
|
|
@ -385,18 +385,18 @@ D1
|
||||||
~
|
~
|
||||||
0 0 100
|
0 0 100
|
||||||
E
|
E
|
||||||
|
hole~
|
||||||
|
You can look out over the inner wall to the western side of Sanctus. The
|
||||||
|
smell of charred human remains and smoldering plaster makes your eyes water so
|
||||||
|
it is difficult to see much else through the tiny hole.
|
||||||
|
~
|
||||||
|
E
|
||||||
man silhouette~
|
man silhouette~
|
||||||
The distinct outline of a human body that must have taken the brunt of the
|
The distinct outline of a human body that must have taken the brunt of the
|
||||||
blast when the portal imploded. You wonder what or who it might have been.
|
blast when the portal imploded. You wonder what or who it might have been.
|
||||||
You can still see pieces of cloth and bone buried deeply into the wall inside
|
You can still see pieces of cloth and bone buried deeply into the wall inside
|
||||||
the shadow of the unlucky man.
|
the shadow of the unlucky man.
|
||||||
~
|
~
|
||||||
E
|
|
||||||
hole~
|
|
||||||
You can look out over the inner wall to the western side of Sanctus. The
|
|
||||||
smell of charred human remains and smoldering plaster makes your eyes water so
|
|
||||||
it is difficult to see much else through the tiny hole.
|
|
||||||
~
|
|
||||||
S
|
S
|
||||||
#117
|
#117
|
||||||
Travelling Room~
|
Travelling Room~
|
||||||
|
|
@ -532,19 +532,19 @@ D2
|
||||||
~
|
~
|
||||||
0 0 129
|
0 0 129
|
||||||
E
|
E
|
||||||
table desk chair~
|
|
||||||
The table, desk, and chair are made from solid oak of the highest quality.
|
|
||||||
A thin goose down mattress and pillow are the only comfortable looking items in
|
|
||||||
the room. The desk is bare and all the drawers are empty. It is as if no one
|
|
||||||
even lives here.
|
|
||||||
~
|
|
||||||
E
|
|
||||||
shrine~
|
shrine~
|
||||||
A beutiful shrine. It has two white marble figures facing each other with a
|
A beutiful shrine. It has two white marble figures facing each other with a
|
||||||
painting of the city below them. The two figures seem to be looking down at
|
painting of the city below them. The two figures seem to be looking down at
|
||||||
the city with looks of worry and hopelessness. An unlit candle and mirror lay
|
the city with looks of worry and hopelessness. An unlit candle and mirror lay
|
||||||
on the floor beside the small shrine.
|
on the floor beside the small shrine.
|
||||||
~
|
~
|
||||||
|
E
|
||||||
|
table desk chair~
|
||||||
|
The table, desk, and chair are made from solid oak of the highest quality.
|
||||||
|
A thin goose down mattress and pillow are the only comfortable looking items in
|
||||||
|
the room. The desk is bare and all the drawers are empty. It is as if no one
|
||||||
|
even lives here.
|
||||||
|
~
|
||||||
S
|
S
|
||||||
#125
|
#125
|
||||||
Plane of the Magi~
|
Plane of the Magi~
|
||||||
|
|
@ -818,14 +818,10 @@ D0
|
||||||
~
|
~
|
||||||
0 0 128
|
0 0 128
|
||||||
E
|
E
|
||||||
window~
|
bed~
|
||||||
Overlooking the western gate you can see the shimmering protective dome.
|
The bed is made of a sturdy pine. A thin mattress covered in a white sheet
|
||||||
You hope it lasts, peace and tranquility is a good thing.
|
with a down pillow overlaying it. The mattress is too thin to hold anything of
|
||||||
~
|
value.
|
||||||
E
|
|
||||||
chair~
|
|
||||||
It's just your standard wooden chair. Uncomfortable and only real
|
|
||||||
usefulness would be as firewood.
|
|
||||||
~
|
~
|
||||||
E
|
E
|
||||||
desk~
|
desk~
|
||||||
|
|
@ -835,10 +831,14 @@ centered on the top of the desk. The desk has three drawers. All of them are
|
||||||
empty.
|
empty.
|
||||||
~
|
~
|
||||||
E
|
E
|
||||||
bed~
|
chair~
|
||||||
The bed is made of a sturdy pine. A thin mattress covered in a white sheet
|
It's just your standard wooden chair. Uncomfortable and only real
|
||||||
with a down pillow overlaying it. The mattress is too thin to hold anything of
|
usefulness would be as firewood.
|
||||||
value.
|
~
|
||||||
|
E
|
||||||
|
window~
|
||||||
|
Overlooking the western gate you can see the shimmering protective dome.
|
||||||
|
You hope it lasts, peace and tranquility is a good thing.
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
#136
|
#136
|
||||||
|
|
|
||||||
|
|
@ -986,12 +986,15 @@ D3
|
||||||
S
|
S
|
||||||
#2259
|
#2259
|
||||||
Stairs~
|
Stairs~
|
||||||
A crumbling stairwell leads up down into darkness. The steps are cracked
|
A crumbling stairwell leads down into darkness. The steps are cracked and
|
||||||
and fall apart when you put any sizeable force upon them. They seem
|
fall apart when you put any sizeable force upon them. They seem treacherous,
|
||||||
treacherous, but passable. An empty hallway to the west looks far more
|
but passable. An empty hallway to the west looks far more inviting.
|
||||||
inviting.
|
|
||||||
~
|
~
|
||||||
22 8 0 0 0 0
|
22 8 0 0 0 0
|
||||||
|
D1
|
||||||
|
~
|
||||||
|
~
|
||||||
|
0 0 -1
|
||||||
D3
|
D3
|
||||||
~
|
~
|
||||||
~
|
~
|
||||||
|
|
|
||||||
|
|
@ -107,6 +107,7 @@ An Elegant Hall~
|
||||||
Drawings of ancient battles in which the Magi slaughter their foes line both
|
Drawings of ancient battles in which the Magi slaughter their foes line both
|
||||||
sides of the hallway. Depicted on these drawings are a myriad of creatures
|
sides of the hallway. Depicted on these drawings are a myriad of creatures
|
||||||
ranging from ogres, orcs, goblins, and demons to humans, elves, and dwarves.
|
ranging from ogres, orcs, goblins, and demons to humans, elves, and dwarves.
|
||||||
|
One of the paintings looks oddly familiar.
|
||||||
~
|
~
|
||||||
3 8 0 0 0 0
|
3 8 0 0 0 0
|
||||||
D0
|
D0
|
||||||
|
|
@ -122,6 +123,7 @@ D2
|
||||||
~
|
~
|
||||||
0 0 319
|
0 0 319
|
||||||
S
|
S
|
||||||
|
T 304
|
||||||
#305
|
#305
|
||||||
The Baths~
|
The Baths~
|
||||||
The air is musky and hard to breathe due to the hot steam wafting from the
|
The air is musky and hard to breathe due to the hot steam wafting from the
|
||||||
|
|
@ -160,10 +162,11 @@ D2
|
||||||
~
|
~
|
||||||
0 0 321
|
0 0 321
|
||||||
S
|
S
|
||||||
|
T 306
|
||||||
#307
|
#307
|
||||||
A Long Hallway~
|
A Long Hallway~
|
||||||
The barren walls and floor would seem odd anywhere but here as the Clerics of
|
The barren walls and floor would seem odd anywhere but here as the Clerics of
|
||||||
Sanctus consider decorations, desires, or any form od unnecessary wants to be
|
Sanctus consider decorations, desires, or any form of unnecessary wants to be
|
||||||
blasphemous. They dedicate their lives to helping others, never themselves, and
|
blasphemous. They dedicate their lives to helping others, never themselves, and
|
||||||
would all sacrifice their lives for that principle.
|
would all sacrifice their lives for that principle.
|
||||||
~
|
~
|
||||||
|
|
@ -1367,7 +1370,7 @@ and well kept. A single door leads down to the shop below.
|
||||||
D5
|
D5
|
||||||
~
|
~
|
||||||
door~
|
door~
|
||||||
2 0 225
|
1 0 225
|
||||||
E
|
E
|
||||||
sky winds~
|
sky winds~
|
||||||
Cold winds plunge ceaselessly at you from the dark, cloudless sky.
|
Cold winds plunge ceaselessly at you from the dark, cloudless sky.
|
||||||
|
|
|
||||||
|
|
@ -840,11 +840,9 @@ There is a strange hole in the rock wall, circular in shape.
|
||||||
E
|
E
|
||||||
sign signpost~
|
sign signpost~
|
||||||
The signpost reads in ancient runic script:
|
The signpost reads in ancient runic script:
|
||||||
@n
|
|
||||||
The Penultimate Tower of Wizardry was rumored to exist, once, just
|
The Penultimate Tower of Wizardry was rumored to exist, once, just
|
||||||
down this road... who knows if this is true? For though many have
|
down this road... who knows if this is true? For though many have
|
||||||
went on to see, none have returned to claim it true...
|
went on to see, none have returned to claim it true...
|
||||||
@n
|
|
||||||
--Mercutio the Bard of the Realm
|
--Mercutio the Bard of the Realm
|
||||||
~
|
~
|
||||||
E
|
E
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ class range. Remove the extra '0' if you don't need/want it.
|
||||||
Here are some recommended specials for the mobs:
|
Here are some recommended specials for the mobs:
|
||||||
#04 should be given a sleep spell to cast
|
#04 should be given a sleep spell to cast
|
||||||
#47 should be given an undead process.
|
#47 should be given an undead process.
|
||||||
*
|
|
||||||
Zone 301 is linked to the following zones:
|
Zone 301 is linked to the following zones:
|
||||||
302 Campus at 30123 (south) ---> 30236
|
302 Campus at 30123 (south) ---> 30236
|
||||||
302 Campus at 30124 (north) ---> 30250
|
302 Campus at 30124 (north) ---> 30250
|
||||||
|
|
@ -50,6 +50,7 @@ Zone 301 is linked to the following zones:
|
||||||
302 Campus at 30136 (east ) ---> 30266
|
302 Campus at 30136 (east ) ---> 30266
|
||||||
302 Campus at 30140 (south) ---> 30260
|
302 Campus at 30140 (south) ---> 30260
|
||||||
302 Campus at 30142 (north) ---> 30201
|
302 Campus at 30142 (north) ---> 30201
|
||||||
|
|
||||||
302 Campus at 30142 (east ) ---> 30203
|
302 Campus at 30142 (east ) ---> 30203
|
||||||
302 Campus at 30199 (up ) ---> 30200
|
302 Campus at 30199 (up ) ---> 30200
|
||||||
~
|
~
|
||||||
|
|
|
||||||
|
|
@ -706,9 +706,9 @@ S
|
||||||
The Sacrificial Pit~
|
The Sacrificial Pit~
|
||||||
As you climb down into the pit, thousands of spiders cover you, tearing
|
As you climb down into the pit, thousands of spiders cover you, tearing
|
||||||
your fragile body to shreds.
|
your fragile body to shreds.
|
||||||
|
@R
|
||||||
Lloth thanks you for your sacrifice.
|
Lloth thanks you for your sacrifice.
|
||||||
|
@n
|
||||||
~
|
~
|
||||||
51 12 0 0 0 0
|
51 12 0 0 0 0
|
||||||
S
|
S
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@ Sand as far as the eye can see.
|
||||||
E
|
E
|
||||||
pyramid~
|
pyramid~
|
||||||
The massive pyramid rises out of the sand, a monument to long-dead pharoahs.
|
The massive pyramid rises out of the sand, a monument to long-dead pharoahs.
|
||||||
|
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
#5301
|
#5301
|
||||||
|
|
@ -51,7 +50,6 @@ The steep slope of the pyramid rises up before you.
|
||||||
E
|
E
|
||||||
pyramid~
|
pyramid~
|
||||||
You wonder how anyone could have built such a massive thing out in this heat.
|
You wonder how anyone could have built such a massive thing out in this heat.
|
||||||
|
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
#5302
|
#5302
|
||||||
|
|
@ -84,7 +82,6 @@ Far below you are the burning sands of the desert.
|
||||||
E
|
E
|
||||||
pyramid~
|
pyramid~
|
||||||
You wonder how anyone could have built such a massive thing out in this heat.
|
You wonder how anyone could have built such a massive thing out in this heat.
|
||||||
|
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
#5303
|
#5303
|
||||||
|
|
@ -117,7 +114,6 @@ This side of the pyramid has a dangerous drop before the sandy floor.
|
||||||
E
|
E
|
||||||
pyramid~
|
pyramid~
|
||||||
You wonder how anyone could have built such a massive thing out in this heat.
|
You wonder how anyone could have built such a massive thing out in this heat.
|
||||||
|
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
#5304
|
#5304
|
||||||
|
|
@ -150,7 +146,6 @@ This side of the pyramid has a dangerous drop before the sandy floor.
|
||||||
E
|
E
|
||||||
pyramid~
|
pyramid~
|
||||||
You wonder how anyone could have built such a massive thing out in this heat.
|
You wonder how anyone could have built such a massive thing out in this heat.
|
||||||
|
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
#5305
|
#5305
|
||||||
|
|
@ -184,7 +179,6 @@ This side of the pyramid has a dangerous drop before the sandy floor.
|
||||||
E
|
E
|
||||||
pyramid~
|
pyramid~
|
||||||
You wonder how anyone could have built such a massive thing out in this heat.
|
You wonder how anyone could have built such a massive thing out in this heat.
|
||||||
|
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
#5306
|
#5306
|
||||||
|
|
@ -226,9 +220,7 @@ stones~
|
||||||
E
|
E
|
||||||
plaque~
|
plaque~
|
||||||
The plaque reads:
|
The plaque reads:
|
||||||
|
|
||||||
The Great Pyramid
|
The Great Pyramid
|
||||||
|
|
||||||
Created by the Andersen work crew.
|
Created by the Andersen work crew.
|
||||||
~
|
~
|
||||||
E
|
E
|
||||||
|
|
@ -242,12 +234,9 @@ S
|
||||||
On The Dangerous Stones~
|
On The Dangerous Stones~
|
||||||
Here the elements have carved away at the sides of the pyramid quite a
|
Here the elements have carved away at the sides of the pyramid quite a
|
||||||
bit. You aren't so sure of your footing anymore...
|
bit. You aren't so sure of your footing anymore...
|
||||||
|
|
||||||
Suddenly the wind picks up, and you lose your balance!
|
Suddenly the wind picks up, and you lose your balance!
|
||||||
You tumble down the side of the pyramid, and fall to your death!
|
You tumble down the side of the pyramid, and fall to your death!
|
||||||
|
|
||||||
SPLAT.
|
SPLAT.
|
||||||
|
|
||||||
Ouch.
|
Ouch.
|
||||||
~
|
~
|
||||||
53 12 0 0 0 0
|
53 12 0 0 0 0
|
||||||
|
|
@ -458,11 +447,9 @@ S
|
||||||
A Slippery Hole~
|
A Slippery Hole~
|
||||||
The sides of this hole are slippery-smooth. You lower yourself in, and
|
The sides of this hole are slippery-smooth. You lower yourself in, and
|
||||||
proceed to move downward... when suddenly you lose your purchase!
|
proceed to move downward... when suddenly you lose your purchase!
|
||||||
|
@
|
||||||
You fall for what seems like an eternity, and smash into the stones below...
|
You fall for what seems like an eternity, and smash into the stones below...
|
||||||
|
@
|
||||||
|
|
||||||
|
|
||||||
Under The Hole
|
Under The Hole
|
||||||
You are in a small chamber underneath the slippery hole, far below
|
You are in a small chamber underneath the slippery hole, far below
|
||||||
the pyramid now. The floor is strewn with bones. To the south is a
|
the pyramid now. The floor is strewn with bones. To the south is a
|
||||||
|
|
|
||||||
|
|
@ -471,9 +471,8 @@ D0
|
||||||
E
|
E
|
||||||
sign~
|
sign~
|
||||||
The sign reads:
|
The sign reads:
|
||||||
|
@
|
||||||
Closed for renovations
|
Closed for renovations
|
||||||
|
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
#5528
|
#5528
|
||||||
|
|
@ -505,13 +504,12 @@ D3
|
||||||
E
|
E
|
||||||
note~
|
note~
|
||||||
The note reads:
|
The note reads:
|
||||||
|
@
|
||||||
LIST : gives you a list of items for sale.
|
LIST : gives you a list of items for sale.
|
||||||
VALUE : tells you how much an item is worth to Abdul
|
VALUE : tells you how much an item is worth to Abdul
|
||||||
SELL : sells an item to Abdul for a generous sum
|
SELL : sells an item to Abdul for a generous sum
|
||||||
BUY : Abdul's FAVORITE command lets you have an item for his low,
|
BUY : Abdul's FAVORITE command lets you have an item for his low,
|
||||||
low price.
|
low price.
|
||||||
|
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
#5530
|
#5530
|
||||||
|
|
@ -619,11 +617,10 @@ D0
|
||||||
E
|
E
|
||||||
note~
|
note~
|
||||||
The note simply reads:
|
The note simply reads:
|
||||||
|
@
|
||||||
READ THE NOTE IN THE ARMOURY
|
READ THE NOTE IN THE ARMOURY
|
||||||
|
@
|
||||||
Igor.
|
Igor.
|
||||||
|
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
#5537
|
#5537
|
||||||
|
|
@ -875,9 +872,9 @@ D1
|
||||||
E
|
E
|
||||||
banner~
|
banner~
|
||||||
=====================================================================
|
=====================================================================
|
||||||
|
@
|
||||||
H A P P Y B I R T H D A Y T O U S
|
H A P P Y B I R T H D A Y T O U S
|
||||||
|
@
|
||||||
=====================================================================
|
=====================================================================
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
|
|
@ -1076,9 +1073,7 @@ D3
|
||||||
E
|
E
|
||||||
plaque~
|
plaque~
|
||||||
Engraved on the plaque are the following words:
|
Engraved on the plaque are the following words:
|
||||||
|
|
||||||
The Holy Shrine of Allah
|
The Holy Shrine of Allah
|
||||||
|
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
#5566
|
#5566
|
||||||
|
|
@ -1282,7 +1277,6 @@ the walls of the palace from the building itself.
|
||||||
E
|
E
|
||||||
mirror~
|
mirror~
|
||||||
You see a the fighting image of some armor clad humanoid wielding a weapon.
|
You see a the fighting image of some armor clad humanoid wielding a weapon.
|
||||||
|
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
#5577
|
#5577
|
||||||
|
|
@ -1362,13 +1356,10 @@ D3
|
||||||
E
|
E
|
||||||
plaque door~
|
plaque door~
|
||||||
The plaque on the door reads:
|
The plaque on the door reads:
|
||||||
|
|
||||||
THE ART EXHIBIT
|
THE ART EXHIBIT
|
||||||
of
|
of
|
||||||
NEW THALOS
|
NEW THALOS
|
||||||
|
|
||||||
- the management is not responsible for lost items.
|
- the management is not responsible for lost items.
|
||||||
|
|
||||||
~
|
~
|
||||||
S
|
S
|
||||||
#5580
|
#5580
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#0
|
#0
|
||||||
Rumble~
|
Rumble~
|
||||||
The Builder Academy Zone~
|
The Builder Academy Zone~
|
||||||
0 99 1 2
|
0 99 10 2
|
||||||
D 0 89 4 2 (The Prison Cell Corridor)
|
D 0 89 4 2 (The Prison Cell Corridor)
|
||||||
M 0 31 1 89 (the Commissar)
|
M 0 31 1 89 (the Commissar)
|
||||||
G 1 68 99 -1 (the Commissar's key)
|
G 1 68 99 -1 (the Commissar's key)
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,10 @@
|
||||||
CircleMUD~
|
CircleMUD~
|
||||||
God Simplex~
|
God Simplex~
|
||||||
1200 1299 10 0
|
1200 1299 10 0
|
||||||
R 0 1204 3098 -1 (a holy bulletin board)
|
|
||||||
O 0 3098 99 1204 (a holy bulletin board)
|
|
||||||
M 0 1212 1 1200 (the scoreboard mob)
|
M 0 1212 1 1200 (the scoreboard mob)
|
||||||
O 0 1212 1 1200 (a game console)
|
O 0 1212 1 1200 (a game console)
|
||||||
|
R 0 1204 3098 -1 (a holy bulletin board)
|
||||||
|
O 0 3098 99 1204 (a holy bulletin board)
|
||||||
R 0 1293 1227 -1 (a staff bulletin board)
|
R 0 1293 1227 -1 (a staff bulletin board)
|
||||||
O 0 1227 99 1293 (a staff bulletin board)
|
O 0 1227 99 1293 (a staff bulletin board)
|
||||||
R 0 1291 1226 -1 (a builder's bulletin board)
|
R 0 1291 1226 -1 (a builder's bulletin board)
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,12 @@
|
||||||
Rumble~
|
Rumble~
|
||||||
Sanctus III~
|
Sanctus III~
|
||||||
300 399 30 2
|
300 399 30 2
|
||||||
|
M 0 301 1 305 (the naked magi)
|
||||||
|
E 1 326 99 12 (a white towel)
|
||||||
|
M 0 130 3 305 (the maid)
|
||||||
|
E 1 155 99 17 (a feather duster)
|
||||||
|
R 0 305 326 -1 (a white towel)
|
||||||
|
O 0 326 99 305 (a white towel)
|
||||||
R 0 367 308 -1 (a clay jug)
|
R 0 367 308 -1 (a clay jug)
|
||||||
O 0 308 99 367 (a clay jug)
|
O 0 308 99 367 (a clay jug)
|
||||||
O 0 335 1 334 (the large fountain)
|
O 0 335 1 334 (the large fountain)
|
||||||
|
|
@ -80,8 +86,6 @@ E 1 26306 99 5 (a flowered dress)
|
||||||
M 0 179 3 317 (the recruit)
|
M 0 179 3 317 (the recruit)
|
||||||
M 0 194 3 314 (the mouse)
|
M 0 194 3 314 (the mouse)
|
||||||
M 0 193 3 312 (the dove)
|
M 0 193 3 312 (the dove)
|
||||||
M 0 130 3 305 (the maid)
|
|
||||||
E 1 155 99 17 (a feather duster)
|
|
||||||
M 0 105 3 315 (the balding man)
|
M 0 105 3 315 (the balding man)
|
||||||
E 1 31612 99 6 (a pair of reading glasses)
|
E 1 31612 99 6 (a pair of reading glasses)
|
||||||
M 0 100 3 309 (the young man)
|
M 0 100 3 309 (the young man)
|
||||||
|
|
|
||||||
|
|
@ -2222,19 +2222,7 @@ ACMD(do_commands)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* display commands list in a nice columnized format */
|
/* display commands list in a nice columnized format */
|
||||||
column_list(buf + strlen(buf), sizeof(buf) - strlen(buf),
|
column_list(ch, 7, commands, no, FALSE);
|
||||||
/* subtract 1 or 2 lines (the pager adds 1 or 2) */
|
|
||||||
/* also "skip" a line since we printed a header above */
|
|
||||||
GET_PAGE_LENGTH(ch) - (PRF_FLAGGED(ch, PRF_COMPACT) ? 1 : 2), 1,
|
|
||||||
/* 7 columns; no == how many elements, 0 offset */
|
|
||||||
7, commands, no, 0, "$11l");
|
|
||||||
|
|
||||||
if (overflow < 0) {
|
|
||||||
log("SYSERR: Too many commands for do_commands; increase size of *commands array.");
|
|
||||||
strncat(buf, "\r\n** OVERFLOW **\r\n", sizeof(buf) - strlen(buf));
|
|
||||||
}
|
|
||||||
|
|
||||||
page_string(ch->desc, buf, TRUE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void free_history(struct char_data *ch, int type)
|
void free_history(struct char_data *ch, int type)
|
||||||
|
|
|
||||||
14
src/class.c
14
src/class.c
|
|
@ -1918,8 +1918,8 @@ const char *title_male(int chclass, int level)
|
||||||
case 20: return "the Cut-Throat";
|
case 20: return "the Cut-Throat";
|
||||||
/* no one ever thought up these titles 21-30 */
|
/* no one ever thought up these titles 21-30 */
|
||||||
case LVL_IMMORT: return "the Immortal Assassin";
|
case LVL_IMMORT: return "the Immortal Assassin";
|
||||||
case LVL_GOD: return "the Demi God of thieves";
|
case LVL_GOD: return "the Demi God of Thieves";
|
||||||
case LVL_GRGOD: return "the God of thieves and tradesmen";
|
case LVL_GRGOD: return "the God of Thieves and Tradesmen";
|
||||||
default: return "the Thief";
|
default: return "the Thief";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -1949,7 +1949,7 @@ const char *title_male(int chclass, int level)
|
||||||
/* no one ever thought up these titles 21-30 */
|
/* no one ever thought up these titles 21-30 */
|
||||||
case LVL_IMMORT: return "the Immortal Warlord";
|
case LVL_IMMORT: return "the Immortal Warlord";
|
||||||
case LVL_GOD: return "the Extirpator";
|
case LVL_GOD: return "the Extirpator";
|
||||||
case LVL_GRGOD: return "the God of war";
|
case LVL_GRGOD: return "the God of War";
|
||||||
default: return "the Warrior";
|
default: return "the Warrior";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -2033,7 +2033,7 @@ const char *title_female(int chclass, int level)
|
||||||
/* no one ever thought up these titles 21-30 */
|
/* no one ever thought up these titles 21-30 */
|
||||||
case LVL_IMMORT: return "the Immortal Priestess";
|
case LVL_IMMORT: return "the Immortal Priestess";
|
||||||
case LVL_GOD: return "the Inquisitress";
|
case LVL_GOD: return "the Inquisitress";
|
||||||
case LVL_GRGOD: return "the Goddess of good and evil";
|
case LVL_GRGOD: return "the Goddess of Good and Evil";
|
||||||
default: return "the Cleric";
|
default: return "the Cleric";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -2062,8 +2062,8 @@ const char *title_female(int chclass, int level)
|
||||||
case 20: return "the Cut-Throat";
|
case 20: return "the Cut-Throat";
|
||||||
/* no one ever thought up these titles 21-30 */
|
/* no one ever thought up these titles 21-30 */
|
||||||
case LVL_IMMORT: return "the Immortal Assassin";
|
case LVL_IMMORT: return "the Immortal Assassin";
|
||||||
case LVL_GOD: return "the Demi Goddess of thieves";
|
case LVL_GOD: return "the Demi Goddess of Thieves";
|
||||||
case LVL_GRGOD: return "the Goddess of thieves and tradesmen";
|
case LVL_GRGOD: return "the Goddess of Thieves and Tradesmen";
|
||||||
default: return "the Thief";
|
default: return "the Thief";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -2093,7 +2093,7 @@ const char *title_female(int chclass, int level)
|
||||||
/* no one ever thought up these titles 21-30 */
|
/* no one ever thought up these titles 21-30 */
|
||||||
case LVL_IMMORT: return "the Immortal Lady of War";
|
case LVL_IMMORT: return "the Immortal Lady of War";
|
||||||
case LVL_GOD: return "the Queen of Destruction";
|
case LVL_GOD: return "the Queen of Destruction";
|
||||||
case LVL_GRGOD: return "the Goddess of war";
|
case LVL_GRGOD: return "the Goddess of War";
|
||||||
default: return "the Warrior";
|
default: return "the Warrior";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
* @todo cpp_extern isn't needed here (or anywhere) as the extern reserved word
|
* @todo cpp_extern isn't needed here (or anywhere) as the extern reserved word
|
||||||
* works correctly with C compilers (at least in my Experience)
|
* works correctly with C compilers (at least in my Experience)
|
||||||
* Jeremy Osborne 1/28/2008 */
|
* Jeremy Osborne 1/28/2008 */
|
||||||
cpp_extern const char *tbamud_version = "tbaMUD 3.57";
|
cpp_extern const char *tbamud_version = "tbaMUD 3.58";
|
||||||
|
|
||||||
/* strings corresponding to ordinals/bitvectors in structs.h */
|
/* strings corresponding to ordinals/bitvectors in structs.h */
|
||||||
/* (Note: strings for class definitions in class.c instead of here) */
|
/* (Note: strings for class definitions in class.c instead of here) */
|
||||||
|
|
|
||||||
|
|
@ -864,7 +864,7 @@ void find_replacement(void *go, struct script_data *sc, trig_data *trig,
|
||||||
if (IS_NPC(c))
|
if (IS_NPC(c))
|
||||||
strcpy(str, "0");
|
strcpy(str, "0");
|
||||||
else {
|
else {
|
||||||
if ((GET_QUEST(c) != NOTHING) && (real_quest(GET_QUEST(c)) == NOTHING))
|
if ((GET_QUEST(c) != NOTHING) && (real_quest(GET_QUEST(c)) != NOTHING))
|
||||||
snprintf(str, slen, "%d", GET_QUEST(c));
|
snprintf(str, slen, "%d", GET_QUEST(c));
|
||||||
else
|
else
|
||||||
strcpy(str, "0");
|
strcpy(str, "0");
|
||||||
|
|
|
||||||
16
src/genqst.c
16
src/genqst.c
|
|
@ -82,6 +82,7 @@ void free_quest(struct aq_data *quest)
|
||||||
int add_quest(struct aq_data *nqst)
|
int add_quest(struct aq_data *nqst)
|
||||||
{
|
{
|
||||||
qst_rnum rnum;
|
qst_rnum rnum;
|
||||||
|
mob_rnum qmrnum;
|
||||||
zone_rnum rznum = real_zone_by_thing(nqst->vnum);
|
zone_rnum rznum = real_zone_by_thing(nqst->vnum);
|
||||||
|
|
||||||
/* The quest already exists, just update it. */
|
/* The quest already exists, just update it. */
|
||||||
|
|
@ -105,12 +106,13 @@ int add_quest(struct aq_data *nqst)
|
||||||
}
|
}
|
||||||
copy_quest(&aquest_table[rnum], nqst, FALSE);
|
copy_quest(&aquest_table[rnum], nqst, FALSE);
|
||||||
}
|
}
|
||||||
|
qmrnum = real_mobile(QST_MASTER(rnum));
|
||||||
/* Make sure we assign spec procs to the questmaster */
|
/* Make sure we assign spec procs to the questmaster */
|
||||||
if (QST_MASTER(rnum) != NOBODY && mob_index[QST_MASTER(rnum)].func &&
|
if (qmrnum != NOBODY && mob_index[qmrnum].func &&
|
||||||
mob_index[QST_MASTER(rnum)].func != questmaster)
|
mob_index[qmrnum].func != questmaster)
|
||||||
QST_FUNC(rnum) = mob_index[QST_MASTER(rnum)].func;
|
QST_FUNC(rnum) = mob_index[qmrnum].func;
|
||||||
if(QST_MASTER(rnum) != NOBODY)
|
if(qmrnum != NOBODY)
|
||||||
mob_index[QST_MASTER(rnum)].func = questmaster;
|
mob_index[qmrnum].func = questmaster;
|
||||||
|
|
||||||
/* And make sure we save the updated quest information to disk */
|
/* And make sure we save the updated quest information to disk */
|
||||||
if (rznum != NOWHERE)
|
if (rznum != NOWHERE)
|
||||||
|
|
@ -128,7 +130,7 @@ int delete_quest(qst_rnum rnum)
|
||||||
{
|
{
|
||||||
qst_rnum i;
|
qst_rnum i;
|
||||||
zone_rnum rznum;
|
zone_rnum rznum;
|
||||||
mob_rnum qm = QST_MASTER(rnum);
|
mob_vnum qm = QST_MASTER(rnum);
|
||||||
SPECIAL (*tempfunc);
|
SPECIAL (*tempfunc);
|
||||||
int quests_remaining = 0;
|
int quests_remaining = 0;
|
||||||
|
|
||||||
|
|
@ -235,7 +237,7 @@ int save_quests(zone_rnum zone_num)
|
||||||
quest_done, STRING_TERMINATOR,
|
quest_done, STRING_TERMINATOR,
|
||||||
quest_quit, STRING_TERMINATOR,
|
quest_quit, STRING_TERMINATOR,
|
||||||
QST_TYPE(rnum),
|
QST_TYPE(rnum),
|
||||||
QST_MASTER(rnum) == NOBODY ? -1 : mob_index[QST_MASTER(rnum)].vnum,
|
QST_MASTER(rnum) == NOBODY ? -1 : QST_MASTER(rnum),
|
||||||
quest_flags,
|
quest_flags,
|
||||||
QST_TARGET(rnum) == NOTHING ? -1 : QST_TARGET(rnum),
|
QST_TARGET(rnum) == NOTHING ? -1 : QST_TARGET(rnum),
|
||||||
QST_PREV(rnum) == NOTHING ? -1 : QST_PREV(rnum),
|
QST_PREV(rnum) == NOTHING ? -1 : QST_PREV(rnum),
|
||||||
|
|
|
||||||
11
src/medit.c
11
src/medit.c
|
|
@ -340,10 +340,7 @@ static void medit_disp_mob_flags(struct descriptor_data *d)
|
||||||
get_char_colors(d->character);
|
get_char_colors(d->character);
|
||||||
clear_screen(d);
|
clear_screen(d);
|
||||||
|
|
||||||
column_list(buf, sizeof(buf), 0, 0,
|
column_list(d->character, 2, action_bits, NUM_MOB_FLAGS, TRUE);
|
||||||
2, action_bits, NUM_MOB_FLAGS, 0,
|
|
||||||
"%s$2i%s) $20l", grn, nrm);
|
|
||||||
write_to_output(d, "%s", buf);
|
|
||||||
|
|
||||||
sprintbitarray(MOB_FLAGS(OLC_MOB(d)), action_bits, AF_ARRAY_MAX, buf);
|
sprintbitarray(MOB_FLAGS(OLC_MOB(d)), action_bits, AF_ARRAY_MAX, buf);
|
||||||
write_to_output(d, "\r\nCurrent flags : %s%s%s\r\nEnter mob flags (0 to quit) : ",
|
write_to_output(d, "\r\nCurrent flags : %s%s%s\r\nEnter mob flags (0 to quit) : ",
|
||||||
|
|
@ -358,10 +355,8 @@ static void medit_disp_aff_flags(struct descriptor_data *d)
|
||||||
get_char_colors(d->character);
|
get_char_colors(d->character);
|
||||||
clear_screen(d);
|
clear_screen(d);
|
||||||
|
|
||||||
column_list(buf, sizeof(buf), 0, 0,
|
/* +1 since AFF_FLAGS don't start at 0. */
|
||||||
2, affected_bits, NUM_AFF_FLAGS, 1,
|
column_list(d->character, 2, affected_bits + 1, NUM_AFF_FLAGS, TRUE);
|
||||||
"%s$2i%s) $20l", grn, nrm);
|
|
||||||
write_to_output(d, "%s", buf);
|
|
||||||
|
|
||||||
sprintbitarray(AFF_FLAGS(OLC_MOB(d)), affected_bits, AF_ARRAY_MAX, buf);
|
sprintbitarray(AFF_FLAGS(OLC_MOB(d)), affected_bits, AF_ARRAY_MAX, buf);
|
||||||
write_to_output(d, "\r\nCurrent flags : %s%s%s\r\nEnter aff flags (0 to quit) : ",
|
write_to_output(d, "\r\nCurrent flags : %s%s%s\r\nEnter aff flags (0 to quit) : ",
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,7 @@ void mobile_activity(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Aggressive Mobs */
|
/* Aggressive Mobs */
|
||||||
if (MOB_FLAGGED(ch, MOB_HELPER) && (!AFF_FLAGGED(ch, AFF_BLIND) || !AFF_FLAGGED(ch, AFF_CHARM))) {
|
if (!MOB_FLAGGED(ch, MOB_HELPER) && (!AFF_FLAGGED(ch, AFF_BLIND) || !AFF_FLAGGED(ch, AFF_CHARM))) {
|
||||||
found = FALSE;
|
found = FALSE;
|
||||||
for (vict = world[IN_ROOM(ch)].people; vict && !found; vict = vict->next_in_room) {
|
for (vict = world[IN_ROOM(ch)].people; vict && !found; vict = vict->next_in_room) {
|
||||||
if (IS_NPC(vict) || !CAN_SEE(ch, vict) || PRF_FLAGGED(vict, PRF_NOHASSLE))
|
if (IS_NPC(vict) || !CAN_SEE(ch, vict) || PRF_FLAGGED(vict, PRF_NOHASSLE))
|
||||||
|
|
|
||||||
|
|
@ -329,8 +329,8 @@ static void qedit_disp_menu(struct descriptor_data *d)
|
||||||
quest_flags,
|
quest_flags,
|
||||||
quest_types[quest->type],
|
quest_types[quest->type],
|
||||||
quest->type == AQ_OBJ_RETURN ? buf2 : "",
|
quest->type == AQ_OBJ_RETURN ? buf2 : "",
|
||||||
quest->qm == NOBODY ? -1 : mob_index[quest->qm].vnum,
|
quest->qm == NOBODY ? -1 : quest->qm,
|
||||||
quest->qm == NOBODY ? "none" : mob_proto[quest->qm].player.short_descr,
|
real_mobile(quest->qm) == NOBODY ? "Invalid Mob" : mob_proto[(real_mobile(quest->qm))].player.short_descr,
|
||||||
quest->target == NOBODY ? -1 : quest->target, targetname,
|
quest->target == NOBODY ? -1 : quest->target, targetname,
|
||||||
quest->value[6],
|
quest->value[6],
|
||||||
quest->value[0], quest->value[1],
|
quest->value[0], quest->value[1],
|
||||||
|
|
@ -605,7 +605,7 @@ void qedit_parse(struct descriptor_data *d, char *arg)
|
||||||
break;
|
break;
|
||||||
case QEDIT_QUESTMASTER:
|
case QEDIT_QUESTMASTER:
|
||||||
if (number != -1)
|
if (number != -1)
|
||||||
if ((number = real_mobile(number)) == NOBODY) {
|
if (real_mobile(number) == NOBODY) {
|
||||||
write_to_output(d, "That mobile does not exist, try again : ");
|
write_to_output(d, "That mobile does not exist, try again : ");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
27
src/quest.c
27
src/quest.c
|
|
@ -81,7 +81,7 @@ int is_complete(struct char_data *ch, qst_vnum vnum)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
qst_vnum find_quest_by_qmnum(struct char_data *ch, mob_rnum qm, int num)
|
qst_vnum find_quest_by_qmnum(struct char_data *ch, mob_vnum qm, int num)
|
||||||
{
|
{
|
||||||
qst_rnum rnum;
|
qst_rnum rnum;
|
||||||
int found=0;
|
int found=0;
|
||||||
|
|
@ -166,7 +166,7 @@ void parse_quest(FILE *quest_f, int nr)
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
aquest_table[i].type = t[0];
|
aquest_table[i].type = t[0];
|
||||||
aquest_table[i].qm = real_mobile(t[1]);
|
aquest_table[i].qm = (real_mobile(t[1]) == NOBODY) ? NOBODY : t[1];
|
||||||
aquest_table[i].flags = asciiflag_conv(f1);
|
aquest_table[i].flags = asciiflag_conv(f1);
|
||||||
aquest_table[i].target = (t[2] == -1) ? NOTHING : t[2];
|
aquest_table[i].target = (t[2] == -1) ? NOTHING : t[2];
|
||||||
aquest_table[i].prev_quest = (t[3] == -1) ? NOTHING : t[3];
|
aquest_table[i].prev_quest = (t[3] == -1) ? NOTHING : t[3];
|
||||||
|
|
@ -211,6 +211,7 @@ void parse_quest(FILE *quest_f, int nr)
|
||||||
void assign_the_quests(void)
|
void assign_the_quests(void)
|
||||||
{
|
{
|
||||||
qst_rnum rnum;
|
qst_rnum rnum;
|
||||||
|
mob_rnum mrnum;
|
||||||
|
|
||||||
cmd_tell = find_command("tell");
|
cmd_tell = find_command("tell");
|
||||||
|
|
||||||
|
|
@ -219,10 +220,14 @@ void assign_the_quests(void)
|
||||||
log("SYSERR: Quest #%d has no questmaster specified.", QST_NUM(rnum));
|
log("SYSERR: Quest #%d has no questmaster specified.", QST_NUM(rnum));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if ((mrnum = real_mobile(QST_MASTER(rnum))) == NOBODY) {
|
||||||
|
log("SYSERR: Quest #%d has an invalid questmaster.", QST_NUM(rnum));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (mob_index[QST_MASTER(rnum)].func &&
|
if (mob_index[QST_MASTER(rnum)].func &&
|
||||||
mob_index[QST_MASTER(rnum)].func != questmaster)
|
mob_index[(mrnum)].func != questmaster)
|
||||||
QST_FUNC(rnum) = mob_index[QST_MASTER(rnum)].func;
|
QST_FUNC(rnum) = mob_index[(mrnum)].func;
|
||||||
mob_index[QST_MASTER(rnum)].func = questmaster;
|
mob_index[(mrnum)].func = questmaster;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -439,7 +444,7 @@ void list_quests(struct char_data *ch, zone_rnum zone, qst_vnum vmin, qst_vnum v
|
||||||
if (QST_NUM(rnum) >= bottom && QST_NUM(rnum) <= top)
|
if (QST_NUM(rnum) >= bottom && QST_NUM(rnum) <= top)
|
||||||
send_to_char(ch, "@g%4d@n) [@g%-5d@n] @c%-44.44s@n @y[%5d]@n\r\n",
|
send_to_char(ch, "@g%4d@n) [@g%-5d@n] @c%-44.44s@n @y[%5d]@n\r\n",
|
||||||
++counter, QST_NUM(rnum), QST_NAME(rnum),
|
++counter, QST_NUM(rnum), QST_NAME(rnum),
|
||||||
QST_MASTER(rnum) == NOBODY ? 0 : mob_index[QST_MASTER(rnum)].vnum);
|
QST_MASTER(rnum) == NOBODY ? 0 : QST_MASTER(rnum));
|
||||||
if (!counter)
|
if (!counter)
|
||||||
send_to_char(ch, "None found.\r\n");
|
send_to_char(ch, "None found.\r\n");
|
||||||
}
|
}
|
||||||
|
|
@ -455,7 +460,7 @@ void quest_hist(struct char_data *ch)
|
||||||
for (i = 0; i < GET_NUM_QUESTS(ch); i++) {
|
for (i = 0; i < GET_NUM_QUESTS(ch); i++) {
|
||||||
if ((rnum = real_quest(ch->player_specials->saved.completed_quests[i])) != NOTHING)
|
if ((rnum = real_quest(ch->player_specials->saved.completed_quests[i])) != NOTHING)
|
||||||
send_to_char(ch, "@g%4d@n) @c%-52.52s@n @y%s@n\r\n",
|
send_to_char(ch, "@g%4d@n) @c%-52.52s@n @y%s@n\r\n",
|
||||||
++counter, QST_DESC(rnum), GET_NAME(&mob_proto[QST_MASTER(rnum)]));
|
++counter, QST_DESC(rnum), (real_mobile(QST_MASTER(rnum)) == NOBODY) ? "Unknown" : GET_NAME(&mob_proto[(real_mobile(QST_MASTER(rnum)))]));
|
||||||
else
|
else
|
||||||
send_to_char(ch,
|
send_to_char(ch,
|
||||||
"@g%4d@n) @cUnknown Quest (it no longer exists)@n\r\n", ++counter);
|
"@g%4d@n) @cUnknown Quest (it no longer exists)@n\r\n", ++counter);
|
||||||
|
|
@ -598,7 +603,7 @@ void quest_progress(struct char_data *ch)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void quest_show(struct char_data *ch, mob_rnum qm)
|
void quest_show(struct char_data *ch, mob_vnum qm)
|
||||||
{
|
{
|
||||||
qst_rnum rnum;
|
qst_rnum rnum;
|
||||||
int counter = 0;
|
int counter = 0;
|
||||||
|
|
@ -619,6 +624,7 @@ void quest_show(struct char_data *ch, mob_rnum qm)
|
||||||
void quest_stat(struct char_data *ch, char argument[MAX_STRING_LENGTH])
|
void quest_stat(struct char_data *ch, char argument[MAX_STRING_LENGTH])
|
||||||
{
|
{
|
||||||
qst_rnum rnum;
|
qst_rnum rnum;
|
||||||
|
mob_rnum qmrnum;
|
||||||
char buf[MAX_STRING_LENGTH];
|
char buf[MAX_STRING_LENGTH];
|
||||||
char targetname[MAX_STRING_LENGTH];
|
char targetname[MAX_STRING_LENGTH];
|
||||||
|
|
||||||
|
|
@ -657,6 +663,7 @@ void quest_stat(struct char_data *ch, char argument[MAX_STRING_LENGTH])
|
||||||
snprintf(targetname, sizeof(targetname), "Unknown");
|
snprintf(targetname, sizeof(targetname), "Unknown");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
qmrnum = real_mobile(QST_MASTER(rnum));
|
||||||
send_to_char(ch,
|
send_to_char(ch,
|
||||||
"VNum : [@y%5d@n], RNum: [@y%5d@n] -- Questmaster: [@y%5d@n] @y%s@n\r\n"
|
"VNum : [@y%5d@n], RNum: [@y%5d@n] -- Questmaster: [@y%5d@n] @y%s@n\r\n"
|
||||||
"Name : @y%s@n\r\n"
|
"Name : @y%s@n\r\n"
|
||||||
|
|
@ -769,7 +776,7 @@ SPECIAL(questmaster)
|
||||||
|
|
||||||
/* check that qm mob has quests assigned */
|
/* check that qm mob has quests assigned */
|
||||||
for (rnum = 0; (rnum < total_quests &&
|
for (rnum = 0; (rnum < total_quests &&
|
||||||
QST_MASTER(rnum) != GET_MOB_RNUM(qm)) ; rnum ++);
|
QST_MASTER(rnum) != GET_MOB_VNUM(qm)) ; rnum ++);
|
||||||
if (rnum >= total_quests)
|
if (rnum >= total_quests)
|
||||||
return FALSE; /* No quests for this mob */
|
return FALSE; /* No quests for this mob */
|
||||||
else if (QST_FUNC(rnum) && (QST_FUNC(rnum) (ch, me, cmd, argument)))
|
else if (QST_FUNC(rnum) && (QST_FUNC(rnum) (ch, me, cmd, argument)))
|
||||||
|
|
@ -784,7 +791,7 @@ SPECIAL(questmaster)
|
||||||
switch (tp) {
|
switch (tp) {
|
||||||
case SCMD_QUEST_LIST:
|
case SCMD_QUEST_LIST:
|
||||||
if (!*arg2)
|
if (!*arg2)
|
||||||
quest_show(ch, GET_MOB_RNUM(qm));
|
quest_show(ch, GET_MOB_VNUM(qm));
|
||||||
else
|
else
|
||||||
quest_list(ch, qm, arg2);
|
quest_list(ch, qm, arg2);
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ struct aq_data {
|
||||||
char *quit; /* Message displayed when quit quest */
|
char *quit; /* Message displayed when quit quest */
|
||||||
long flags; /* Flags (repeatable, etc */
|
long flags; /* Flags (repeatable, etc */
|
||||||
int type; /* Quest type */
|
int type; /* Quest type */
|
||||||
mob_rnum qm; /* questmaster offering quest */
|
mob_vnum qm; /* questmaster offering quest */
|
||||||
int target; /* Target value */
|
int target; /* Target value */
|
||||||
obj_vnum prereq; /* Object required to undertake quest */
|
obj_vnum prereq; /* Object required to undertake quest */
|
||||||
int value[7]; /* Quest values */
|
int value[7]; /* Quest values */
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
* on an older version. You are supposed to compare this with the macro
|
* on an older version. You are supposed to compare this with the macro
|
||||||
* TBAMUD_VERSION() in utils.h.
|
* TBAMUD_VERSION() in utils.h.
|
||||||
* It is read as Major/Minor/Patchlevel - MMmmPP */
|
* It is read as Major/Minor/Patchlevel - MMmmPP */
|
||||||
#define _TBAMUD 0x030570
|
#define _TBAMUD 0x030580
|
||||||
|
|
||||||
/** If you want equipment to be automatically equipped to the same place
|
/** If you want equipment to be automatically equipped to the same place
|
||||||
* it was when players rented, set the define below to 1 because
|
* it was when players rented, set the define below to 1 because
|
||||||
|
|
|
||||||
226
src/utils.c
226
src/utils.c
|
|
@ -16,6 +16,7 @@
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "db.h"
|
#include "db.h"
|
||||||
#include "comm.h"
|
#include "comm.h"
|
||||||
|
#include "modify.h"
|
||||||
#include "screen.h"
|
#include "screen.h"
|
||||||
#include "spells.h"
|
#include "spells.h"
|
||||||
#include "handler.h"
|
#include "handler.h"
|
||||||
|
|
@ -932,194 +933,65 @@ void char_from_furniture(struct char_data *ch)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Helper function for column_list. */
|
/* column_list
|
||||||
void process_column_list_format(char **out_buffer, const char *format,
|
The list is output in a fixed format, and only the number of columns can be adjusted
|
||||||
int buf_left, int index_data, const char *item)
|
This function will output the list to the player
|
||||||
|
Vars:
|
||||||
|
ch - the player
|
||||||
|
num_cols - the desired number of columns
|
||||||
|
list - a pointer to a list of strings
|
||||||
|
list_length - So we can work with lists that don't end with /n
|
||||||
|
show_nums - when set to TRUE, it will show a number before the list entry.
|
||||||
|
*/
|
||||||
|
void column_list(struct char_data *ch, int num_cols, const char **list, int list_length, bool show_nums)
|
||||||
{
|
{
|
||||||
/* Initialize the index format with a % */
|
int num_per_col, col_width,r,c,i, offset=0, len=0, temp_len, max_len=0;
|
||||||
char index_format[80] = {'%'};
|
char buf[MAX_STRING_LENGTH];
|
||||||
int i;
|
|
||||||
|
|
||||||
/* Copy the format to the output buffer character by character. */
|
/* Ensure that the number of columns is in the range 1-10 */
|
||||||
while (*format && buf_left >= 2) {
|
num_cols = MIN(MAX(num_cols,1), 10);
|
||||||
|
|
||||||
/* A '$' signifies a 'control-code'. */
|
/* Work out the longest list item */
|
||||||
if (*format == '$') {
|
for (i=0; i<list_length; i++)
|
||||||
++format;
|
if (max_len < strlen(list[i]))
|
||||||
|
max_len = strlen(list[i]);
|
||||||
|
|
||||||
/*
|
/* Calculate the width of each column */
|
||||||
* Begin by assuming the caller has supplied a number here
|
col_width = (GET_SCREEN_WIDTH(ch)) / num_cols;
|
||||||
* (something that looks like $3i). Then collect this number
|
if (show_nums) col_width-=4;
|
||||||
* into the index_format after the %.
|
|
||||||
*/
|
|
||||||
i = 1;
|
|
||||||
while (isdigit(*format) && i < 78)
|
|
||||||
index_format[i++] = *(format++);
|
|
||||||
index_format[i++] = 'd';
|
|
||||||
index_format[i] = '\0';
|
|
||||||
|
|
||||||
/* There may not be enough space left for the index. */
|
if (col_width < max_len)
|
||||||
if (buf_left < 12)
|
log("Warning: columns too narrow for correct output to %s in simple_column_list (utils.c)", GET_NAME(ch));
|
||||||
break;
|
|
||||||
|
|
||||||
/*
|
/* Calculate how many list items there should be per column */
|
||||||
* Okay, output the current index using the index format
|
num_per_col = (list_length / num_cols) + ((list_length % num_cols) ? 1 : 0);
|
||||||
* we already constructed above.
|
|
||||||
*/
|
|
||||||
else if (*format == 'i')
|
|
||||||
*out_buffer += sprintf(*out_buffer, index_format, index_data);
|
|
||||||
|
|
||||||
/*
|
/* Fill 'buf' with the columnised list */
|
||||||
* Or output the current list item. Use part of the
|
for (r=0; r<num_per_col; r++)
|
||||||
* index format collected above to decide how wide the
|
{
|
||||||
* list item should be displayed.
|
for (c=0; c<num_cols; c++)
|
||||||
*/
|
{
|
||||||
else if (*format == 'l') {
|
offset = (c*num_per_col)+r;
|
||||||
/* skip the %. atoi ignores the d too */
|
if (offset < list_length)
|
||||||
i = atoi(index_format + 1);
|
{
|
||||||
/* if no width, set to -1 (any width) */
|
if (show_nums)
|
||||||
if (!i) --i;
|
temp_len = snprintf(buf+len, sizeof(buf) - len, "%2d) %-*s", offset+1, col_width, list[(offset)]);
|
||||||
|
else
|
||||||
|
temp_len = snprintf(buf+len, sizeof(buf) - len, "%-*s", col_width, list[(offset)]);
|
||||||
|
len += temp_len;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
temp_len = snprintf(buf+len, sizeof(buf) - len, "\r\n");
|
||||||
|
len += temp_len;
|
||||||
|
}
|
||||||
|
|
||||||
/* copy the list item to the output buffer */
|
if (len >= sizeof(buf))
|
||||||
while (*item && buf_left >= 2 && i != 0) {
|
snprintf((buf + MAX_STRING_LENGTH) - 22, 22, "\r\n*** OVERFLOW ***\r\n");
|
||||||
*((*out_buffer)++) = *(item++);
|
|
||||||
--buf_left;
|
|
||||||
--i;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* if width was specified above, pad the list item */
|
/* Send the list to the player */
|
||||||
while (i-- > 0 && buf_left >= 2) {
|
page_string(ch->desc, buf, TRUE);
|
||||||
*((*out_buffer)++) = ' ';
|
|
||||||
--buf_left;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Or just output a $ */
|
|
||||||
else if (*format == '$') {
|
|
||||||
*((*out_buffer)++) = '$';
|
|
||||||
--buf_left;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Whoa, at the end of the format already? */
|
|
||||||
else if (!*format)
|
|
||||||
break;
|
|
||||||
|
|
||||||
++format;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Not a '$' control code. Simply copy the character. */
|
|
||||||
else {
|
|
||||||
*((*out_buffer)++) = *(format++);
|
|
||||||
--buf_left;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Make sure it's nul-terminated. */
|
|
||||||
**out_buffer = '\0';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Takes a list of strings and a display format, and formats them
|
|
||||||
* in a list by column (sequential items in the list are aligned
|
|
||||||
* vertically, then horizontally). This function supports varargs
|
|
||||||
* for the format string that describes how each item should look.
|
|
||||||
* @param[out] out_buffer The buffer to write to.
|
|
||||||
* @param[in] buf_left The size of the buffer.
|
|
||||||
* @param[in] page_length How many lines per page? 0 means no paging.
|
|
||||||
* @param[in] skip_lines How many lines to skip on the first page?
|
|
||||||
* @param[in] columns How many columns should be displayed?
|
|
||||||
* @param[in] list The array of strings to format.
|
|
||||||
* @param[in] list_length How many elements are in the list? We won't rely on
|
|
||||||
* lists ending with a newline element.
|
|
||||||
* @param[in] list_offset Is the list offset and by how much? For instance,
|
|
||||||
* affect flags are offset by one when displayed in medit.
|
|
||||||
* @param[in] format The format string for displaying each
|
|
||||||
* item in the list. Use "$#i" and "$#l" in the format string to determine
|
|
||||||
* how wide the index position and list item should be. For instance,
|
|
||||||
* "$2i $20l" would be equivalent to a printf "%2d %-20.20s".
|
|
||||||
* @param[in] ... Additional args for formatting the list display.
|
|
||||||
*/
|
|
||||||
void column_list(char *out_buffer, int buf_left, int page_length,
|
|
||||||
int skip_lines, int columns, const char **list,
|
|
||||||
int list_length, int list_offset,
|
|
||||||
const char *format, ...)
|
|
||||||
{
|
|
||||||
int i, j = 0, k, rows, visited = 0;
|
|
||||||
char line[80];
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
--buf_left;
|
|
||||||
|
|
||||||
/* We only need to parse the given format string for %'s once. */
|
|
||||||
va_start(args, format);
|
|
||||||
vsnprintf(line, sizeof(line), format, args);
|
|
||||||
va_end(args);
|
|
||||||
|
|
||||||
/* A page_length <= 0 means don't page output. */
|
|
||||||
if (page_length <= 0)
|
|
||||||
page_length = list_length;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The list index jumps around, since we want to display
|
|
||||||
* the list items by columns. For instance, in the first
|
|
||||||
* row, the second column's item will be approximately
|
|
||||||
* page_length positions in the list away from the item
|
|
||||||
* in the first column of the same row.
|
|
||||||
* So we use this macro.
|
|
||||||
*/
|
|
||||||
#define LIST_INDEX (page_length * columns * k + rows * j + i - \
|
|
||||||
(k == 0 ? 0 : skip_lines * columns))
|
|
||||||
|
|
||||||
/* Traverse by page... */
|
|
||||||
for (k = 0; k <= list_length / (page_length * columns); ++k) {
|
|
||||||
rows = MIN(page_length, (list_length - visited) / columns + 1);
|
|
||||||
if (k == 0)
|
|
||||||
rows -= skip_lines;
|
|
||||||
/* And then by row... */
|
|
||||||
for (i = 0; i < rows; ++i) {
|
|
||||||
/* And then by column... */
|
|
||||||
for (j = 0; j < columns; ++j) {
|
|
||||||
/* If the index is too high, break out. */
|
|
||||||
if (LIST_INDEX >= list_length)
|
|
||||||
break;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If space still remains in the buffer, process the next
|
|
||||||
* list item and print it to the buffer. Otherwise,
|
|
||||||
* complain about an overflow.
|
|
||||||
*/
|
|
||||||
if (buf_left > sizeof(line)) {
|
|
||||||
/*
|
|
||||||
* Now the real magic. Replace $i and $l with the index
|
|
||||||
* and list item. Don't let each displayed list item be wider
|
|
||||||
* than (an arbitrary) 80 characters. Also, allow a list
|
|
||||||
* offset in case we want to skip the first list item or
|
|
||||||
* something (like for affection flags).
|
|
||||||
*/
|
|
||||||
process_column_list_format(&out_buffer, line, sizeof(line),
|
|
||||||
LIST_INDEX + 1,
|
|
||||||
list[LIST_INDEX + list_offset]);
|
|
||||||
++visited;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
strcpy(out_buffer + (buf_left < 17 ? buf_left - 17 : 0),
|
|
||||||
"\r\n**OVERFLOW**\r\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* We're at the end of a row. Print a newline, advance the
|
|
||||||
* buffer, and decrement the amount of space left in the buffer.
|
|
||||||
*/
|
|
||||||
strcpy(out_buffer, "\r\n");
|
|
||||||
out_buffer += 2;
|
|
||||||
buf_left -= 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#undef LIST_INDEX
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Search through a string array of flags for a particular flag.
|
* Search through a string array of flags for a particular flag.
|
||||||
|
|
|
||||||
|
|
@ -58,10 +58,7 @@ int levenshtein_distance(const char *s1, const char *s2);
|
||||||
struct time_info_data *real_time_passed(time_t t2, time_t t1);
|
struct time_info_data *real_time_passed(time_t t2, time_t t1);
|
||||||
struct time_info_data *mud_time_passed(time_t t2, time_t t1);
|
struct time_info_data *mud_time_passed(time_t t2, time_t t1);
|
||||||
void prune_crlf(char *txt);
|
void prune_crlf(char *txt);
|
||||||
void column_list(char *out_buffer, int buf_left, int page_length,
|
void column_list(struct char_data *ch, int num_cols, const char **list, int list_length, bool show_nums);
|
||||||
int skip_lines, int columns, const char **list,
|
|
||||||
int list_length, int list_offset, const char *format,
|
|
||||||
...) __attribute__ ((format (printf, 9, 10)));
|
|
||||||
int get_flag_by_name(const char *flag_list[], char *flag_name);
|
int get_flag_by_name(const char *flag_list[], char *flag_name);
|
||||||
int file_head( FILE *file, char *buf, size_t bufsize, int lines_to_read );
|
int file_head( FILE *file, char *buf, size_t bufsize, int lines_to_read );
|
||||||
int file_tail( FILE *file, char *buf, size_t bufsize, int lines_to_read );
|
int file_tail( FILE *file, char *buf, size_t bufsize, int lines_to_read );
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue