mirror of
https://github.com/tbamud/tbamud.git
synced 2026-01-29 12:26:10 +01:00
This just converts the few DOS text files still in here to standard text files (line-endings), removes all the trailing spaces on lines, removes all the trailing blank lines, and replaces all the tabs (except in .zon files, where they seem to be common) with expanded spaces. It's easy to confirm this is actually a non-change, except for whitespace: * `git show -w` shows this commit as only removing 8 trailing blank lines. This should make no difference to tbaMUD itself, but it will make working on these files, especially with scripts and automated tools, much easier. This is the base change for a set of other changes I will put up once/if this merges, without this, the others are just too complicated to wrangle.
691 lines
21 KiB
Text
691 lines
21 KiB
Text
#21100
|
|
Test~
|
|
0 g 100
|
|
~
|
|
%echo% This trigger commandlist is not complete!
|
|
~
|
|
#21101
|
|
Load Cards~
|
|
0 d 100
|
|
*~
|
|
set zone 211
|
|
set start %self.room.vnum%
|
|
eval room %self.room.vnum% + 1
|
|
switch %speech.car%
|
|
case shuffle
|
|
if %self.varexists(Cards_Dealt)%
|
|
%echo% @n The voice is in your mind again.
|
|
%echo% @c 'I'm sorry, the cards seem to be already laid out.'@n
|
|
halt
|
|
else
|
|
set deck 78
|
|
set layout 10
|
|
global deck
|
|
global layout
|
|
set var %zone%01
|
|
emote shuffles the cards.
|
|
%echo% @n %self.name% seems to speak directly to your mind.
|
|
%echo% @c 'Keep shuffling until you feel the deck understands your question.@n
|
|
%echo% @c When you're ready, say DEAL.'@n
|
|
set Deck_Shuffled 1
|
|
global Deck_Shuffled
|
|
while %var% < %zone%79
|
|
set %var% 1
|
|
remote %var% %self.id%
|
|
eval var %var% + 1
|
|
done
|
|
halt
|
|
end
|
|
end
|
|
case deal
|
|
if !%self.varexists(Deck_Shuffled)%
|
|
%echo% @n The voice is in your mind again.
|
|
%echo% @c 'The cards don't seem to understand your question yet. Have you @n
|
|
%echo% @c SHUFFLEd?'@n
|
|
halt
|
|
elseif %self.varexists(Cards_Dealt)%
|
|
%echo% @n The voice is in your mind again.@n
|
|
%echo% @c 'I'm sorry, the cards seem to be already laid out.'@n
|
|
halt
|
|
else
|
|
emote starts to lay out the cards.
|
|
%echo% @n The voice seems to surround you now.
|
|
%echo% @c 'When you're ready, please go up to start your reading. Once you@n
|
|
%echo% @c start, you won't be able to come back. Of course, you can always@n
|
|
%echo% @c come back for another reading.@n
|
|
wait 2 sec
|
|
%echo% @c At each room, LOOK CARD to see the meaning. Reverse means@n
|
|
%echo% @c that the card laid out upsidedown which changes the meaning.@n
|
|
%echo% @c Don't worry about it. The card will show the reversed meaning.@n
|
|
%echo% @c The room name will explain what the placement of the card means.'@n
|
|
wait 1 sec
|
|
%door% %self.room.vnum% up flags a
|
|
emote opens the door to the stairway.
|
|
while %layout%
|
|
set zonebase %zone%00
|
|
eval card %random.78% + %zonebase%
|
|
eval temp %%self.varexists(%card%)%%
|
|
eval hascard %temp%
|
|
if %hascard%
|
|
mgoto %room%
|
|
set rand %random.2%
|
|
if %rand% == 1
|
|
%load% obj %zone%99
|
|
end
|
|
%load% obj %card%
|
|
mgoto %start%
|
|
rdelete %card% %self.id%
|
|
eval deck %deck% - 1
|
|
eval layout %layout% - 1
|
|
eval room %room% + 1
|
|
global deck
|
|
global layout
|
|
set Cards_Dealt 1
|
|
global Cards_Dealt
|
|
else
|
|
end
|
|
done
|
|
halt
|
|
break
|
|
default
|
|
break
|
|
end
|
|
~
|
|
#21102
|
|
Look Card~
|
|
2 c 100
|
|
*~
|
|
* Parnassus' Special Anti-Freeze Formula
|
|
if %cmd.mudcommand% == nohassle
|
|
return 0
|
|
halt
|
|
end
|
|
*
|
|
set zone 211
|
|
if %self.vnum% > %zone%10 && %self.vnum% < %zone%24
|
|
* if %self.vnum% > %zone%00 && %self.vnum% < %zone%24
|
|
set cmdroom %zone%20
|
|
elseif %self.vnum% > %zone%30 && %self.vnum% < %zone%44
|
|
set cmdroom %zone%40
|
|
elseif %self.vnum% > %zone%45 && %self.vnum% < %zone%64
|
|
set cmdroom %zone%60
|
|
else
|
|
return 0
|
|
halt
|
|
end
|
|
if %cmd.mudcommand% == look || %cmd.mudcommand% == examine
|
|
* Look Trigger Written by Fizban - June 06 2013
|
|
* This trigger changes the meaning of the card for reverse.
|
|
* If there is no argument, just look.
|
|
if !%arg%
|
|
return 0
|
|
halt
|
|
else
|
|
* Check for the reverser. If it is in the room, give
|
|
* one meaning. If it is not, give the other.
|
|
eval rev %%findobj.%self.vnum%(%zone%99)%%
|
|
* The ~ anchors the comparison to the front of the word.
|
|
* rd /= card but ~rd is not a part of ~card while ~c is.
|
|
set arg ~%arg%
|
|
if ~reverse /= %arg%
|
|
if %rev% < 1
|
|
%send% %actor% You do not see that here.
|
|
halt
|
|
else
|
|
%send% %actor% The card is upside down.
|
|
halt
|
|
end
|
|
end
|
|
if ~card /= %arg%
|
|
if %rev% < 1
|
|
%force% %actor% look card
|
|
else
|
|
%force% %actor% look reverse
|
|
end
|
|
else
|
|
return 0
|
|
end
|
|
end
|
|
elseif %cmd.mudcommand% == quit || %cmd.mudcommand% == afk
|
|
%send% %actor% Because you have decided to %cmd.mudcommand%, you cannot finish the reading.
|
|
%echoaround% %actor% %actor.name% has to leave the reading now.
|
|
wait 1 sec
|
|
%send% %actor% You are magically sent to the end of the reading.
|
|
%echoaround% %actor% %actor.name% is whisked away in a puff of smoke.
|
|
wait 1 sec
|
|
%teleport% %actor% %cmdroom%
|
|
wait 1 sec
|
|
%at% %cmdroom% %force% %actor% down
|
|
wait 1 sec
|
|
%at% %actor% %force% %actor% %cmd% %arg%
|
|
wait 1 sec
|
|
halt
|
|
elseif %cmd% == return || %cmd% == recall || %cmd% == teleport || %cmd.mudcommand% == goto
|
|
%send% %actor% Because you have decided to %cmd%, you cannot finish the reading.
|
|
%echoaround% %actor% %actor.name% has to leave the reading now.
|
|
wait 1 sec
|
|
%send% %actor% You are magically sent to the end of the reading.
|
|
%echoaround% %actor% %actor.name% is whisked away in a puff of smoke.
|
|
wait 1 sec
|
|
%teleport% %actor% %cmdroom%
|
|
wait 1 sec
|
|
%at% %cmdroom% %force% %actor% down
|
|
wait 1 sec
|
|
%at% %actor% %force% %actor% %cmd% %arg%
|
|
wait 1 sec
|
|
halt
|
|
else
|
|
return 0
|
|
end
|
|
~
|
|
#21103
|
|
Clear the Cards - r21120, r21140, r21160~
|
|
2 q 100
|
|
~
|
|
* Clears cards from the reading and reader marker
|
|
* when player finishes the reading.
|
|
if %direction% == down
|
|
wait 2 sec
|
|
%purge%
|
|
set room %self.vnum%
|
|
eval purgeroom %room% - 10
|
|
%door% %purgeroom% up flags abcd
|
|
eval purgeroom %purgeroom% + 1
|
|
while %purgeroom% < %self.vnum%
|
|
%at% %purgeroom% %purge%
|
|
eval purgeroom %purgeroom% + 1
|
|
done
|
|
eval purgeroom %purgeroom% + 5
|
|
%at% %purgeroom% %purge%
|
|
end
|
|
~
|
|
#21104
|
|
Reset the Fortuneteller~
|
|
0 q 100
|
|
~
|
|
* Clears the fortune-teller for the next player.
|
|
* Closes the doors coming back to make it easier to see the path while
|
|
* keeping the possibility of checking past cards.
|
|
if %direction% == up
|
|
* set deck 78
|
|
set layout 10
|
|
* global deck
|
|
global layout
|
|
rdelete Deck_Shuffled %self.id%
|
|
rdelete Cards_Dealt %self.id%
|
|
rdelete tarot_reading_started %self.id%
|
|
if %self.room.vnum% == 21110 || %self.room.vnum% == 21130 || %self.room.vnum% == 21150
|
|
* %door% %self.room.vnum% up flags abc
|
|
eval cardroom %self.room.vnum% + 2
|
|
%door% %cardroom% down flags ab
|
|
eval cardroom %cardroom% + 1
|
|
%door% %cardroom% north flags ab
|
|
eval cardroom %cardroom% + 1
|
|
%door% %cardroom% south flags ab
|
|
eval cardroom %cardroom% + 1
|
|
%door% %cardroom% west flags ab
|
|
eval cardroom %cardroom% + 1
|
|
%door% %cardroom% north flags ab
|
|
eval cardroom %cardroom% + 1
|
|
%door% %cardroom% west flags ab
|
|
eval cardroom %cardroom% + 1
|
|
%door% %cardroom% south flags ab
|
|
eval cardroom %cardroom% + 1
|
|
%door% %cardroom% south flags ab
|
|
eval cardroom %cardroom% + 1
|
|
%door% %cardroom% south flags ab
|
|
eval cardroom %cardroom% + 1
|
|
%door% %cardroom% east flags ab
|
|
eval cardroom %cardroom% + 1
|
|
%door% %cardroom% south flags ab
|
|
eval cardroom %cardroom% + 1
|
|
%door% %cardroom% west flags ab
|
|
eval cardroom %cardroom% + 1
|
|
%door% %cardroom% north flags ab
|
|
end
|
|
end
|
|
~
|
|
#21105
|
|
Dealer Greets~
|
|
0 h 100
|
|
~
|
|
wait 2 sec
|
|
%echo% @n The voice of %self.name% seems to fill your head.
|
|
%echo% @c 'Ahh, you have something on your mind? Let us see what the@n
|
|
%echo% @c cards have to say. Unfortunately, you cannot hold or shuffle@n
|
|
%echo% @c my cards, but concentrate on your question and say shuffle.@n
|
|
%echo% @c When you feel that the cards know your question, say deal and@n
|
|
%echo% @c I shall lay out the cards for you to examine.@n
|
|
wait 3 sec
|
|
%echo% @c Usually I would interpret the cards for you, but that is@n
|
|
%echo% @c forbidden me in this space and time. All I am allowed is to@n
|
|
%echo% @c show you the cards and you must decide their meanings in your@n
|
|
%echo% @c own mind. Move from card to card. Each space and each card@n
|
|
%echo% @c will explain itself to you. 'LOOK CARD' in each room to see@n
|
|
%echo% @c the explanation. These are very simplified meanings so they@n
|
|
%echo% @c are very general.@n
|
|
wait 3 sec
|
|
%echo% @c Remember, this is just a game and should not be taken@n
|
|
%echo% @c seriously any more than you would run your life by newspaper@n
|
|
%echo% @c horoscopes or slips of paper from fortune-cookies.@n
|
|
wait 2 sec
|
|
%echo% @c When you're ready, start by saying SHUFFLE.'@n
|
|
~
|
|
#21106
|
|
Receptionist juggles appointments - M21104~
|
|
0 d 100
|
|
*~
|
|
set zone 211
|
|
* set findobj 0
|
|
* Checks for available readers
|
|
* Kicks out people that are afk, etc
|
|
if %self.room.vnum% != %zone%02
|
|
emote looks around in confusion.
|
|
say I'm sorry. I have to get to my office.
|
|
emote leaves.
|
|
eval findmob %%findmob.%zone%02(%self.vnum%)%%
|
|
if %findmob% > 0
|
|
%purge% %self%
|
|
else
|
|
mgoto %zone%02
|
|
halt
|
|
end
|
|
end
|
|
if %actor% == %self%
|
|
halt
|
|
end
|
|
* This loop goes through the entire string of words the actor says. .car is the
|
|
* word and .cdr is the remaining string.
|
|
eval word %speech.car%
|
|
eval rest %speech.cdr%
|
|
while %word%
|
|
* %echo% Word: %word%
|
|
* %echo% rest: %rest%
|
|
switch %word%
|
|
* Appointment starts the conversation.
|
|
* Objxxx98 keeps trigger from reacting to other conversations.
|
|
* if %actor.is_pc% &&
|
|
case appointment
|
|
* Check to see if someone is already trying to get an appointment.
|
|
if %self.has_item(%zone%98)% && !%actor.varexists(Making_Tarot_Appointment_%zone%)%
|
|
say I'm sorry, %actor.name%. I'm speaking with someone else right now.
|
|
halt
|
|
end
|
|
if !%self.has_item(%zone%98)%
|
|
%load% o %zone%98
|
|
set Making_Tarot_Appointment_%zone% 1
|
|
remote Making_Tarot_Appointment_%zone% %actor.id%
|
|
say Let me just see if any of our consultants have an opening.
|
|
say Say restart at any time to leave or start over.
|
|
%echo% She consults an appointment book.
|
|
wait 2 seconds
|
|
set available 0
|
|
set readerno 0
|
|
set unreaderno 0
|
|
eval temp %%findobj.%zone%25(card)%%
|
|
eval findobjsibyl %temp%
|
|
if %findobjsibyl% < 1
|
|
eval available %available% + 1
|
|
eval readerno %readerno% + 1
|
|
set reader%readerno% Sibyl
|
|
else
|
|
eval unreaderno %unreaderno% + 1
|
|
set unreader%unreaderno% Sibyl
|
|
end
|
|
eval temp %%findobj.%zone%45(card)%%
|
|
eval findobjesmerelda %temp%
|
|
if %findobjesmerelda% < 1
|
|
eval available %available% + 1
|
|
eval readerno %readerno% + 1
|
|
set reader%readerno% Esmerelda
|
|
else
|
|
eval unreaderno %unreaderno% + 1
|
|
set unreader%unreaderno% Esmerelda
|
|
end
|
|
eval temp %%findobj.%zone%65(card)%%
|
|
eval findobjjaelle %temp%
|
|
if %findobjjaelle% < 1
|
|
eval available %available% + 1
|
|
eval readerno %readerno% + 1
|
|
set reader%readerno% Jaelle
|
|
else
|
|
eval unreaderno %unreaderno% + 1
|
|
set unreader%unreaderno% Jaelle
|
|
end
|
|
if %available% == 0
|
|
say Sorry, Sibyl, Esmerelda and Jaelle all seem to be with clients right now.
|
|
say Please try again later.
|
|
rdelete Making_Tarot_Appointment_%zone% %actor.id%
|
|
halt
|
|
end
|
|
if %available% == 1
|
|
say %unreader1% and %unreader2% are with clients but %reader1% is available.
|
|
say Say %reader1% if you want to see her.
|
|
set Choosing_Tarot_Reader_%zone% 1
|
|
remote Choosing_Tarot_Reader_%zone% %actor.id%
|
|
halt
|
|
end
|
|
if %available% == 2
|
|
say %unreader1% is with a client but %reader1% and %reader2% are available.
|
|
say Say %reader1% or %reader2% to see her.
|
|
set Choosing_Tarot_Reader_%zone% 1
|
|
remote Choosing_Tarot_Reader_%zone% %actor.id%
|
|
halt
|
|
end
|
|
if %available% == 3
|
|
say %reader1%, %reader2% and %reader3% are all available right now.
|
|
say Say %reader1%, %reader2% or %reader3% to see her.
|
|
set Choosing_Tarot_Reader_%zone% 1
|
|
remote Choosing_Tarot_Reader_%zone% %actor.id%
|
|
halt
|
|
end
|
|
end
|
|
break
|
|
case Sibyl
|
|
if %actor.varexists(Choosing_Tarot_Reader_%zone%)%
|
|
eval findobj %%findobj.%zone%25(card)%%
|
|
if %findobj% < 1
|
|
say Sibyl is ready to see you now.
|
|
%door% %zone%02 north flags a
|
|
wait 1 sec
|
|
%force% %actor% north
|
|
%door% %zone%02 north flags abc
|
|
rdelete Making_Tarot_Appointment_%zone% %actor.id%
|
|
rdelete Choosing_Tarot_Reader_%zone% %actor.id%
|
|
mgoto %zone%99
|
|
%purge% quill
|
|
mgoto %zone%25
|
|
%load% obj %zone%49
|
|
mgoto %zone%02
|
|
else
|
|
Say I'm sorry. Sibyl is with another client right now.
|
|
say Please choose one of the available readers.
|
|
end
|
|
end
|
|
break
|
|
case Esmerelda
|
|
if %actor.varexists(Choosing_Tarot_Reader_%zone%)%
|
|
eval findobj %%findobj.%zone%45(card)%%
|
|
if %findobj% < 1
|
|
say Esmerelda is ready to see you now.
|
|
%door% %zone%02 west flags a
|
|
wait 1 sec
|
|
%force% %actor% w
|
|
%door% %zone%02 west flags abc
|
|
rdelete Making_Tarot_Appointment_%zone% %actor.id%
|
|
rdelete Choosing_Tarot_Reader_%zone% %actor.id%
|
|
mgoto %zone%99
|
|
%purge% quill
|
|
mgoto %zone%45
|
|
%load% obj %zone%52
|
|
mgoto %zone%02
|
|
else
|
|
Say I'm sorry. Esmerelda is with another client right now.
|
|
say Please choose one of the available readers.
|
|
end
|
|
end
|
|
break
|
|
case Jaelle
|
|
if %actor.varexists(Choosing_Tarot_Reader_%zone%)%
|
|
eval findobj %%findobj.%zone%65(card)%%
|
|
if %findobj% < 1
|
|
say Jaelle is ready to see you now.
|
|
%door% %zone%02 east flags a
|
|
wait 1 sec
|
|
%force% %actor% e
|
|
%door% %zone%02 east flags abc
|
|
rdelete Making_Tarot_Appointment_%zone% %actor.id%
|
|
rdelete Choosing_Tarot_Reader_%zone% %actor.id%
|
|
mgoto %zone%99
|
|
%purge% quill
|
|
mgoto %zone%65
|
|
%load% obj %zone%50
|
|
mgoto %zone%02
|
|
else
|
|
Say I'm sorry. Jaelle is with another client right now.
|
|
say Please choose one of the available readers.
|
|
end
|
|
end
|
|
break
|
|
case Restart
|
|
if %actor.varexists(Making_Tarot_Appointment_%zone%)%
|
|
rdelete Making_Tarot_Appointment_%zone% %actor.id%
|
|
rdelete Choosing_Tarot_Reader_%zone% %actor.id%
|
|
mgoto %zone%99
|
|
%purge% quill
|
|
mgoto %zone%02
|
|
emote puts down the appointment book.
|
|
end
|
|
break
|
|
default
|
|
break
|
|
done
|
|
* End of the loop we need to take the next word in the string
|
|
* and save the remainder for the next pass.
|
|
eval word %rest.car%
|
|
eval rest %rest.cdr%
|
|
done
|
|
~
|
|
#21107
|
|
Tarot Receptionist greets - M21104~
|
|
0 h 100
|
|
*~
|
|
if %direction% == south
|
|
welcome %actor.name%
|
|
%send% %actor% Ana says, 'Would you like to make an appointment with one of our readers?'
|
|
%send% %actor% Ana says, 'Before we start, make sure you have enough time to finish your reading.'
|
|
%send% %actor% Ana says, 'Please do not go afk or leave the game before you finish the reading.'
|
|
%send% %actor% Ana says, 'If you are sure, just say appointment.'
|
|
else if %direction% == up
|
|
smile %actor.name%
|
|
%send% %actor% Ana says, 'I hope you enjoyed your reading. Please, come again soon.'
|
|
%send% %actor% Ana says, 'Of course, if you want another appointment now, say appointment.'
|
|
end
|
|
~
|
|
#21108
|
|
Leaving Tarot~
|
|
0 c 100
|
|
*~
|
|
* For mobs to clear reading from players blocking by starting and leaving.
|
|
* Should be adjusted to your muds commands.
|
|
* Parnassus' Special Anti-Freeze Formula
|
|
if %cmd.mudcommand% == nohassle
|
|
return 0
|
|
halt
|
|
end
|
|
*
|
|
set zone 211
|
|
if %cmd.mudcommand% == quit || %cmd.mudcommand% == afk
|
|
if %self.vnum% == %zone%04 && %actor.varexists(Making_Tarot_Appointment_%zone%)%
|
|
say I'm sorry but I won't be able to give you an appointment right now.
|
|
say Please come back when you have more time available.
|
|
rdelete Making_Tarot_Appointment_%zone% %actor.id%
|
|
rdelete Choosing_Tarot_Reader_%zone% %actor.id%
|
|
mgoto %zone%99
|
|
%purge% quill
|
|
mgoto %zone%02
|
|
wait 1 sec
|
|
emote puts down the appointment book.
|
|
wait 1 sec
|
|
%force% %actor% %cmd.mudcommand%
|
|
wait 1 sec
|
|
halt
|
|
elseif %self.vnum% == %zone%01 || %self.vnum% == %zone%02 || %self.vnum% == %zone%03
|
|
set office %self.room.vnum%
|
|
eval endroom %office% + 10
|
|
%echo% @n %self.name%'s voice sounds reproachfully in your head.
|
|
%echo% @c 'You don't seem to have time for this right now.@n
|
|
%echo% @c Please come back when you have more time.'@n
|
|
wait 1 sec
|
|
%echo% %self.name% waves her hand and you find yourself outside.
|
|
wait 1 sec
|
|
%teleport% %actor% %zone%01
|
|
mgoto %endroom%
|
|
down
|
|
mgoto %office%
|
|
wait 1 sec
|
|
%force% %actor% look
|
|
%force% %actor% %cmd.mudcommand%
|
|
rdelete Deck_Shuffled %self.id%
|
|
rdelete Cards_Dealt %self.id%
|
|
rdelete tarot_reading_started %self.id%
|
|
halt
|
|
else
|
|
return 0
|
|
halt
|
|
end
|
|
elseif %cmd% == return || %cmd% == recall || %cmd% == teleport || %cmd.mudcommand% == goto
|
|
if %self.vnum% == %zone%04 && %actor.varexists(Making_Tarot_Appointment_%zone%)%
|
|
say I'm sorry but I won't be able to give you an appointment right now.
|
|
say Please come back when you have more time available.
|
|
rdelete Making_Tarot_Appointment_%zone% %actor.id%
|
|
rdelete Choosing_Tarot_Reader_%zone% %actor.id%
|
|
mgoto %zone%99
|
|
%purge% quill
|
|
mgoto %zone%02
|
|
%send% %actor% @n
|
|
emote puts down the appointment book.
|
|
%send% %actor% @n
|
|
return 0
|
|
halt
|
|
elseif %self.vnum% == %zone%01 || %self.vnum% == %zone%02 || %self.vnum% == %zone%03
|
|
set office %self.room.vnum%
|
|
eval endroom %office% + 10
|
|
%echo% @n %self.name%'s voice sounds reproachfully in your head.
|
|
%echo% @c 'You don't seem to have time for this right now.@n
|
|
%echo% @c Please come back when you have more time.'@n
|
|
%send% %actor% @n
|
|
%teleport% %actor% %zone%01
|
|
return 0
|
|
%send% %actor% @n
|
|
mgoto %endroom%
|
|
down
|
|
mgoto %office%
|
|
rdelete Deck_Shuffled %self.id%
|
|
rdelete Cards_Dealt %self.id%
|
|
rdelete tarot_reading_started %self.id%
|
|
halt
|
|
else
|
|
return 0
|
|
halt
|
|
end
|
|
elseif %cmd.mudcommand% == south
|
|
if %self.vnum% == %zone%04 && %actor.varexists(Making_Tarot_Appointment_%zone%)%
|
|
say I'm sorry but I won't be able to give you an appointment right now.
|
|
say Please come back when you have more time available.
|
|
rdelete Making_Tarot_Appointment_%zone% %actor.id%
|
|
rdelete Choosing_Tarot_Reader_%zone% %actor.id%
|
|
mgoto %zone%99
|
|
%purge% quill
|
|
mgoto %zone%02
|
|
wait 1 sec
|
|
emote puts down the appointment book.
|
|
wait 1 sec
|
|
%force% %actor% %cmd%
|
|
halt
|
|
else
|
|
return 0
|
|
halt
|
|
end
|
|
else
|
|
return 0
|
|
end
|
|
~
|
|
#21109
|
|
Timer for obj 21198~
|
|
1 f 100
|
|
~
|
|
* Timer on obj 21198 is set to 10 minutes. This is adjustable.
|
|
* Since 21198 stops any appointments while talking to one person
|
|
* this keeps any person from blocking the zone until reboot.
|
|
set zone 211
|
|
set actor %self.carried_by%
|
|
if %actor.vnum% == %zone%04
|
|
%echo% %actor.name% says, 'I've been waiting too long for this appointment.'
|
|
%echo% %actor.name% puts down the appointment book.
|
|
%purge% %self%
|
|
else
|
|
set actor %self.carried_by.name%
|
|
%force% %actor% say I seem to have stolen someone's pen.
|
|
%echoaround% %actor% The nib of the pen pokes %actor%.
|
|
%send% %actor% The nib of the pen pokes you.
|
|
%damage% %actor% 5
|
|
%echoaround% %actor% %actor.name% shakes %actor.hisher% hand in pain and drops a pen which rolls away.
|
|
%send% %actor% You drop a pen which rolls away somewhere.
|
|
%purge% %self%
|
|
end
|
|
~
|
|
#21110
|
|
Reload glass and bread - obj 21180 and 21182~
|
|
1 c 100
|
|
*~
|
|
* This trigger is to keep the waiting room supplied with food and drink.
|
|
* Because of the auto-regenerative qualities, it also cancels out any
|
|
* sac benefits to prevent spam-saccing for gold or exp.
|
|
* Parnassus' Special Anti-Freeze Formula
|
|
if %cmd.mudcommand% == nohassle
|
|
return 0
|
|
halt
|
|
end
|
|
*
|
|
set zone 211
|
|
if get == %cmd.mudcommand% || sacrifice == %cmd.mudcommand%
|
|
if %self.room.vnum% == %zone%02
|
|
set testernumber 2
|
|
else
|
|
set testernumber 1
|
|
end
|
|
set arg _%arg%
|
|
eval inroom %self.room%
|
|
eval obj %inroom.contents%
|
|
* find the first object in the room
|
|
while %obj%
|
|
set next_obj %obj.next_in_list%
|
|
set objlist %obj.name%
|
|
set keywordlist _%obj.name.car%
|
|
set keywordrest _%obj.name.cdr%
|
|
while %keywordlist%
|
|
* while an object is in the room
|
|
if %keywordlist.contains(%arg%)%
|
|
if %obj.id% == %self.id%
|
|
if get == %cmd.mudcommand%
|
|
%force% %actor% %cmd.mudcommand% %obj.name.car%
|
|
elseif sacrifice == %cmd.mudcommand%
|
|
%send% %actor% You carefully dispose of %obj.shortdesc%.
|
|
%echoaround% %actor% %actor.name% carefully disposes of %obj.shortdesc%.
|
|
set me %self.vnum%
|
|
eval temp %%findobj.%zone%02(%me%)%%
|
|
eval tester %temp%
|
|
if %self.room.vnum% == %zone%02
|
|
set testernumber 2
|
|
else
|
|
set testernumber 1
|
|
end
|
|
if %tester% < %testernumber%
|
|
%at% %zone%02 %load% obj %self.vnum%
|
|
end
|
|
%purge% %self%
|
|
end
|
|
set me %self.vnum%
|
|
eval temp %%findobj.%zone%02(%me%)%%
|
|
eval tester %temp%
|
|
if %tester% < %testernumber%
|
|
%at% %zone%02 %load% obj %self.vnum%
|
|
end
|
|
halt
|
|
end
|
|
end
|
|
set keywordlist %keywordrest.car%
|
|
set keywordrest %keywordrest.cdr%
|
|
done
|
|
* find the next object for the while to loop
|
|
set obj %next_obj%
|
|
done
|
|
return 0
|
|
halt
|
|
else
|
|
return 0
|
|
halt
|
|
end
|
|
~
|
|
$~
|