mirror of
https://github.com/tbamud/tbamud.git
synced 2025-12-22 02:00: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
|
||||
Xlist (mlist, olist, rlist, zlist, slist, tlist, qlist)
|
||||
(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
|
||||
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.
|
||||
[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)
|
||||
[Jan 05 2009] - Rumble
|
||||
Fix to allow non-helper aggro mobs be agressive. (thanks Kvasir)
|
||||
[Dec 28 2008] - Rumble
|
||||
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)
|
||||
|
|
|
|||
|
|
@ -810,11 +810,38 @@ TRIG-ERRORS TRIGEDIT-ERRORS TRIGEDIT-MISTAKES
|
|||
|
||||
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.
|
||||
|
||||
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
|
||||
#31
|
||||
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.
|
||||
#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
|
||||
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 #.
|
||||
The player would type read 1, and would actually read page 1, then type read 2
|
||||
and so on.
|
||||
|
||||
See Also: NOTE, MAP
|
||||
#31
|
||||
CWG BUDDHA SUNTZU RASPUTIN CIRCLEMUD-WITH-GOODIES
|
||||
|
||||
|
|
@ -965,26 +994,23 @@ See also: RESOURCES
|
|||
#31
|
||||
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/
|
||||
Trigedit: http://tbamud.com/Oasis_DG_pages/contents/downloads.htm
|
||||
GDB: http://www.cs.clemson.edu/~ihcho/courses/cs360/common/gdb.html
|
||||
|
||||
Documentation:
|
||||
http://tbamud.com/Oasis_DG_pages/index.html
|
||||
http://tbamud.com/
|
||||
http://www.circlemud.org/cdp/wtfaq/
|
||||
http://developer.circlemud.org/contrib/
|
||||
|
||||
You should join the following forums and mailing lists. Learn how to search
|
||||
them for any problems you have:
|
||||
|
||||
http://tbamud.com/
|
||||
http://cwg.lazuras.org/
|
||||
http://groups.yahoo.com/group/circle-newbies/
|
||||
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/
|
||||
|
||||
Other stuff:
|
||||
|
|
@ -1742,7 +1768,7 @@ Be original, finish what you start, have fun, and don't forget to breathe!
|
|||
#31
|
||||
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.
|
||||
|
||||
Days of the week:
|
||||
|
|
@ -2403,7 +2429,7 @@ TIME TICKS
|
|||
Usage: time
|
||||
|
||||
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.
|
||||
|
||||
/** 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.
|
||||
|
||||
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
|
||||
USERS STATUS
|
||||
|
|
@ -4133,6 +4161,8 @@ pos() - %actor.pos% returns position. Subfield modifies. Sleeping,
|
|||
resting, sitting, fighting, standing. @RTSTAT 1399, 20997@n
|
||||
prac() - The actor's number of practices. Subfield adjusts.
|
||||
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
|
||||
room - The room the actor is in as a room variable.
|
||||
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
|
||||
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.
|
||||
|
||||
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.
|
||||
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:
|
||||
%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
|
||||
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.
|
||||
Argument : not used.
|
||||
|
|
@ -5544,7 +5575,7 @@ Smokables: @RTSTAT 159@n
|
|||
Furniture: @RTSTAT 1399@n
|
||||
Weapons: @RTSTAT 1361, 9000, 11840, 13005@n
|
||||
|
||||
See Also: @RTRIG-QUESTS@n
|
||||
See Also: TRIG-QUESTS
|
||||
#31
|
||||
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.
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
TLIST TRIGLIST TRIG-LIST TRIGEDIT-LIST TRIGGERLIST TRIGGER-LIST
|
||||
|
||||
|
|
@ -6035,7 +6066,7 @@ number.
|
|||
|
||||
See also: SEDIT-MENU, SLIST, OLC
|
||||
#31
|
||||
ZEDIT ZEDIT-CREATE ZCREATE
|
||||
ZEDIT
|
||||
|
||||
Usage: zedit [room vnum]
|
||||
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.
|
||||
|
||||
See also: ZEDIT-MENU, OLC, SHOW-ZONES
|
||||
See also: ZEDIT-MENU, ZEDIT-NEW, OLC, SHOW-ZONES
|
||||
#31
|
||||
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
|
||||
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
|
||||
example, once in the morning and once at night). There are 28 hours in a
|
||||
MUD day.
|
||||
example, once in the morning and once at night). There are 24 hours in a
|
||||
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
|
||||
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.
|
||||
|
||||
#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
|
||||
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>
|
||||
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
|
||||
or the Description blank and exit.
|
||||
To delete an extra description all you have to do is clear the description
|
||||
with the "/c" then "/s" and quit.
|
||||
|
||||
#31
|
||||
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.
|
||||
|
||||
#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
|
||||
formerly known as CircleMUD).
|
||||
|
||||
For a full history of MUDs, check out: http://en.wikipedia.org/wiki/Muds
|
||||
#0
|
||||
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
|
||||
all channels.
|
||||
|
||||
See also: CHANNELS
|
||||
See also: CHANNELS, MUD-HISTORY
|
||||
#0
|
||||
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: 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: You cant. I have metal underwear.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
(lib/text/news)
|
||||
THE 2008 tbaMUD HERALD
|
||||
THE 2009 tbaMUD HERALD
|
||||
"We addict players for their own enjoyment."
|
||||
|
||||
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.
|
||||
~
|
||||
253962 0 0 0 0 0 0 0 0 E
|
||||
0 20 10 1d1+0 1d1+0
|
||||
0 0
|
||||
1 20 9 0d0+10 1d2+0
|
||||
10 100
|
||||
8 8 1
|
||||
E
|
||||
T 192
|
||||
|
|
|
|||
|
|
@ -15,4 +15,18 @@ concoct many different potions and is most famous for her liquid fire.
|
|||
E
|
||||
T 300
|
||||
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
|
||||
wings~
|
||||
a pair of wings~
|
||||
|
|
@ -40,10 +31,6 @@ The email listing of the gods is pinned against the wall.~
|
|||
0 0 0 0
|
||||
1 1 0 30
|
||||
E
|
||||
emails listing~
|
||||
HELP CONTACT
|
||||
~
|
||||
E
|
||||
wizlist~
|
||||
Implementors
|
||||
~~~~~~~~~~~
|
||||
|
|
@ -60,6 +47,10 @@ wizlist~
|
|||
Santa Shamra Shimmer Silvanos Smaug Snowlock Talgard Taylor
|
||||
Theophilus Tocamat Torpidai Treestump Tuskony Zizazat
|
||||
~
|
||||
E
|
||||
emails listing~
|
||||
HELP CONTACT
|
||||
~
|
||||
#5
|
||||
foraged berries~
|
||||
some foraged berries~
|
||||
|
|
|
|||
|
|
@ -1064,8 +1064,8 @@ visible.
|
|||
0 0 0 0
|
||||
0 0 0 0
|
||||
E
|
||||
june~
|
||||
. .:IIIIHIHHIHHHII::I:.
|
||||
september~
|
||||
. .:IIIIHIHHIHHHII::I:.
|
||||
:IIIIHIHHHHHHMMHHIHHIIHHIII:.
|
||||
,.:HIHHHHHHHHHHHHHHHHHHHHHIHIHHII:.
|
||||
.:IIHHHHHHHHMMMMMHHHHMMMHHMHHHIIIHIIII:
|
||||
|
|
@ -1122,21 +1122,9 @@ IHHHHMHMMMMMMMHHHHHI:IT:TI:..:HI:.. ..:. . :IHII
|
|||
::.:............. .. . ...AHIHIIIIIHHHI::""' 'VII:.. .. .
|
||||
::.:.:.......... .. . ...HHHIIIIIIHHHI::. . '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
|
||||
april~
|
||||
august~
|
||||
. nHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHn.
|
||||
.MS?MMMMMMMMMMMMMMMMMM?MM-MMMMMMMMMSHMMMMMMM
|
||||
MMMMMH?MMMMMMMX*MM?MMX%MM/MMMMMM"HMMMMMMMMMMMM
|
||||
|
|
@ -1189,7 +1177,7 @@ april~
|
|||
%% % %%%%%%
|
||||
~
|
||||
E
|
||||
March~
|
||||
july~
|
||||
. ,.--..
|
||||
,::.'.. . . "VI:I:".':-.,.
|
||||
,I::. .. . 'VHMHII:.::;:.:,..
|
||||
|
|
@ -1255,6 +1243,183 @@ March~
|
|||
':::.:... ..I::I::.:....:. .: .. ...::. . . III:II:. '
|
||||
~
|
||||
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~
|
||||
. :AMMMMMMMMMMMMA:
|
||||
:AMMMMMMMMMHHHHHMMMMMMMMA:
|
||||
|
|
@ -1328,184 +1493,7 @@ february~
|
|||
[;:: : ;;:; ; ; ;
|
||||
~
|
||||
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
|
||||
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~
|
||||
March~
|
||||
. ,.--..
|
||||
,::.'.. . . "VI:I:".':-.,.
|
||||
,I::. .. . 'VHMHII:.::;:.:,..
|
||||
|
|
@ -1571,7 +1559,7 @@ july~
|
|||
':::.:... ..I::I::.:....:. .: .. ...::. . . III:II:. '
|
||||
~
|
||||
E
|
||||
august~
|
||||
april~
|
||||
. nHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHn.
|
||||
.MS?MMMMMMMMMMMMMMMMMM?MM-MMMMMMMMMSHMMMMMMM
|
||||
MMMMMH?MMMMMMMX*MM?MMX%MM/MMMMMM"HMMMMMMMMMMMM
|
||||
|
|
@ -1624,8 +1612,8 @@ august~
|
|||
%% % %%%%%%
|
||||
~
|
||||
E
|
||||
september~
|
||||
. .:IIIIHIHHIHHHII::I:.
|
||||
june~
|
||||
. .:IIIIHIHHIHHHII::I:.
|
||||
:IIIIHIHHHHHHMMHHIHHIIHHIII:.
|
||||
,.:HIHHHHHHHHHHHHHHHHHHHHHIHIHHII:.
|
||||
.:IIHHHHHHHHMMMMMHHHHMMMHHMHHHIIIHIIII:
|
||||
|
|
@ -1682,6 +1670,18 @@ IHHHHMHMMMMMMMHHHHHI:IT:TI:..:HI:.. ..:. . :IHII
|
|||
::.:............. .. . ...AHIHIIIIIHHHI::""' 'VII:.. .. .
|
||||
::.:.:.......... .. . ...HHHIIIIIIHHHI::. . '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
|
||||
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
|
||||
50 5 -1 0
|
||||
50 0 0 0
|
||||
T 209
|
||||
E
|
||||
iron bound wooden chest~
|
||||
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
|
||||
washing machine~
|
||||
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
|
||||
cloth nappy dingy white piece~
|
||||
|
|
|
|||
|
|
@ -194,8 +194,8 @@ weapon level 34~
|
|||
a level 34 weapon~
|
||||
A level 34 weapon is used to test level restrictions~
|
||||
~
|
||||
12 0 0 0 0 ano 0 0 0 0 0 0 0
|
||||
0 0 0 0
|
||||
5 0 0 0 0 ano 0 0 0 0 0 0 0
|
||||
11 2 2 0
|
||||
1 1 0 34
|
||||
#1266
|
||||
Black Staff of Immortality~
|
||||
|
|
@ -296,14 +296,14 @@ A piece of fireworks is planted in a champagne bottle.~
|
|||
0 0 0 0
|
||||
T 1297
|
||||
E
|
||||
firework new year piece~
|
||||
This large rocket is about to go up! Strange colours will fill the sky!
|
||||
~
|
||||
E
|
||||
bottle champagne~
|
||||
The bottle is filled partially with water so it doesn't tilt over. Someone
|
||||
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
|
||||
christmas tree~
|
||||
a christmas tree~
|
||||
|
|
|
|||
|
|
@ -202,13 +202,13 @@ A small sword lies here.~
|
|||
0 1 6 11
|
||||
3 60 0 0
|
||||
E
|
||||
sword small~
|
||||
The small sword seems to have an inscription of some sort inscription...
|
||||
~
|
||||
E
|
||||
inscription~
|
||||
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
|
||||
sword long~
|
||||
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
|
||||
0 2 4 7
|
||||
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
|
||||
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
|
||||
E
|
||||
board~
|
||||
If you can read this, the board is not working.
|
||||
~
|
||||
E
|
||||
social bulletin~
|
||||
Use 'look board' to read the board.
|
||||
~
|
||||
E
|
||||
board~
|
||||
If you can read this, the board is not working.
|
||||
~
|
||||
#397
|
||||
board frozen bulletin~
|
||||
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
|
||||
E
|
||||
board~
|
||||
If you can read this, the board is not working.
|
||||
~
|
||||
E
|
||||
freeze bulletin~
|
||||
Use 'look board' to read the board.
|
||||
~
|
||||
E
|
||||
board~
|
||||
If you can read this, the board is not working.
|
||||
~
|
||||
#398
|
||||
board holy bulletin~
|
||||
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
|
||||
E
|
||||
board~
|
||||
If you can read this, the board is not working.
|
||||
~
|
||||
E
|
||||
holy bulletin~
|
||||
Use 'look board' to read the board.
|
||||
~
|
||||
E
|
||||
board~
|
||||
If you can read this, the board is not working.
|
||||
~
|
||||
#399
|
||||
board bulletin~
|
||||
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
|
||||
E
|
||||
board~
|
||||
If you can read this, the board is not working.
|
||||
~
|
||||
E
|
||||
bulletin~
|
||||
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
|
||||
* Quest Trigs 9-12. Drop the 8ball on their head when they enter.
|
||||
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.
|
||||
%load% obj 1394
|
||||
%damage% %actor% %random.5%
|
||||
|
|
@ -1598,6 +1598,7 @@ set actor %random.char%
|
|||
Room Command Example~
|
||||
2 c 100
|
||||
l~
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
if %cmd.mudcommand% == look && bridge /= %arg%
|
||||
%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.
|
||||
|
|
@ -2500,7 +2501,7 @@ Puff - Random Advice~
|
|||
0 ab 12
|
||||
~
|
||||
* 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[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.
|
||||
|
|
@ -2712,7 +2713,7 @@ if %arg.room% != %actor.room% || %arg.id% == %actor.id%
|
|||
end
|
||||
set inroom %actor.room%
|
||||
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% %arg% You lose!
|
||||
%purge% %arg.inventory(80)%
|
||||
|
|
@ -2734,7 +2735,7 @@ if %arg.room% != %actor.room% || %arg.id% == %actor.id%
|
|||
end
|
||||
set inroom %actor.room%
|
||||
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% %arg% You lose!
|
||||
%purge% %arg.inventory(81)%
|
||||
|
|
|
|||
|
|
@ -2100,7 +2100,7 @@ if %self.contents.vnum% != 47
|
|||
%load% obj 47
|
||||
end
|
||||
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.
|
||||
%damage% %actor% %random.5%
|
||||
~
|
||||
|
|
@ -2109,7 +2109,6 @@ Mob Quest Tutorial Example Quest completion - 25~
|
|||
0 j 100
|
||||
~
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
wait 1 sec
|
||||
if %object.vnum% == 47 && !%actor.varexists(solved_example_quest_zone_0)%
|
||||
dance
|
||||
wait 1 sec
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ g~
|
|||
* should be looking for 117xx, where xx is 00-99.
|
||||
if %cmd.mudcommand% == get && ring /= %arg%
|
||||
%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
|
||||
else
|
||||
return 0
|
||||
|
|
@ -38,7 +38,7 @@ steal~
|
|||
* should be looking for 117xx, where xx is 00-99.
|
||||
if %cmd.mudcommand% == steal && cello /= %arg%
|
||||
%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
|
||||
end
|
||||
~
|
||||
|
|
@ -175,7 +175,7 @@ touch~
|
|||
* should be looking for 117xx, where xx is 00-99.
|
||||
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!
|
||||
%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% 11758 %load% obj 11737
|
||||
%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.
|
||||
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!
|
||||
%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
|
||||
else
|
||||
%send% %actor% Touch what?
|
||||
|
|
@ -304,7 +304,7 @@ sit~
|
|||
* should be looking for 117xx, where xx is 00-99.
|
||||
if %cmd.mudcommand% == sit && %arg% /= stump
|
||||
%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
|
||||
end
|
||||
~
|
||||
|
|
@ -318,7 +318,7 @@ pick~
|
|||
* should be looking for 117xx, where xx is 00-99.
|
||||
if %arg% == flowers
|
||||
%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
|
||||
else
|
||||
%send% %actor% Pick what??
|
||||
|
|
@ -335,7 +335,7 @@ search~
|
|||
* should be looking for 117xx, where xx is 00-99.
|
||||
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!
|
||||
%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
|
||||
else
|
||||
%send% %actor% Search what?
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ end
|
|||
1 g 100
|
||||
~
|
||||
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
|
||||
wait 2 s
|
||||
%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.
|
||||
elseif %cmd.mudcommand% == zpurge
|
||||
%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
|
||||
return 0
|
||||
end
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@ free~
|
|||
2 g 100
|
||||
~
|
||||
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.
|
||||
%load% obj 47
|
||||
%damage% %actor% %random.5%
|
||||
|
|
@ -590,8 +590,8 @@ Mob Leave Example~
|
|||
~
|
||||
if (%actor.level% > 10)
|
||||
say You may not leave here, %actor.name%.
|
||||
%send% %actor.name% %self.name% prevents you from leaving the room.
|
||||
%echoaround% %actor.name% As %actor.name% tries to leave the room, %self.name% stops %actor.himher%.
|
||||
%send% %actor% %self.name% prevents you from leaving the room.
|
||||
%echoaround% %actor% As %actor.name% tries to leave the room, %self.name% stops %actor.himher%.
|
||||
return 0
|
||||
end
|
||||
~
|
||||
|
|
|
|||
|
|
@ -1287,7 +1287,7 @@ test while~
|
|||
set stunned %actor.hitp% - 1
|
||||
%damage% %actor% %stunned%
|
||||
eval num %random.99% + 1900
|
||||
%teleport% %actor.name% %num%
|
||||
%teleport% %actor% %num%
|
||||
while %actor.inventory%
|
||||
eval item %actor.inventory%
|
||||
eval item_to_purge %%actor.inventory(%item.vnum%)%%
|
||||
|
|
|
|||
|
|
@ -190,6 +190,30 @@ extract word5 5 %speech%
|
|||
extract word6 6 %speech%
|
||||
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
|
||||
Phoenix Rising - 219~
|
||||
1 c 4
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ end
|
|||
~
|
||||
#23603
|
||||
Remove Secret Door - 23667~
|
||||
2 af 100
|
||||
2 f 100
|
||||
~
|
||||
if %self.east%
|
||||
%door% 23667 east purge 0
|
||||
|
|
|
|||
|
|
@ -90,10 +90,10 @@ Fountain portal - 23855~
|
|||
en~
|
||||
if %cmd.mudcommand% == enter && fountain /= %arg%
|
||||
%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
|
||||
%force% %actor% look
|
||||
%echoaround% %actor.name% %actor.name% emerges from a large fountain.
|
||||
%echoaround% %actor% %actor.name% emerges from a large fountain.
|
||||
else
|
||||
%send% %actor% enter what?!
|
||||
end
|
||||
|
|
@ -164,10 +164,10 @@ Green portal entrance - 23863~
|
|||
en~
|
||||
if %cmd.mudcommand% == enter && green /= %arg%
|
||||
%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
|
||||
%force% %actor% look
|
||||
%echoaround% %actor.name% steps into a large green portal.
|
||||
%echoaround% %actor% steps into a large green portal.
|
||||
else
|
||||
%send% %actor% enter what?!
|
||||
end
|
||||
|
|
@ -178,10 +178,10 @@ Blue portal entrance - 23861~
|
|||
en~
|
||||
if %cmd.mudcommand% == enter && blue /= %arg%
|
||||
%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
|
||||
%force% %actor% look
|
||||
%echoaround% %actor.name% steps through a large blue portal.
|
||||
%echoaround% %actor% steps through a large blue portal.
|
||||
else
|
||||
%send% %actor% enter what?!
|
||||
end
|
||||
|
|
@ -192,10 +192,10 @@ Red portal entrance - 23862~
|
|||
en~
|
||||
if %cmd.mudcommand% == enter && red /= %arg%
|
||||
%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
|
||||
%force% %actor% look
|
||||
%echoaround% %actor.name% steps through a large blue portal.
|
||||
%echoaround% %actor% steps through a large blue portal.
|
||||
else
|
||||
%send% %actor% enter what?!
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,98 +1,98 @@
|
|||
#26700
|
||||
Harem Master - 26706~
|
||||
0 b 5
|
||||
~
|
||||
emote looks at his minions and growls, 'get to work, bitches!'
|
||||
~
|
||||
#26701
|
||||
Slaves Bow - 26701-26704~
|
||||
0 e 0
|
||||
A fat harem master looks at his minions and growls, 'get to work, bitches!'~
|
||||
wait 1 sec
|
||||
bow master
|
||||
~
|
||||
#26702
|
||||
Master Needs Assist - 26706~
|
||||
0 k 10
|
||||
~
|
||||
emote screams loudly, 'HELP ME, MY SLAVES!'
|
||||
~
|
||||
#26703
|
||||
Slaves Assist Master - 26701-26704~
|
||||
0 e 0
|
||||
A fat harem master screams loudly, 'HELP ME, MY SLAVES!'~
|
||||
wait %random.6% sec
|
||||
assist master
|
||||
~
|
||||
#26705
|
||||
Fear Spell - 26710~
|
||||
0 k 5
|
||||
~
|
||||
emote utters the words, 'pabrow'.
|
||||
%force% %actor% flee
|
||||
~
|
||||
#26706
|
||||
Butcher - 26713~
|
||||
0 bg 5
|
||||
~
|
||||
emote begins sharpening %self.hisher% knife.
|
||||
~
|
||||
#26707
|
||||
Tar Baby Follow - 26708~
|
||||
0 b 10
|
||||
~
|
||||
set actor %random.char%
|
||||
if %actor.is_pc%
|
||||
mfollow %actor%
|
||||
say Ho ho, hee hee, %actor.name% you are sooo funneeee!
|
||||
%send% %actor% %self.name% looks at you with the cutest expression.
|
||||
%echoaround% %actor% %self.name% looks at %actor.name% with the cutest expression.
|
||||
end
|
||||
~
|
||||
#26708
|
||||
Grand Inquisitor - 26719~
|
||||
0 k 100
|
||||
5~
|
||||
switch %random.2%
|
||||
case 1
|
||||
emote utters the words, 'ordalaba'.
|
||||
dg_cast 'energy drain' %actor%
|
||||
break
|
||||
case 2
|
||||
emote evilly grins and snaps his hands.
|
||||
dg_cast 'animate dead' corpse
|
||||
order followers assist
|
||||
break
|
||||
default
|
||||
break
|
||||
done
|
||||
~
|
||||
#26709
|
||||
High Priest of Terror - 26714~
|
||||
0 k 5
|
||||
~
|
||||
switch %random.2%
|
||||
case 1
|
||||
emote utters the words, 'ordalaba'.
|
||||
dg_cast 'charm' %actor
|
||||
break
|
||||
case 2
|
||||
emote waves $s hands in a swirling motion.
|
||||
dg_cast 'earthquake'
|
||||
break
|
||||
default
|
||||
break
|
||||
done
|
||||
~
|
||||
#26710
|
||||
Near Death Trap - 26744~
|
||||
2 g 100
|
||||
~
|
||||
* Near Death Trap stuns actor
|
||||
wait 3 sec
|
||||
set stunned %actor.hitp%
|
||||
%damage% %actor% %stunned%
|
||||
wait 3 sec
|
||||
%send% %actor% The Gods allow your puny existence to continue.
|
||||
~
|
||||
$~
|
||||
#26700
|
||||
Harem Master - 26706~
|
||||
0 b 5
|
||||
~
|
||||
emote looks at his minions and growls, 'get to work, bitches!'
|
||||
~
|
||||
#26701
|
||||
Slaves Bow - 26701-26704~
|
||||
0 e 0
|
||||
A fat harem master looks at his minions and growls, 'get to work, bitches!'~
|
||||
wait 1 sec
|
||||
bow master
|
||||
~
|
||||
#26702
|
||||
Master Needs Assist - 26706~
|
||||
0 k 10
|
||||
~
|
||||
emote screams loudly, 'HELP ME, MY SLAVES!'
|
||||
~
|
||||
#26703
|
||||
Slaves Assist Master - 26701-26704~
|
||||
0 e 0
|
||||
A fat harem master screams loudly, 'HELP ME, MY SLAVES!'~
|
||||
wait %random.6% sec
|
||||
assist master
|
||||
~
|
||||
#26705
|
||||
Fear Spell - 26710~
|
||||
0 k 5
|
||||
~
|
||||
emote utters the words, 'pabrow'.
|
||||
%force% %actor% flee
|
||||
~
|
||||
#26706
|
||||
Butcher - 26713~
|
||||
0 b 10
|
||||
~
|
||||
emote begins sharpening %self.hisher% knife.
|
||||
~
|
||||
#26707
|
||||
Tar Baby Follow - 26708~
|
||||
0 b 10
|
||||
~
|
||||
set actor %random.char%
|
||||
if %actor.is_pc%
|
||||
mfollow %actor%
|
||||
say Ho ho, hee hee, %actor.name% you are sooo funneeee!
|
||||
%send% %actor% %self.name% looks at you with the cutest expression.
|
||||
%echoaround% %actor% %self.name% looks at %actor.name% with the cutest expression.
|
||||
end
|
||||
~
|
||||
#26708
|
||||
Grand Inquisitor - 26719~
|
||||
0 k 100
|
||||
5~
|
||||
switch %random.2%
|
||||
case 1
|
||||
emote utters the words, 'ordalaba'.
|
||||
dg_cast 'energy drain' %actor%
|
||||
break
|
||||
case 2
|
||||
emote evilly grins and snaps his hands.
|
||||
dg_cast 'animate dead' corpse
|
||||
order followers assist
|
||||
break
|
||||
default
|
||||
break
|
||||
done
|
||||
~
|
||||
#26709
|
||||
High Priest of Terror - 26714~
|
||||
0 k 5
|
||||
~
|
||||
switch %random.2%
|
||||
case 1
|
||||
emote utters the words, 'ordalaba'.
|
||||
dg_cast 'charm' %actor
|
||||
break
|
||||
case 2
|
||||
emote waves $s hands in a swirling motion.
|
||||
dg_cast 'earthquake'
|
||||
break
|
||||
default
|
||||
break
|
||||
done
|
||||
~
|
||||
#26710
|
||||
Near Death Trap - 26744~
|
||||
2 g 100
|
||||
~
|
||||
* Near Death Trap stuns actor
|
||||
wait 3 sec
|
||||
set stunned %actor.hitp%
|
||||
%damage% %actor% %stunned%
|
||||
wait 3 sec
|
||||
%send% %actor% The Gods allow your puny existence to continue.
|
||||
~
|
||||
$~
|
||||
|
|
|
|||
|
|
@ -337,28 +337,28 @@ rdelete Zn27_shacklepass %actor.id%
|
|||
2 c 100
|
||||
kneel~
|
||||
if %arg%==creature
|
||||
%send% %actor.name% You kneel before the skeletal creature.
|
||||
%send% %actor% You kneel before the skeletal creature.
|
||||
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
|
||||
%teleport% %actor.name% 2712
|
||||
%teleport% %actor% 2712
|
||||
%force% %actor% look
|
||||
elseif %arg%==skeletal
|
||||
%send% %actor.name% You kneel before the skeletal creature.
|
||||
%send% %actor% You kneel before the skeletal creature.
|
||||
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
|
||||
%teleport% %actor.name% 2712
|
||||
%teleport% %actor% 2712
|
||||
%force% %actor% look
|
||||
elseif %arg%==circle
|
||||
%send% %actor.name% You kneel inside the circle.
|
||||
%send% %actor% You kneel inside the circle.
|
||||
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
|
||||
%teleport% %actor.name% 2712
|
||||
%teleport% %actor% 2712
|
||||
%force% %actor% look
|
||||
else
|
||||
%send% %actor.name% Kneel to who?
|
||||
%send% %actor% Kneel to who?
|
||||
end
|
||||
~
|
||||
#2719
|
||||
|
|
@ -530,19 +530,19 @@ if %self.carried_by%
|
|||
eval actor %self.carried_by%
|
||||
if %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
|
||||
%send% %actor.name% @RYour 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% @RYour doll suddenly opens its eyes and causes %victim.name% to shudder in pain.@n
|
||||
%damage% %victim% 100
|
||||
if (%actor.varexists(zn27_twice)%)
|
||||
rdelete Zn27_twice %actor.id%
|
||||
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
|
||||
%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
|
||||
%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
|
||||
%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%
|
||||
%purge% %self%
|
||||
elseif (%actor.varexists(zn27_once)%)
|
||||
|
|
@ -805,7 +805,7 @@ test door~
|
|||
enter~
|
||||
if ("%arg%" == "space")
|
||||
%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 room 2741
|
||||
%door% 2740 down description Nothing can be seen within this dark space.
|
||||
|
|
@ -921,7 +921,7 @@ attach %arg%
|
|||
test act~
|
||||
1 c 7
|
||||
look~
|
||||
%force% %actor.name% %at% 2755 look
|
||||
%force% %actor% %at% 2755 look
|
||||
~
|
||||
#2752
|
||||
test speech~
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#27100
|
||||
Silk Trader - 27137~
|
||||
0 bg 100
|
||||
0 b 10
|
||||
~
|
||||
wait 1 sec
|
||||
switch %random.23%
|
||||
|
|
@ -95,7 +95,7 @@ done
|
|||
~
|
||||
#27101
|
||||
Athos - 27153~
|
||||
0 bg 50
|
||||
0 b 10
|
||||
~
|
||||
wait 1 sec
|
||||
switch %random.7%
|
||||
|
|
@ -130,7 +130,7 @@ done
|
|||
~
|
||||
#27102
|
||||
Hangman - 27102~
|
||||
0 bg 100
|
||||
0 b 10
|
||||
~
|
||||
wait 1 sec
|
||||
switch %random.5%
|
||||
|
|
@ -162,7 +162,7 @@ done
|
|||
~
|
||||
#27103
|
||||
Butcher - 27142~
|
||||
0 bg 5
|
||||
0 b 10
|
||||
~
|
||||
wait 1 sec
|
||||
switch %random.17%
|
||||
|
|
@ -232,7 +232,7 @@ done
|
|||
~
|
||||
#27104
|
||||
Stu - 27166~
|
||||
0 bg 100
|
||||
0 b 10
|
||||
~
|
||||
wait 1 sec
|
||||
switch %random.14%
|
||||
|
|
@ -287,7 +287,7 @@ done
|
|||
~
|
||||
#27105
|
||||
Earl of Sundhaven - 27100~
|
||||
0 bg 100
|
||||
0 b 10
|
||||
~
|
||||
wait 1 sec
|
||||
switch %random.9%
|
||||
|
|
@ -332,16 +332,16 @@ Blinder - 27161~
|
|||
~
|
||||
%echo% %self.name% whispers, 'So, %actor.name%! You wouldst share my affliction!'
|
||||
wait 1 sec
|
||||
%send% %actor.name% %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%.
|
||||
%send% %actor% %self.name%'s frayed cloak blows as he aims a bony finger at you.
|
||||
%echoaround% %actor% %self.name%'s frayed cloak blows as he points at %actor.name%.
|
||||
wait 1 sec
|
||||
%send% %actor.name% A flash of pale fire explodes in your face!
|
||||
%echoaround% %actor.name% A flash of pale fire explodes in %actor.name%'s face!
|
||||
%send% %actor% A flash of pale fire explodes in your face!
|
||||
%echoaround% %actor% A flash of pale fire explodes in %actor.name%'s face!
|
||||
dg_cast 'blindness' %actor%
|
||||
~
|
||||
#27107
|
||||
Idiot - 27115~
|
||||
0 bg 100
|
||||
0 b 10
|
||||
~
|
||||
wait 1 sec
|
||||
switch %random.13%
|
||||
|
|
|
|||
|
|
@ -79,38 +79,53 @@ if %actor.class% != cleric || %actor.align% < 350
|
|||
end
|
||||
~
|
||||
#304
|
||||
Room Enter - test trigger~
|
||||
2 g 100
|
||||
~
|
||||
wait 50
|
||||
wsend %actor% you enter a room
|
||||
Room Command - Look at Painting~
|
||||
2 c 100
|
||||
l~
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
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
|
||||
car/cdr test~
|
||||
0 d 100
|
||||
*~
|
||||
*by having * as the arg, it will not always display
|
||||
* 'test' as %speech.car%
|
||||
say speech: %speech%
|
||||
say car: %speech.car%
|
||||
say cdr: %speech.cdr%
|
||||
Mob Greet Clothing Check~
|
||||
0 g 100
|
||||
~
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
if %actor.is_pc%
|
||||
wait 1 sec
|
||||
if %actor.eq(*)%
|
||||
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
|
||||
Mob Command - subfield test~
|
||||
0 c 100
|
||||
test~
|
||||
* test to make sure %actor.skill(skillname)% works
|
||||
say your hide ability is %actor.skill(hide)% percent.
|
||||
*
|
||||
* make sure %actor.eq(name)% works too
|
||||
eval headgear %actor.eq(head)%
|
||||
if %headgear%
|
||||
say You have some sort of helmet on
|
||||
else
|
||||
say Where's your headgear?
|
||||
halt
|
||||
Room Entry - sneak check~
|
||||
2 g 25
|
||||
~
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
if %actor.is_pc%
|
||||
if %actor.skill(sneak)% > 50
|
||||
%send% %actor% You walk into the room, not waking any of the clerics.
|
||||
else
|
||||
%send% %actor% Your entry into the room wakes a few of the clerics.
|
||||
%load% mob 340
|
||||
end
|
||||
end
|
||||
say Fix your %headgear.name%
|
||||
~
|
||||
#307
|
||||
Obj Remove - %transform% test~
|
||||
|
|
|
|||
|
|
@ -159,9 +159,10 @@ switch %actor.level%
|
|||
done
|
||||
~
|
||||
#3008
|
||||
Death Trap~
|
||||
Near Death Trap~
|
||||
2 g 100
|
||||
~
|
||||
* By Rumble of The Builder Academy tbamud.com 9091
|
||||
* Near Death Trap stuns actor
|
||||
set stunned %actor.hitp%
|
||||
%damage% %actor% %stunned%
|
||||
|
|
@ -199,15 +200,16 @@ end
|
|||
Stock Fido - 3062, 3066~
|
||||
0 b 100
|
||||
~
|
||||
eval inroom %self.room%
|
||||
eval item %inroom.contents%
|
||||
set inroom %self.room%
|
||||
set item %inroom.contents%
|
||||
while %item%
|
||||
* Target the next item in room. In case it is devoured.
|
||||
set next_item %item.next_in_list%
|
||||
* 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.
|
||||
%purge% %item%
|
||||
halt
|
||||
end
|
||||
set item %next_item%
|
||||
* Loop back
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ surrender~
|
|||
~
|
||||
#8306
|
||||
Navigator (8306) Sings~
|
||||
0 bg 100
|
||||
0 b 10
|
||||
~
|
||||
eval song %random.4%
|
||||
switch %song%
|
||||
|
|
@ -141,7 +141,7 @@ done
|
|||
~
|
||||
#8307
|
||||
Cabin Boy (8307) Mops~
|
||||
0 bh 75
|
||||
0 b 10
|
||||
~
|
||||
wait 2s
|
||||
emote sings, 'Mop, mop, mop, all day long...'
|
||||
|
|
@ -286,7 +286,7 @@ Polly (8313) Learn & Repeat~
|
|||
~
|
||||
#8314
|
||||
Polly (8313) Random Speech~
|
||||
0 bgq 80
|
||||
0 b 10
|
||||
~
|
||||
wait 1s
|
||||
emote squawks loudly.
|
||||
|
|
@ -434,7 +434,7 @@ jump~
|
|||
~
|
||||
#8393
|
||||
99 Bottles of Beer (Drunken Pirate: 8309)~
|
||||
0 bg 100
|
||||
0 b 10
|
||||
~
|
||||
set beers 99
|
||||
emote clears his throat.
|
||||
|
|
|
|||
|
|
@ -554,9 +554,10 @@ D2
|
|||
S
|
||||
#33
|
||||
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.
|
||||
--Wilhelm Stekel
|
||||
|
||||
The only thing necessary for evil to triumph is for good men to do nothing.
|
||||
|
||||
-Edmund Burke
|
||||
~
|
||||
0 8 0 0 0 0
|
||||
D0
|
||||
|
|
@ -568,6 +569,10 @@ D2
|
|||
~
|
||||
0 0 33
|
||||
E
|
||||
undefined~
|
||||
test
|
||||
~
|
||||
E
|
||||
Catcher Rye~
|
||||
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.
|
||||
|
|
@ -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
|
||||
Birthday, America!
|
||||
~
|
||||
E
|
||||
.test~
|
||||
can you see this with look around?
|
||||
~
|
||||
S
|
||||
#34
|
||||
Pool of Images~
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
#100
|
||||
Temple of Sanctum~
|
||||
This large room appears to be inside inside a massive temple dedicated to the
|
||||
gods of Sanctus. The ceiling is supported by fluted columns and a main spiral
|
||||
This large room appears to be inside a massive temple dedicated to the gods
|
||||
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
|
||||
four cardinal directions. It is here mortals come to stay informed and discuss
|
||||
their adventures.
|
||||
their adventures.
|
||||
~
|
||||
1 28 0 0 0 0
|
||||
D0
|
||||
|
|
@ -93,19 +93,19 @@ D5
|
|||
~
|
||||
0 0 100
|
||||
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~
|
||||
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.
|
||||
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.
|
||||
~
|
||||
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
|
||||
T 158
|
||||
T 163
|
||||
|
|
@ -241,17 +241,17 @@ D5
|
|||
~
|
||||
0 0 142
|
||||
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~
|
||||
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
|
||||
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.
|
||||
|
||||
~
|
||||
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
|
||||
#109
|
||||
|
|
@ -385,18 +385,18 @@ D1
|
|||
~
|
||||
0 0 100
|
||||
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~
|
||||
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.
|
||||
You can still see pieces of cloth and bone buried deeply into the wall inside
|
||||
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
|
||||
#117
|
||||
Travelling Room~
|
||||
|
|
@ -532,19 +532,19 @@ D2
|
|||
~
|
||||
0 0 129
|
||||
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~
|
||||
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
|
||||
the city with looks of worry and hopelessness. An unlit candle and mirror lay
|
||||
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
|
||||
#125
|
||||
Plane of the Magi~
|
||||
|
|
@ -818,14 +818,10 @@ D0
|
|||
~
|
||||
0 0 128
|
||||
E
|
||||
window~
|
||||
Overlooking the western gate you can see the shimmering protective dome.
|
||||
You hope it lasts, peace and tranquility is a good thing.
|
||||
~
|
||||
E
|
||||
chair~
|
||||
It's just your standard wooden chair. Uncomfortable and only real
|
||||
usefulness would be as firewood.
|
||||
bed~
|
||||
The bed is made of a sturdy pine. A thin mattress covered in a white sheet
|
||||
with a down pillow overlaying it. The mattress is too thin to hold anything of
|
||||
value.
|
||||
~
|
||||
E
|
||||
desk~
|
||||
|
|
@ -835,10 +831,14 @@ centered on the top of the desk. The desk has three drawers. All of them are
|
|||
empty.
|
||||
~
|
||||
E
|
||||
bed~
|
||||
The bed is made of a sturdy pine. A thin mattress covered in a white sheet
|
||||
with a down pillow overlaying it. The mattress is too thin to hold anything of
|
||||
value.
|
||||
chair~
|
||||
It's just your standard wooden chair. Uncomfortable and only real
|
||||
usefulness would be as firewood.
|
||||
~
|
||||
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
|
||||
#136
|
||||
|
|
|
|||
|
|
@ -986,12 +986,15 @@ D3
|
|||
S
|
||||
#2259
|
||||
Stairs~
|
||||
A crumbling stairwell leads up down into darkness. The steps are cracked
|
||||
and fall apart when you put any sizeable force upon them. They seem
|
||||
treacherous, but passable. An empty hallway to the west looks far more
|
||||
inviting.
|
||||
A crumbling stairwell leads down into darkness. The steps are cracked and
|
||||
fall apart when you put any sizeable force upon them. They seem treacherous,
|
||||
but passable. An empty hallway to the west looks far more inviting.
|
||||
~
|
||||
22 8 0 0 0 0
|
||||
D1
|
||||
~
|
||||
~
|
||||
0 0 -1
|
||||
D3
|
||||
~
|
||||
~
|
||||
|
|
|
|||
|
|
@ -106,7 +106,8 @@ S
|
|||
An Elegant Hall~
|
||||
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
|
||||
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
|
||||
D0
|
||||
|
|
@ -122,6 +123,7 @@ D2
|
|||
~
|
||||
0 0 319
|
||||
S
|
||||
T 304
|
||||
#305
|
||||
The Baths~
|
||||
The air is musky and hard to breathe due to the hot steam wafting from the
|
||||
|
|
@ -160,10 +162,11 @@ D2
|
|||
~
|
||||
0 0 321
|
||||
S
|
||||
T 306
|
||||
#307
|
||||
A Long Hallway~
|
||||
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
|
||||
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
|
||||
~
|
||||
door~
|
||||
2 0 225
|
||||
1 0 225
|
||||
E
|
||||
sky winds~
|
||||
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
|
||||
sign signpost~
|
||||
The signpost reads in ancient runic script:
|
||||
@n
|
||||
The Penultimate Tower of Wizardry was rumored to exist, once, just
|
||||
down this road... who knows if this is true? For though many have
|
||||
went on to see, none have returned to claim it true...
|
||||
@n
|
||||
--Mercutio the Bard of the Realm
|
||||
~
|
||||
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:
|
||||
#04 should be given a sleep spell to cast
|
||||
#47 should be given an undead process.
|
||||
*
|
||||
|
||||
Zone 301 is linked to the following zones:
|
||||
302 Campus at 30123 (south) ---> 30236
|
||||
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 30140 (south) ---> 30260
|
||||
302 Campus at 30142 (north) ---> 30201
|
||||
|
||||
302 Campus at 30142 (east ) ---> 30203
|
||||
302 Campus at 30199 (up ) ---> 30200
|
||||
~
|
||||
|
|
|
|||
|
|
@ -706,9 +706,9 @@ S
|
|||
The Sacrificial Pit~
|
||||
As you climb down into the pit, thousands of spiders cover you, tearing
|
||||
your fragile body to shreds.
|
||||
|
||||
@R
|
||||
Lloth thanks you for your sacrifice.
|
||||
|
||||
@n
|
||||
~
|
||||
51 12 0 0 0 0
|
||||
S
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@ Sand as far as the eye can see.
|
|||
E
|
||||
pyramid~
|
||||
The massive pyramid rises out of the sand, a monument to long-dead pharoahs.
|
||||
|
||||
~
|
||||
S
|
||||
#5301
|
||||
|
|
@ -51,7 +50,6 @@ The steep slope of the pyramid rises up before you.
|
|||
E
|
||||
pyramid~
|
||||
You wonder how anyone could have built such a massive thing out in this heat.
|
||||
|
||||
~
|
||||
S
|
||||
#5302
|
||||
|
|
@ -84,7 +82,6 @@ Far below you are the burning sands of the desert.
|
|||
E
|
||||
pyramid~
|
||||
You wonder how anyone could have built such a massive thing out in this heat.
|
||||
|
||||
~
|
||||
S
|
||||
#5303
|
||||
|
|
@ -117,7 +114,6 @@ This side of the pyramid has a dangerous drop before the sandy floor.
|
|||
E
|
||||
pyramid~
|
||||
You wonder how anyone could have built such a massive thing out in this heat.
|
||||
|
||||
~
|
||||
S
|
||||
#5304
|
||||
|
|
@ -150,7 +146,6 @@ This side of the pyramid has a dangerous drop before the sandy floor.
|
|||
E
|
||||
pyramid~
|
||||
You wonder how anyone could have built such a massive thing out in this heat.
|
||||
|
||||
~
|
||||
S
|
||||
#5305
|
||||
|
|
@ -184,7 +179,6 @@ This side of the pyramid has a dangerous drop before the sandy floor.
|
|||
E
|
||||
pyramid~
|
||||
You wonder how anyone could have built such a massive thing out in this heat.
|
||||
|
||||
~
|
||||
S
|
||||
#5306
|
||||
|
|
@ -226,9 +220,7 @@ stones~
|
|||
E
|
||||
plaque~
|
||||
The plaque reads:
|
||||
|
||||
The Great Pyramid
|
||||
|
||||
Created by the Andersen work crew.
|
||||
~
|
||||
E
|
||||
|
|
@ -242,12 +234,9 @@ S
|
|||
On The Dangerous Stones~
|
||||
Here the elements have carved away at the sides of the pyramid quite a
|
||||
bit. You aren't so sure of your footing anymore...
|
||||
|
||||
Suddenly the wind picks up, and you lose your balance!
|
||||
You tumble down the side of the pyramid, and fall to your death!
|
||||
|
||||
SPLAT.
|
||||
|
||||
Ouch.
|
||||
~
|
||||
53 12 0 0 0 0
|
||||
|
|
@ -456,13 +445,11 @@ The crawlway gets a little larger to the north.
|
|||
S
|
||||
#5317
|
||||
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!
|
||||
|
||||
@
|
||||
You fall for what seems like an eternity, and smash into the stones below...
|
||||
|
||||
|
||||
|
||||
@
|
||||
Under The Hole
|
||||
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
|
||||
|
|
@ -482,7 +469,7 @@ The hole looks far too slippery to climb back up.
|
|||
E
|
||||
bones~
|
||||
The bones have whitened and cracked in the dry air, apparently the remains of
|
||||
adventurers, thieves, and creatures that did not survive the fall.
|
||||
adventurers, thieves, and creatures that did not survive the fall.
|
||||
~
|
||||
S
|
||||
#5318
|
||||
|
|
|
|||
|
|
@ -471,9 +471,8 @@ D0
|
|||
E
|
||||
sign~
|
||||
The sign reads:
|
||||
|
||||
@
|
||||
Closed for renovations
|
||||
|
||||
~
|
||||
S
|
||||
#5528
|
||||
|
|
@ -505,13 +504,12 @@ D3
|
|||
E
|
||||
note~
|
||||
The note reads:
|
||||
|
||||
@
|
||||
LIST : gives you a list of items for sale.
|
||||
VALUE : tells you how much an item is worth to Abdul
|
||||
SELL : sells an item to Abdul for a generous sum
|
||||
BUY : Abdul's FAVORITE command lets you have an item for his low,
|
||||
low price.
|
||||
|
||||
~
|
||||
S
|
||||
#5530
|
||||
|
|
@ -619,11 +617,10 @@ D0
|
|||
E
|
||||
note~
|
||||
The note simply reads:
|
||||
|
||||
@
|
||||
READ THE NOTE IN THE ARMOURY
|
||||
|
||||
@
|
||||
Igor.
|
||||
|
||||
~
|
||||
S
|
||||
#5537
|
||||
|
|
@ -875,9 +872,9 @@ D1
|
|||
E
|
||||
banner~
|
||||
=====================================================================
|
||||
|
||||
@
|
||||
H A P P Y B I R T H D A Y T O U S
|
||||
|
||||
@
|
||||
=====================================================================
|
||||
~
|
||||
S
|
||||
|
|
@ -1076,9 +1073,7 @@ D3
|
|||
E
|
||||
plaque~
|
||||
Engraved on the plaque are the following words:
|
||||
|
||||
The Holy Shrine of Allah
|
||||
|
||||
~
|
||||
S
|
||||
#5566
|
||||
|
|
@ -1282,7 +1277,6 @@ the walls of the palace from the building itself.
|
|||
E
|
||||
mirror~
|
||||
You see a the fighting image of some armor clad humanoid wielding a weapon.
|
||||
|
||||
~
|
||||
S
|
||||
#5577
|
||||
|
|
@ -1362,13 +1356,10 @@ D3
|
|||
E
|
||||
plaque door~
|
||||
The plaque on the door reads:
|
||||
|
||||
THE ART EXHIBIT
|
||||
of
|
||||
NEW THALOS
|
||||
|
||||
- the management is not responsible for lost items.
|
||||
|
||||
~
|
||||
S
|
||||
#5580
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#0
|
||||
Rumble~
|
||||
The Builder Academy Zone~
|
||||
0 99 1 2
|
||||
0 99 10 2
|
||||
D 0 89 4 2 (The Prison Cell Corridor)
|
||||
M 0 31 1 89 (the Commissar)
|
||||
G 1 68 99 -1 (the Commissar's key)
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
CircleMUD~
|
||||
God Simplex~
|
||||
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)
|
||||
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)
|
||||
O 0 1227 99 1293 (a staff bulletin board)
|
||||
R 0 1291 1226 -1 (a builder's bulletin board)
|
||||
|
|
|
|||
|
|
@ -2,6 +2,12 @@
|
|||
Rumble~
|
||||
Sanctus III~
|
||||
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)
|
||||
O 0 308 99 367 (a clay jug)
|
||||
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 194 3 314 (the mouse)
|
||||
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)
|
||||
E 1 31612 99 6 (a pair of reading glasses)
|
||||
M 0 100 3 309 (the young man)
|
||||
|
|
|
|||
|
|
@ -2222,19 +2222,7 @@ ACMD(do_commands)
|
|||
}
|
||||
|
||||
/* display commands list in a nice columnized format */
|
||||
column_list(buf + strlen(buf), sizeof(buf) - strlen(buf),
|
||||
/* 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);
|
||||
column_list(ch, 7, commands, no, FALSE);
|
||||
}
|
||||
|
||||
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";
|
||||
/* no one ever thought up these titles 21-30 */
|
||||
case LVL_IMMORT: return "the Immortal Assassin";
|
||||
case LVL_GOD: return "the Demi God of thieves";
|
||||
case LVL_GRGOD: return "the God of thieves and tradesmen";
|
||||
case LVL_GOD: return "the Demi God of Thieves";
|
||||
case LVL_GRGOD: return "the God of Thieves and Tradesmen";
|
||||
default: return "the Thief";
|
||||
}
|
||||
break;
|
||||
|
|
@ -1949,7 +1949,7 @@ const char *title_male(int chclass, int level)
|
|||
/* no one ever thought up these titles 21-30 */
|
||||
case LVL_IMMORT: return "the Immortal Warlord";
|
||||
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";
|
||||
}
|
||||
break;
|
||||
|
|
@ -2033,7 +2033,7 @@ const char *title_female(int chclass, int level)
|
|||
/* no one ever thought up these titles 21-30 */
|
||||
case LVL_IMMORT: return "the Immortal Priestess";
|
||||
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";
|
||||
}
|
||||
break;
|
||||
|
|
@ -2062,8 +2062,8 @@ const char *title_female(int chclass, int level)
|
|||
case 20: return "the Cut-Throat";
|
||||
/* no one ever thought up these titles 21-30 */
|
||||
case LVL_IMMORT: return "the Immortal Assassin";
|
||||
case LVL_GOD: return "the Demi Goddess of thieves";
|
||||
case LVL_GRGOD: return "the Goddess of thieves and tradesmen";
|
||||
case LVL_GOD: return "the Demi Goddess of Thieves";
|
||||
case LVL_GRGOD: return "the Goddess of Thieves and Tradesmen";
|
||||
default: return "the Thief";
|
||||
}
|
||||
break;
|
||||
|
|
@ -2093,7 +2093,7 @@ const char *title_female(int chclass, int level)
|
|||
/* no one ever thought up these titles 21-30 */
|
||||
case LVL_IMMORT: return "the Immortal Lady of War";
|
||||
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";
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
* @todo cpp_extern isn't needed here (or anywhere) as the extern reserved word
|
||||
* works correctly with C compilers (at least in my Experience)
|
||||
* 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 */
|
||||
/* (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))
|
||||
strcpy(str, "0");
|
||||
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));
|
||||
else
|
||||
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)
|
||||
{
|
||||
qst_rnum rnum;
|
||||
mob_rnum qmrnum;
|
||||
zone_rnum rznum = real_zone_by_thing(nqst->vnum);
|
||||
|
||||
/* 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);
|
||||
}
|
||||
qmrnum = real_mobile(QST_MASTER(rnum));
|
||||
/* Make sure we assign spec procs to the questmaster */
|
||||
if (QST_MASTER(rnum) != NOBODY && mob_index[QST_MASTER(rnum)].func &&
|
||||
mob_index[QST_MASTER(rnum)].func != questmaster)
|
||||
QST_FUNC(rnum) = mob_index[QST_MASTER(rnum)].func;
|
||||
if(QST_MASTER(rnum) != NOBODY)
|
||||
mob_index[QST_MASTER(rnum)].func = questmaster;
|
||||
if (qmrnum != NOBODY && mob_index[qmrnum].func &&
|
||||
mob_index[qmrnum].func != questmaster)
|
||||
QST_FUNC(rnum) = mob_index[qmrnum].func;
|
||||
if(qmrnum != NOBODY)
|
||||
mob_index[qmrnum].func = questmaster;
|
||||
|
||||
/* And make sure we save the updated quest information to disk */
|
||||
if (rznum != NOWHERE)
|
||||
|
|
@ -128,7 +130,7 @@ int delete_quest(qst_rnum rnum)
|
|||
{
|
||||
qst_rnum i;
|
||||
zone_rnum rznum;
|
||||
mob_rnum qm = QST_MASTER(rnum);
|
||||
mob_vnum qm = QST_MASTER(rnum);
|
||||
SPECIAL (*tempfunc);
|
||||
int quests_remaining = 0;
|
||||
|
||||
|
|
@ -235,7 +237,7 @@ int save_quests(zone_rnum zone_num)
|
|||
quest_done, STRING_TERMINATOR,
|
||||
quest_quit, STRING_TERMINATOR,
|
||||
QST_TYPE(rnum),
|
||||
QST_MASTER(rnum) == NOBODY ? -1 : mob_index[QST_MASTER(rnum)].vnum,
|
||||
QST_MASTER(rnum) == NOBODY ? -1 : QST_MASTER(rnum),
|
||||
quest_flags,
|
||||
QST_TARGET(rnum) == NOTHING ? -1 : QST_TARGET(rnum),
|
||||
QST_PREV(rnum) == NOTHING ? -1 : QST_PREV(rnum),
|
||||
|
|
|
|||
13
src/medit.c
13
src/medit.c
|
|
@ -340,10 +340,7 @@ static void medit_disp_mob_flags(struct descriptor_data *d)
|
|||
get_char_colors(d->character);
|
||||
clear_screen(d);
|
||||
|
||||
column_list(buf, sizeof(buf), 0, 0,
|
||||
2, action_bits, NUM_MOB_FLAGS, 0,
|
||||
"%s$2i%s) $20l", grn, nrm);
|
||||
write_to_output(d, "%s", buf);
|
||||
column_list(d->character, 2, action_bits, NUM_MOB_FLAGS, TRUE);
|
||||
|
||||
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) : ",
|
||||
|
|
@ -357,11 +354,9 @@ static void medit_disp_aff_flags(struct descriptor_data *d)
|
|||
|
||||
get_char_colors(d->character);
|
||||
clear_screen(d);
|
||||
|
||||
column_list(buf, sizeof(buf), 0, 0,
|
||||
2, affected_bits, NUM_AFF_FLAGS, 1,
|
||||
"%s$2i%s) $20l", grn, nrm);
|
||||
write_to_output(d, "%s", buf);
|
||||
|
||||
/* +1 since AFF_FLAGS don't start at 0. */
|
||||
column_list(d->character, 2, affected_bits + 1, NUM_AFF_FLAGS, TRUE);
|
||||
|
||||
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) : ",
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ void mobile_activity(void)
|
|||
}
|
||||
|
||||
/* 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;
|
||||
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))
|
||||
|
|
|
|||
|
|
@ -329,8 +329,8 @@ static void qedit_disp_menu(struct descriptor_data *d)
|
|||
quest_flags,
|
||||
quest_types[quest->type],
|
||||
quest->type == AQ_OBJ_RETURN ? buf2 : "",
|
||||
quest->qm == NOBODY ? -1 : mob_index[quest->qm].vnum,
|
||||
quest->qm == NOBODY ? "none" : mob_proto[quest->qm].player.short_descr,
|
||||
quest->qm == NOBODY ? -1 : quest->qm,
|
||||
real_mobile(quest->qm) == NOBODY ? "Invalid Mob" : mob_proto[(real_mobile(quest->qm))].player.short_descr,
|
||||
quest->target == NOBODY ? -1 : quest->target, targetname,
|
||||
quest->value[6],
|
||||
quest->value[0], quest->value[1],
|
||||
|
|
@ -605,7 +605,7 @@ void qedit_parse(struct descriptor_data *d, char *arg)
|
|||
break;
|
||||
case QEDIT_QUESTMASTER:
|
||||
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 : ");
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
int found=0;
|
||||
|
|
@ -166,7 +166,7 @@ void parse_quest(FILE *quest_f, int nr)
|
|||
exit(1);
|
||||
}
|
||||
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].target = (t[2] == -1) ? NOTHING : t[2];
|
||||
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)
|
||||
{
|
||||
qst_rnum rnum;
|
||||
mob_rnum mrnum;
|
||||
|
||||
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));
|
||||
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 &&
|
||||
mob_index[QST_MASTER(rnum)].func != questmaster)
|
||||
QST_FUNC(rnum) = mob_index[QST_MASTER(rnum)].func;
|
||||
mob_index[QST_MASTER(rnum)].func = questmaster;
|
||||
mob_index[(mrnum)].func != questmaster)
|
||||
QST_FUNC(rnum) = mob_index[(mrnum)].func;
|
||||
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)
|
||||
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),
|
||||
QST_MASTER(rnum) == NOBODY ? 0 : mob_index[QST_MASTER(rnum)].vnum);
|
||||
QST_MASTER(rnum) == NOBODY ? 0 : QST_MASTER(rnum));
|
||||
if (!counter)
|
||||
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++) {
|
||||
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",
|
||||
++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
|
||||
send_to_char(ch,
|
||||
"@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;
|
||||
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])
|
||||
{
|
||||
qst_rnum rnum;
|
||||
mob_rnum qmrnum;
|
||||
char buf[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");
|
||||
break;
|
||||
}
|
||||
qmrnum = real_mobile(QST_MASTER(rnum));
|
||||
send_to_char(ch,
|
||||
"VNum : [@y%5d@n], RNum: [@y%5d@n] -- Questmaster: [@y%5d@n] @y%s@n\r\n"
|
||||
"Name : @y%s@n\r\n"
|
||||
|
|
@ -769,7 +776,7 @@ SPECIAL(questmaster)
|
|||
|
||||
/* check that qm mob has quests assigned */
|
||||
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)
|
||||
return FALSE; /* No quests for this mob */
|
||||
else if (QST_FUNC(rnum) && (QST_FUNC(rnum) (ch, me, cmd, argument)))
|
||||
|
|
@ -784,7 +791,7 @@ SPECIAL(questmaster)
|
|||
switch (tp) {
|
||||
case SCMD_QUEST_LIST:
|
||||
if (!*arg2)
|
||||
quest_show(ch, GET_MOB_RNUM(qm));
|
||||
quest_show(ch, GET_MOB_VNUM(qm));
|
||||
else
|
||||
quest_list(ch, qm, arg2);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ struct aq_data {
|
|||
char *quit; /* Message displayed when quit quest */
|
||||
long flags; /* Flags (repeatable, etc */
|
||||
int type; /* Quest type */
|
||||
mob_rnum qm; /* questmaster offering quest */
|
||||
mob_vnum qm; /* questmaster offering quest */
|
||||
int target; /* Target value */
|
||||
obj_vnum prereq; /* Object required to undertake quest */
|
||||
int value[7]; /* Quest values */
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
* on an older version. You are supposed to compare this with the macro
|
||||
* TBAMUD_VERSION() in utils.h.
|
||||
* 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
|
||||
* it was when players rented, set the define below to 1 because
|
||||
|
|
|
|||
230
src/utils.c
230
src/utils.c
|
|
@ -16,6 +16,7 @@
|
|||
#include "utils.h"
|
||||
#include "db.h"
|
||||
#include "comm.h"
|
||||
#include "modify.h"
|
||||
#include "screen.h"
|
||||
#include "spells.h"
|
||||
#include "handler.h"
|
||||
|
|
@ -932,194 +933,65 @@ void char_from_furniture(struct char_data *ch)
|
|||
}
|
||||
|
||||
|
||||
/* Helper function for column_list. */
|
||||
void process_column_list_format(char **out_buffer, const char *format,
|
||||
int buf_left, int index_data, const char *item)
|
||||
{
|
||||
/* Initialize the index format with a % */
|
||||
char index_format[80] = {'%'};
|
||||
int i;
|
||||
/* column_list
|
||||
The list is output in a fixed format, and only the number of columns can be adjusted
|
||||
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)
|
||||
{
|
||||
int num_per_col, col_width,r,c,i, offset=0, len=0, temp_len, max_len=0;
|
||||
char buf[MAX_STRING_LENGTH];
|
||||
|
||||
/* Copy the format to the output buffer character by character. */
|
||||
while (*format && buf_left >= 2) {
|
||||
/* Ensure that the number of columns is in the range 1-10 */
|
||||
num_cols = MIN(MAX(num_cols,1), 10);
|
||||
|
||||
/* A '$' signifies a 'control-code'. */
|
||||
if (*format == '$') {
|
||||
++format;
|
||||
/* Work out the longest list item */
|
||||
for (i=0; i<list_length; i++)
|
||||
if (max_len < strlen(list[i]))
|
||||
max_len = strlen(list[i]);
|
||||
|
||||
/*
|
||||
* Begin by assuming the caller has supplied a number here
|
||||
* (something that looks like $3i). Then collect this number
|
||||
* 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';
|
||||
/* Calculate the width of each column */
|
||||
col_width = (GET_SCREEN_WIDTH(ch)) / num_cols;
|
||||
if (show_nums) col_width-=4;
|
||||
|
||||
/* There may not be enough space left for the index. */
|
||||
if (buf_left < 12)
|
||||
break;
|
||||
if (col_width < max_len)
|
||||
log("Warning: columns too narrow for correct output to %s in simple_column_list (utils.c)", GET_NAME(ch));
|
||||
|
||||
/*
|
||||
* Okay, output the current index using the index format
|
||||
* we already constructed above.
|
||||
*/
|
||||
else if (*format == 'i')
|
||||
*out_buffer += sprintf(*out_buffer, index_format, index_data);
|
||||
/* Calculate how many list items there should be per column */
|
||||
num_per_col = (list_length / num_cols) + ((list_length % num_cols) ? 1 : 0);
|
||||
|
||||
/*
|
||||
* Or output the current list item. Use part of the
|
||||
* index format collected above to decide how wide the
|
||||
* list item should be displayed.
|
||||
*/
|
||||
else if (*format == 'l') {
|
||||
/* skip the %. atoi ignores the d too */
|
||||
i = atoi(index_format + 1);
|
||||
/* if no width, set to -1 (any width) */
|
||||
if (!i) --i;
|
||||
/* Fill 'buf' with the columnised list */
|
||||
for (r=0; r<num_per_col; r++)
|
||||
{
|
||||
for (c=0; c<num_cols; c++)
|
||||
{
|
||||
offset = (c*num_per_col)+r;
|
||||
if (offset < list_length)
|
||||
{
|
||||
if (show_nums)
|
||||
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 */
|
||||
while (*item && buf_left >= 2 && i != 0) {
|
||||
*((*out_buffer)++) = *(item++);
|
||||
--buf_left;
|
||||
--i;
|
||||
}
|
||||
if (len >= sizeof(buf))
|
||||
snprintf((buf + MAX_STRING_LENGTH) - 22, 22, "\r\n*** OVERFLOW ***\r\n");
|
||||
|
||||
/* if width was specified above, pad the list item */
|
||||
while (i-- > 0 && buf_left >= 2) {
|
||||
*((*out_buffer)++) = ' ';
|
||||
--buf_left;
|
||||
}
|
||||
}
|
||||
/* Send the list to the player */
|
||||
page_string(ch->desc, buf, TRUE);
|
||||
}
|
||||
|
||||
/* 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.
|
||||
|
|
|
|||
|
|
@ -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 *mud_time_passed(time_t t2, time_t t1);
|
||||
void prune_crlf(char *txt);
|
||||
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,
|
||||
...) __attribute__ ((format (printf, 9, 10)));
|
||||
void column_list(struct char_data *ch, int num_cols, const char **list, int list_length, bool show_nums);
|
||||
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_tail( FILE *file, char *buf, size_t bufsize, int lines_to_read );
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue