Updated World and files for 3.52 release --Rumble

This commit is contained in:
Rumble
2007-04-20 14:41:58 +00:00
parent d0db332492
commit 3282b8fdc9
32 changed files with 11407 additions and 11232 deletions

View File

@@ -5,7 +5,7 @@ Non-attachable trigger~
* You can't attach trigger 0!
~
#1
Mob Tutorial Example Quest Offer - 14~
Mob Tutorial Example Quest Offer - M14~
0 g 100
~
* we don't want him to tell this to mobs. Check if actor is a player.
@@ -93,85 +93,98 @@ else
end
~
#6
Obj Command Magic Eight Ball - 47~
1 c 100
Obj Command Magic Eight Ball - O47~
1 c 2
shake~
* Numeric Arg: 2 means in character's carried inventory
* does not work for level 32 and above.
* By Rumble of The Builder Academy builderacademy.net 9091
* Numeric Arg: 2 means in character's carried inventory.
* Command trigs do not work for level 32 and above.
* There are 20 possible answers that the Magic Eight Ball can give.
* Of these, nine are full positive, two are full negative, one is
* mostly positive, three are mostly negative, and five are abstentions.
*
* Check arguments if they match. /= checks abbreviations.
if ball /= %arg% || eightball /= %arg%
%echoaround% %actor% %actor.name% shakes the magic eight ball vigorously.
%send% %actor% You shake the magic eight ball vigorously.
* Echo text to everyone else in the room and the actor.
%echoaround% %actor% %actor.name% shakes %self.shortdesc% vigorously.
%send% %actor% You shake %self.shortdesc% vigorously.
* Use a switch to choose a random response (1-20).
switch %random.20%
* Send the answer! %self% is the 8ball, or whatever the trig is attached to.
* Only the actor sees the answer.
* Case is what we are trying to match. Does %random.20% == 1?
case 1
%send% %actor% The magic eight ball reveals the answer: Outlook Good
%send% %actor% %self.shortdesc% reveals the answer: Outlook Good
* We are done with this case so check the next one.
break
case 2
%send% %actor% The magic eight ball reveals the answer: Outlook Not So Good
%send% %actor% %self.shortdesc% reveals the answer: Outlook Not So Good
break
case 3
%send% %actor% The magic eight ball reveals the answer: My Reply Is No
%send% %actor% %self.shortdesc% reveals the answer: My Reply Is No
break
case 4
%send% %actor% The magic eight ball reveals the answer: Don't Count On It
%send% %actor% %self.shortdesc% reveals the answer: Don't Count On It
break
case 5
%send% %actor% The magic eight ball reveals the answer: You May Rely On It
%send% %actor% %self.shortdesc% reveals the answer: You May Rely On It
break
case 6
%send% %actor% The magic eight ball reveals the answer: Ask Again Later
%send% %actor% %self.shortdesc% reveals the answer: Ask Again Later
break
case 7
%send% %actor% The magic eight ball reveals the answer: Most Likely
%send% %actor% %self.shortdesc% reveals the answer: Most Likely
break
case 8
%send% %actor% The magic eight ball reveals the answer: Cannot Predict Now
%send% %actor% %self.shortdesc% reveals the answer: Cannot Predict Now
break
case 9
%send% %actor% The magic eight ball reveals the answer: Yes
%send% %actor% %self.shortdesc% reveals the answer: Yes
break
case 10
%send% %actor% The magic eight ball reveals the answer: Yes, definitely
%send% %actor% %self.shortdesc% reveals the answer: Yes, definitely
break
case 11
%send% %actor% The magic eight ball reveals the answer: Better Not Tell You Now
%send% %actor% %self.shortdesc% reveals the answer: Better Not Tell You Now
break
case 12
%send% %actor% The magic eight ball reveals the answer: It Is Certain
%send% %actor% %self.shortdesc% reveals the answer: It Is Certain
break
case 13
%send% %actor% The magic eight ball reveals the answer: Very Doubtful
%send% %actor% %self.shortdesc% reveals the answer: Very Doubtful
break
case 14
%send% %actor% The magic eight ball reveals the answer: It Is Decidedly So
%send% %actor% %self.shortdesc% reveals the answer: It Is Decidedly So
break
case 15
%send% %actor% The magic eight ball reveals the answer: Concentrate And Ask Again
%send% %actor% %self.shortdesc% reveals the answer: Concentrate And Ask Again
break
case 16
%send% %actor% The magic eight ball reveals the answer: Signs Point To Yes
%send% %actor% %self.shortdesc% reveals the answer: Signs Point To Yes
break
case 17
%send% %actor% The magic eight ball reveals the answer: My Sources Say No
%send% %actor% %self.shortdesc% reveals the answer: My Sources Say No
break
case 18
%send% %actor% The magic eight ball reveals the answer: Without A Doubt
%send% %actor% %self.shortdesc% reveals the answer: Without A Doubt
break
case 19
%send% %actor% The magic eight ball reveals the answer: Reply Hazy, Try Again
%send% %actor% %self.shortdesc% reveals the answer: Reply Hazy, Try Again
break
case 20
%send% %actor% The magic eight ball reveals the answer: As I See It, Yes
%send% %actor% %self.shortdesc% reveals the answer: As I See It, Yes
break
* Every switch should have a default. A catch-all if the cases do not match.
default
%send% %actor% The magic eight ball explodes since your question is unanswerable.
%send% %actor% %self.shortdesc% explodes since your question is unanswerable.
break
* Every switch must have a done! Just like every if needs an end!
done
* The actor didn't use the command shake with arg ball or eightball.
else
%send% %actor% shake What?
* Return 0 allows the command to continue through to the MUD. The player will
* get the Huh!?! response or the shake social if you have one.
return 0
end
~
#7
@@ -495,34 +508,63 @@ end
* end
~
#23
Object While Damage Example~
While Damage Example - Grenade O1301~
1 h 100
~
* By Rumble
* A script to make a bomb go off 3 seconds after it is dropped.
* By Rumble of The Builder Academy builderacademy.net 9091
* A small script to make a grenade go off 3 seconds after it is dropped.
* Set the rooms ID to a variable.
set room_var %actor.room%
* Wait, then send a message when the bomb goes off.
wait 3 s
* Send a message when the bomb goes off.
%echo% The Grenade blasts into smithereens, striking everyone here.
* Target the first char
* Target the first char.
set target_char %room_var.people%
* Do stuff
* Now loop through everyone in the room and hurt them.
while %target_char%
%send% %actor% People: %target_char.name%
%send% %actor% Next_in_room: %self.next_in_room%
* Set the next target before this one perhaps dies.
set tmp_target %target_char.next_in_room%
* This is where the good/bad things are supposed to happen.
%send% %target_char% The explosion hurts you.
* Damage them... 30 hitpoints. To heal use -#.
%damage% %target_char% 30
* Set the next target.
set target_char %tmp_target%
* Loop back.
done
* After we go through everyone get rid of the grenade.
%purge% %self%
* By Rumble of The Builder Academy builderacademy.net 9091
* A small script to make a grenade go off 3 seconds after it is dropped.
* Set the rooms ID to a variable.
set room_var %actor.room%
wait 3 s
* Send a message when the bomb goes off.
%echo% The Grenade blasts into smithereens, striking everyone here.
* Target the first char.
set target_char %room_var.people%
* Now loop through everyone in the room and hurt them.
while %target_char%
* Set the next target before this one perhaps dies.
set tmp_target %target_char.next_in_room%
* This is where the good/bad things are supposed to happen.
%send% %target_char% The explosion hurts you.
* Damage them... 30 hitpoints. To heal use -#.
%damage% %target_char% 30
* Find next target
* Set the next target.
set target_char %tmp_target%
* Loop back
* Loop back.
done
* After we go through everyone get rid of the grenade.
%purge% %self%
~
#24
Room While Teleport Example~
2 b 100
~
* By Rumble
* By Rumble of The Builder Academy builderacademy.net 9091
* Target the first person or mob in the room.
eval person %self.people%
wait 1 sec
@@ -1196,14 +1238,14 @@ Container with Personal Key~
*~
* By Jamie Nelson from the forum http://groups.yahoo.com/group/dg_scripts/
* Container script for use with no key
if %actor.is_pc%
if !%actor.is_pc%
return 0
halt
end
*
switch %cmd%
case codeset
if %actor.name% != test
if %actor.name% != rumble
%send% %actor% I am sorry %actor.name%, only Rumble can set the code.
halt
end
@@ -1424,87 +1466,25 @@ else
end
~
#49
free~
1 c 2
shake~
* By Rumble
* Numeric Arg: 2 means in character's carried inventory
* does not work for level 32 and above.
* There are 20 possible answers that the Magic Eight Ball can give.
* Of these, nine are full positive, two are full negative, one is
* mostly positive, three are mostly negative, and five are abstentions.
Eval and Set Example~
2 d 100
test~
* By Rumble of The Builder Academy builderacademy.net 9091
* This is a speech trig @RHELP TRIGEDIT ROOM SPEECH@n, say 'test' to activate.
* There is much confusion about the difference between set and eval. So this is
* the simplest way I can think of to explain it (assume %actor.level% = 34):
*
if %arg% /= ball || %arg% /= eightball
%echoaround% %actor.name% %actor.name% shakes the magic eight ball vigorously.
%send% %actor% You shake the magic eight ball vigorously.
switch %random.20%
case 1
%send% %actor% The magic eight ball reveals the answer: Outlook Good
break
case 2
%send% %actor% The magic eight ball reveals the answer: Outlook Not So Good
break
case 3
%send% %actor% The magic eight ball reveals the answer: My Reply Is No
break
case 4
%send% %actor% The magic eight ball reveals the answer: Don't Count On It
break
case 5
%send% %actor% The magic eight ball reveals the answer: You May Rely On It
break
case 6
%send% %actor% The magic eight ball reveals the answer: Ask Again Later
break
case 7
%send% %actor% The magic eight ball reveals the answer: Most Likely
break
case 8
%send% %actor% The magic eight ball reveals the answer: Cannot Predict Now
break
case 9
%send% %actor% The magic eight ball reveals the answer: Yes
break
case 10
%send% %actor% The magic eight ball reveals the answer: Yes Definately
break
case 11
%send% %actor% The magic eight ball reveals the answer: Better Not Tell You Now
break
case 12
%send% %actor% The magic eight ball reveals the answer: It Is Certain
break
case 13
%send% %actor% The magic eight ball reveals the answer: Very Doubtful
break
case 14
%send% %actor% The magic eight ball reveals the answer: It Is Decidedly So
break
case 15
%send% %actor% The magic eight ball reveals the answer: Concentrate And Ask Again
break
case 16
%send% %actor% The magic eight ball reveals the answer: Signs Point To Yes
break
case 17
%send% %actor% The magic eight ball reveals the answer: My Sources Say No
break
case 18
%send% %actor% The magic eight ball reveals the answer: Without A Doubt
break
case 19
%send% %actor% The magic eight ball reveals the answer: Reply Hazy, Try Again
break
case 20
%send% %actor% The magic eight ball reveals the answer: As I See It, Yes
break
default
%send% %actor% The magic eight ball explodes since your question is unanswerable.
break
done
else
%send% %actor% shake What?
end
* Set stores the variable and will not process it until called.
* In the example below %set_variable% will contain '34 + 1'
set set_variable %actor.level% + 1
%echo% Set Variable: %set_variable%
*
* Eval immediately evaluates the variable.
* In the example below %eval_variable% will contain '35'
eval eval_variable %actor.level% + 1
%echo% Eval Variable: %eval_variable%
*
%echo% Level: %actor.level%
~
#50
Room Global Random Example~
@@ -1533,16 +1513,8 @@ Room Random Example~
* Fires only when a player is in the room.
* Actor is not defined with random, so lets define it.
set actor %random.char%
%damage% %actor% -100
%damage% %actor% -10
%echo% A healing breeze flows through the room.
* Example by Snowlock
* %echo% The pungent fumes burn your lungs!
* set target_char %self.people%
* while %target_char%
* set tmp_target %target_char.next_in_room%
* %damage% %target_char% 3
* set target_char %tmp_target%
* done
~
#52
Room Command Example~
@@ -2107,8 +2079,6 @@ eval thing %self.name.car%
%echo% IT, YOU, HE/SHE: &%thing%
%echo% IT, YOU, HIM/HER: *%thing%
%echo% ITS, YOUR' HIS/HER: ^%thing%
* object only
%echo% SOMETHING, NAME '%thing%
~
#92
Room Command Combination Lock~

View File

@@ -443,6 +443,10 @@ end
Mob Act - 156 speaker greet~
0 e 0
has entered the game.~
* By Rumble of The Builder Academy builderacademy.net 9091
* Num Arg 0 means the argument has to match exactly. So trig will only fire off:
* "has entered game." and not "has" or "entered" etc. (that would be num arg 1).
* Figure out what vnum the mob is in so we can use zoneecho.
eval inroom %self.room%
%zoneecho% %inroom.vnum% %self.name% shouts, 'Welcome, %actor.name%!'
~
@@ -598,42 +602,58 @@ end
Thief Guildguard - 177~
0 q 100
~
* Check the direction the player must go to enter the guild.
* By Rumble of The Builder Academy builderacademy.net 9091
* This replaces stock guildguard spcial procedure that stops non-class members.
if %direction% == up
* Let the guildmaster pass to pawn players items. T137.
if %actor.vnum% == 122
halt
end
* Stop them if they are not the appropriate class.
if %actor.class% != thief
return 0
%send% %actor% The guard humiliates you, and blocks your way.
%echoaround% %actor% The guard humiliates %actor.name%, and blocks %actor.hisher% way.
* Just send the block message to players.
if %actor.is_pc%
%send% %actor% The guard humiliates you, and blocks your way.
%echoaround% %actor% The guard humiliates %actor.name%, and blocks %actor.hisher% way.
end
end
end
~
#137
Thief Guildmaster Steal - 122~
0 b 5
Thief Guildmaster Steals - M122~
0 b 100
~
* By Rumble of The Builder Academy builderacademy.net 9091
* Idea taken from cheesymud.com
* Thief guildmaster steals from actor inventory and pawns it in the shop
* downstairs, player then has to buy their equipment back.
* Thief guildmaster steals from players who idle in his guild. Then pawns the
* item in the shop downstairs so player has to buy their equipment back :-P
* Random trigs have no actors so pick one and make sure it is a player.
set actor %random.char%
if %actor%
if %actor.is_pc%
* Pick the first item in the actors inventory.
eval item %actor.inventory%
* I'll be nice and not steal containers or mail.
if %item.type% == CONTAINER || %item.vnum% <= 1
halt
end
* If they have an item let the master thief steal it.
eval item_to_steal %%actor.inventory(%item.vnum%)%%
if %item_to_steal%
* Give some hints that the guildmaster is not to be trusted.
%echo% %self.name% examines %item.shortdesc%.
wait 2 sec
* Purge the actors object and load it to the master thief.
eval stolen %item_to_steal.vnum%
eval name %item_to_steal.name%
%load% obj %stolen%
%purge% %item_to_steal%
wait 2 sec
* Lets go sell it to Morgan using its first keyword.
down
sell %name.car%
wait 2 sec
whisper morgan hehe, silly mortals.
wink Morgan
wait 2 sec
up
else
@@ -645,17 +665,16 @@ end
Questmaster Greet - 3~
0 g 100
~
if %actor.is_pc%
if !%actor.varexists(questpoints)%
set questpoints 0
remote questpoints %actor.id%
elsif %actor.questpoints% < 50
wait 2 sec
if !%actor.varexists(on_quest_zone_1)%
say Welcome %actor.name%, are you interested in a simple quest?
else
say How is your quest going %actor.name%, do you have a quest token or the quest mobs head for me?
end
* By Rumble of The Builder Academy builderacademy.net 9091
* Part of a timed quest to kill a mob or find an object. Trigs 138-144.
* Simple quests, probably too simple so only let players earn 50 qp's doing this.
if %actor.is_pc% && %actor.questpoints% < 50
wait 2 sec
* Check to see if they are not on a zone 1 quest.
if !%actor.varexists(on_quest_zone_1)%
say Welcome %actor.name%, are you interested in a simple quest?
else
say How is your quest going %actor.name%, do you have a quest token or the quest mobs head for me?
end
end
~
@@ -663,21 +682,29 @@ end
Questmaster Quest Assignment - 3~
0 d 1
*~
* Don't let them do more than one quest at a time or complete more than 50.
* By Rumble of The Builder Academy builderacademy.net 9091
* Part of a timed quest to kill a mob or find an object. Trigs 138-144.
* Don't let them do more than one quest at a time or earn more than 50 qp.
if %actor.varexists(on_quest_zone_1)% || %actor.questpoints% > 50
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%
* Check to see if the word is yes or an abbreviation of yes.
if yes /= %word%
say Very well %actor.name%. Would you like to find an object or hunt a mobile?
halt
end
eval loadroom 100 + %random.265%
* Pick a room from 100 to 365.
eval loadroom 99 + %random.265%
if mobile /= %word% || hunt /= %word%
* Load the mob in the random room picked above.
%at% %loadroom% %load% m 15
say Go kill the quest mob and bring me its head %actor.name%. You only have 10 minutes!
* Load an object on the player that counts down from 10 minutes.
%load% obj 16 %actor% inv
%send% %actor% Gives you the quest timer.
%echoaround% %actor% %self.name% gives %actor.name% the quest timer.
@@ -687,7 +714,7 @@ while %word%
elseif object /= %word% || find /= %word%
say Go find the quest token and return it to me. You only have 10 minutes %actor.name%!
%load% o 15
%at% %loadroom% drop quest
%at% %loadroom% drop quest_token_zone_1
%load% obj 16 %actor% inv
%send% %actor% Gives you the quest timer.
%echoaround% %actor% %self.name% gives %actor.name% the quest timer.
@@ -695,6 +722,8 @@ while %word%
remote on_quest_zone_1 %actor.id%
halt
end
* 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
@@ -703,9 +732,13 @@ done
Quest Timer - 16~
1 c 7
l~
* By Rumble of The Builder Academy builderacademy.net 9091
* Part of a timed quest to kill a mob or find an object. Trigs 138-144.
* Let a player see how much time they have left.
if %cmd.mudcommand% == look && timer /= %arg%
return 0
%send% %actor% You have %self.timer% minutes remaining.
* Let the look timer command still go through so they look at it.
return 0
else
return 0
end
@@ -714,60 +747,75 @@ end
Quest 10 min Purge - 15, 16, 17~
1 f 100
~
* Attached to quest objects 15-17. Purges itself 10 minutes after loading if player does not
* finish the quest. Part of a quest from room 113.
* By Rumble of The Builder Academy builderacademy.net 9091
* Part of a timed quest to kill a mob or find an object. Trigs 138-144.
* Attached to quest objects 15-17. Purges itself 10 minutes after loading if
* player does not finish the quest.
* Make sure timer is being carried by a player.
if %self.carried_by%
set actor %self.carried_by%
if %actor.is_pc%
%send% %actor% Your quest time has run out. Try again.
* Delete the on quest variable so they can try again.
rdelete on_quest_zone_1 %actor.id%
end
end
* Purge the timer.
%purge% %self%
~
#142
Quest Timer Random - 16~
1 b 10
~
* By Rumble of The Builder Academy builderacademy.net 9091
* Part of a timed quest to kill a mob or find an object. Trigs 138-144.
* If timer is being carried by a player, warn them every 2 minutes.
if %self.carried_by%
set actor %self.carried_by%
%send% %actor% You have %self.timer% minutes remaining.
if %actor.is_pc%
%send% %actor% You have %self.timer% minutes remaining.
end
end
~
#143
Questmaster Receive - 3~
0 j 100
~
* By Rumble of The Builder Academy builderacademy.net 9091
* Part of a timed quest to kill a mob or find an object. Trigs 138-144.
* Check if they are on the quest.
if !%actor.varexists(on_quest_zone_1)%
say You are not even on a quest %actor.name%.
* Stop the trig and prevent the item from being given to the mob.
halt
end
*
wait 1 sec
* If they have the head or the token.
if %object.vnum% == 15 || %object.vnum% == 17
say Well done, %actor.name%.
* Give them 50 gold and experience. Delete the on quest variable and purge.
nop %actor.exp(50)%
nop %actor.gold(50)%
rdelete on_quest_zone_1 %actor.id%
%purge% %object%
if %actor.varexists(questpoints)%
eval questpoints %actor.questpoints% + 1
remote questpoints %actor.id%
else
set questpoints 1
remote questpoints %actor.id%
end
say you have earned 50 gold, 50, experience points and 1 questpoint.
* Reward them with 1 questpoint. Cheap I know but these quests are not hard.
nop %actor.questpoints(1)%
say you have earned 50 gold, 50 xp, 1 questpoint %actor.name%.
else
say I don't want that!
%purge% %object%
* Don't accept the object to prevent overloading the mob with junk.
return 0.
end
~
#144
Quest Mob Loads Head - 15~
0 n 100
~
*This is a load instead of a death trig because I want the head to purge 10 minutes after loading.
* By Rumble of The Builder Academy builderacademy.net 9091
* Part of a timed quest to kill a mob or find an object. Trigs 138-144.
* This is a load instead of a death trig because I want the head to purge 10
* minutes after loading.
%load% obj 17
~
#145
@@ -1185,6 +1233,9 @@ done
Mob Questshop Example~
0 c 100
*~
* By Rumble of The Builder Academy builderacademy.net 9091
* A questshop that uses questpoints!
* Command triggers do not work for level 32 and above.
if %cmd.mudcommand% == list
*
%send% %actor% ## Available Item Cost in Questpoints
@@ -1194,10 +1245,6 @@ if %cmd.mudcommand% == list
%send% %actor% 3) Unlimited the staff of spellfire 100
*
elseif %cmd.mudcommand% == buy
if !%actor.varexists(questpoints)%
tell %actor.name% You have no questpoints!
halt
end
if War /= %arg% || Blood /= %arg% || %arg% == 1
set quest_item 21
set quest_item_cost 100
@@ -1217,8 +1264,7 @@ elseif %cmd.mudcommand% == buy
else
%load% obj %quest_item% %actor% inv
tell %actor.name% here you go.
eval questpoints %actor.questpoints% - %quest_item_cost%
remote questpoints %actor.id%
nop %actor.questpoints(-%quest_item_cost%)
end
elseif %cmd.mudcommand% == sell
tell %actor.name% I don't want anything you have.
@@ -1518,7 +1564,7 @@ set text[47] When Chuck Norris exercises, the machine gets stronger.
set text[48] Chuck Norris is allowed to talk about Fight Club.
set text[49] The only thing we have to fear is fear itself... The only thing fear has to fear is Chuck Norris.
set text[50] Chuck Norris clogs the toilet even when he pisses.
set text[51] A blind man once stepped on Chuck Norris' shoe. Chuck replied, "Don't you know who I am? I'm Chuck Norris!" The mere mention of his name cured this man blindness. Sadly the first, last, and only thing this man ever saw, was a fatal roundhouse delivered by Chuck Norris.
set text[51] A blind man once stepped on Chuck Norris' shoe. Chuck replied, "Don't you know who I am? I'm Chuck Norris!" The mere mention of his name cured the mans blindness. Sadly the first, last, and only thing this man ever saw, was a fatal roundhouse delivered by Chuck Norris.
set text[52] The most effective form of suicide known to man is to type "Chuck Norris" into Google and hit "I'm Feeling Lucky!".
set text[53] Chuck Norris never gets brain freeze. Slurpees know when to back off.
set text[54] Chuck Norris got in touch with his feminine side, and promptly got her pregnant.
@@ -1874,7 +1920,7 @@ set txt[4] At its best, citizenship finds an equilibrium between two essential i
set txt[5] Ariel and Will Durant said it best, "Freedom and equality are sworn enemies, when one prevails the other dies."
set txt[6] As a people we have become soft. Stress isn't a bad thing. It is actually good for you, particularly the kind that comes from physical exercise.
set txt[7] The Durants also said, "What determines whether the challenge of history will or will not be met depends upon the presence or absence of creative individuals with a clarity of mind and energy of will, capable of effective responses to new situations.
set txt[8] once on learns to accomodate the shocks of a stressful existence, his adrenalin, will power, and imagination are going to start churning to provide the maximum performance of the human mind.
set txt[8] once one learns to accomodate the shocks of a stressful existence, his adrenalin, will power, and imagination are going to start churning to provide the maximum performance of the human mind.
set txt[9] would a good soldier fighting a tough battle stop to say to himself how unhappy he is?
set txt[10] Remember Herman Melville? " In time of peril, like the needle to the lodestone, obedience, irrespective of rank, generally flies to him who is best fitted to command.
set txt[11] There is no evidence that the way of the World assures the punishment of evil or the reward of virtue.

View File

@@ -1,11 +1,64 @@
#1200
General trigger keeper. Only for use in room 0.~
2 a 100
~
* No Script
Calculator By Mordecai~
2 d 100
*~
* By Mordecai
if %actor.is_pc%
Return 0
Eval sum %speech%
Eval test1 "%speech%"
Eval test %test1.strlen%
Eval che %sum%/1
If %che% == %sum%
%echo% @WComputing results...@n
if (%speech%/===)
if (%sum%==1)
set sum Yes
elseif (%sum%==0)
set sum No
end
end
Eval st 2+%test%
Eval o .
Eval sumslen "%sum%
Eval len %st% - (%sumslen.strlen%-2)
If %len% > 0
Eval dif (%len%/2)
While %y.strlen% < %st%
Eval o .%o%
Eval y %o%
Eval m ?%m%
Eval p %m%
If %dif% == %y.strlen%
Eval wid1 %p%
end
done
end
eval opt1 8 + %test%
eval opt2 (2*%wid1.strlen%)+%sumslen.strlen%+5
%echo% @WWizzzzzzzzzz....@n
if (%opt1%-2) == (%opt2%)
%echo% @c...%y%...@n
%echo% @c:@C..%y%..@c:@n
%echo% @c:@C:@G %speech% @C :@c:@n
%echo% @c:@C:.%y%.:@c:@n
%echo% @c:@C: %wid1%@G %sum% @C%wid1% :@c:@n
%echo% @c:@C:.%y%.:@c:@n
%echo% @c:..%y%..:@n
else
%echo% @r....%y%...@n
%echo% @r:@R...%y%..@r:@n
%echo% @r:@R:@G %speech% @R :@r:@n
%echo% @r:@R:..%y%.:@r:@n
%echo% @r:@R: %wid1%@G %sum% @R%wid1% :@r:@n
%echo% @r:@R:..%y%.:@r:@n
%echo% @r:...%y%..:@n
end
end
end
~
#1201
No recall~
No Recall~
1 c 100
recall~
*This trigger prevents people from recalling.
@@ -21,23 +74,20 @@ wait 10
if %actor.level% < 34
%send% %actor% The sword whispers: I will not serve you!
wait 2
%echoaround% %actor% The sword exclaims: 'I will not serve those without honour.'
%echoaround% %actor% The sword exclaims: 'I will not serve those without honor.'
%damage% %actor% 100
%purge% self
else
%send% %actor% The sword whispers: I was made to serve, great one!
wait 2
%echoaround% %actor% The sword exclaims: 'I will serve you honourable one..'
%echoaround% %actor% The sword exclaims: 'I will serve you honorable one..'
end
~
#1203
Health-Gain~
free~
2 c 100
chant~
if incantation /= %arg%
%send% %actor% Your eyes glow white and you start to chant some incantations.
%damage% %actor% -500
end
~
* No Script
~
#1204
Portal-Main Chamber~
@@ -298,7 +348,7 @@ end
#1218
Multiple Command Example Trig~
2 c 100
test~
t~
if %cmd% == test
* Careful not to use Arguments * or this trig will freeze you.
* evaluate the first arg
@@ -325,6 +375,41 @@ wait 1
%echoaround% Jennie kisses %actor% lovingly.
end
~
#1221
Test Trigger~
2 c 100
*~
set plr %self.people%
set plr2 0
*
while %plr%
set next %plr.next_in_room%
if %plr% != %actor% && %plr.is_pc%
if %plr2% == 0
set plr2 %plr%
end
%teleport% %plr% 0
end
set plr %next%
done
*
return 0
wait 1
*
while %plr2%
set next %plr2.next_in_room%
if %plr2.is_pc%
%teleport% %plr2% %self.vnum%
end
set plr2 %next%
done
~
#1222
new trigger~
1 b 100
~
* Unfinished
~
#1233
Rumble's Test Trigger~
2 q 100

View File

@@ -1475,109 +1475,38 @@ Obj Trigger Example, ice cream melting~
say
~
#1349
Obj Command Container with personal key~
free~
1 c 3
*~
* By Jamie Nelson
* Container script for use with no key
if !%actor.is_pc%
return 0
halt
end
*
switch %cmd%
case codeset
if %actor.name% != test
%send% %actor% I am sorry %actor.name%, only Rumble can set the code.
halt
end
if !%arg%
%send% %actor% You must supply a code.
halt
else
eval isnum ((%arg%*2)/2)
if %isnum%<=999
%send% %actor% You must supply a code that is a number. (more then 1)
%send% %actor% And for security reasons, greater then 4 digits.
halt
else
oset 3 %isnum%
%send% %actor% You set the code on %self.shortdesc% to %isnum%.
set fingerprint %isnum%
remote fingerprint %actor.id%
end
end
break
case recognise
%send% %actor% A laser scans your fingerprint.
if %arg%!=%self.val3%
%send% %actor% Access Denied.
halt
else
%send% %actor% Access Granted. Fingerprint Memorized.
set fingerprint %self.val3%
remote fingerprint %actor.id%
end
break
case fingerprint
if %arg%!=open
if %arg!=close
%send% %actor% You must type either:
%send% %actor% fingerprint open
%send% %actor% or
%send% %actor% fingerprint close
halt
else
set oc 2
end
else
set oc 1
end
%send% %actor% A laser scans your fingerprints.
if !%actor.varexists(fingerprint)%
%send% %actor% Access Denied.
halt
else
%send% %actor% Access Granted.
if %oc%==2
oset 1 15
%send% %actor% Closed and locked.
elseif %oc%==1
oset 1 0
%send% %actor% Unlocked and open.
else
%send% Broken.
end
end
break
default
return 0
break
done
* No Script
~
#1350
Obj Random While Example~
Drop While Example - Grenade 01301~
1 h 100
~
* a small script to make a bomb go off 3 seconds after it is dropped.
set room_var %actor.room%
* Send a message when the bomb goes off.
wait 3 s
%echo% The Grenade blasts into smithereens, striking everyone here.
* Target the first char
set target_char %room_var.people%
* Do stuff
while %target_char%
* Set the next target before this one perhaps dies.
set tmp_target %target_char.next_in_room%
* This is where the good/bad things are supposed to happen.
%send% %target_char% The explosion hurts you.
%damage% %target_char% 30
* Find next target
set target_char %tmp_target%
* Loop back
done
%purge% %self%
* By Rumble of The Builder Academy builderacademy.net 9091
* A small script to make a grenade go off 3 seconds after it is dropped.
* Set the rooms ID to a variable.
set room_var %actor.room%
wait 3 s
* Send a message when the bomb goes off.
%echo% The Grenade blasts into smithereens, striking everyone here.
* Target the first char.
set target_char %room_var.people%
* Now loop through everyone in the room and hurt them.
while %target_char%
* Set the next target before this one perhaps dies.
set tmp_target %target_char.next_in_room%
* This is where the good/bad things are supposed to happen.
%send% %target_char% The explosion hurts you.
* Damage them... 30 hitpoints. To heal use -#.
%damage% %target_char% 30
* Set the next target.
set target_char %tmp_target%
* Loop back.
done
* After we go through everyone get rid of the grenade.
%purge% %self%
~
#1351
free~
@@ -1891,8 +1820,7 @@ end
Trial Vnum Assigner - 1332~
1 c 2
*~
* player must have nohassle off!
* to disable this trig set <player> nohassle on and have them junk the assigner.
* Player must have nohassle off! To junk assigner use tbalim purge <player>.
if %actor.varexists(TBA_trial_vnum)% && %actor.level% == 31
if (%cmd.mudcommand% == redit && ((%arg% && %arg% != %actor.TBA_trial_vnum%) || (%actor.room.vnum% != %actor.TBA_trial_vnum%)))
%send% %actor% GOTO %actor.TBA_trial_vnum% to edit your room.
@@ -1902,24 +1830,14 @@ if %actor.varexists(TBA_trial_vnum)% && %actor.level% == 31
%send% %actor% Use MEDIT %actor.TBA_trial_vnum% to modify your mobile.
elseif (%cmd.mudcommand% == zedit && ((%arg% && %arg% != %actor.TBA_trial_vnum%) || (%actor.room.vnum% != %actor.TBA_trial_vnum%)))
%send% %actor% GOTO %actor.TBA_trial_vnum% to edit your trial vnums zone information.
elseif %cmd.mudcommand% == sedit && %arg% != %actor.TBA_trial_vnum%
%send% %actor% Making a shop is not required for your trial vnum.
elseif %cmd.mudcommand% == trigedit
%send% %actor% Making a trigger is not required for your trial vnum.
elseif %cmd.mudcommand% == nohassle
elseif %cmd.mudcommand% == purge && ((%arg% && %arg% != %actor.TBA_trial_vnum%) || (%actor.room.vnum% != %actor.TBA_trial_vnum%)))
%send% %actor% GOTO %actor.TBA_trial_vnum% to purge your room.
elseif %cmd.mudcommand% == nohassle || (%cmd.mudcommand% == toggle && nohassle /= %arg.car%)
%send% %actor% You cannot enable nohassle until you finish your trial vnum.
elseif %cmd.mudcommand% == buildwalk
%send% %actor% You should not use buildwalk in your trial vnum.
elseif %cmd.mudcommand% == dig
%send% %actor% You should not use dig in your trial vnum.
elseif %cmd.mudcommand% == rclone
%send% %actor% You should not use rclone in your trial vnum.
elseif %cmd.mudcommand% == attach
%send% %actor% You should not attach triggers in your trial vnum.
elseif %cmd.mudcommand% == vdelete
%send% %actor% You should not be using vdelete yet.
elseif %cmd.mudcommand% == sedit || %cmd.mudcommand% == trigedit || %cmd.mudcommand% == buildwalk || %cmd.mudcommand% == dig || %cmd.mudcommand% == rclone || %cmd.mudcommand% == attach || %cmd.mudcommand% == detach || %cmd.mudcommand% == vdelete
%send% %actor% Sedit, Trigedit, Buildwalk, Dig, Rclone, Attach, Detach, and Vdelete are not required for your trial vnum.
elseif %cmd.mudcommand% == zpurge
%send% %actor% Use PURGE to empty your trial vnum.
%send% %actor% Zpurge is not required for your trial vnum.
else
return 0
end
@@ -1929,7 +1847,7 @@ end
~
#1366
!DROP Assigner - 1332~
1 hi 100
1 his 100
~
if %actor.level% == 31
%send% %actor% You can't get rid of %self.shortdesc%.
@@ -2751,7 +2669,7 @@ push~
%send% %actor% red:%pushed_red% yellow:%pushed_yellow% green:%pushed_green% blue:%pushed_blue% purple:%pushed_purple%
~
#1387
Mob Greet Steal~
free~
2 g 100
~
eval item %actor.inventory%
@@ -3036,31 +2954,33 @@ wait until 24:00
say 24
~
#1398
1307 mob rabbit~
Random Rabbit Decapitates Mobs - M1307~
0 b 100
none~
* By Rumble of The Builder Academy builderacademy.net 9091
* This is for any Monty Python Fans.
* First figure out what room you are in.
eval room_var %self.room%
* Target the first character
* Target the first character.
set target %room_var.people%
* Make a loop so everyone in the room is targeted
* Make a loop so everyone in the room is targeted.
while %target%
* Create the next temp target the next person before the bunny kills them
* Create the next target before the bunny kills them.
set tmp_target %target.next_in_room%
* Don't let the bunny kill players or itself
* Don't let the bunny kill players or itself.
if ((%target.vnum% != -1) && (%target.name% != %self.name%))
* Do the deed with a little pause in between
* Do the deed with a little pause in between.
emote hops towards %target.name% and looks up innocently.
wait 2 sec
emote strikes with lightning speed, decapitating %target.name%.
* bye bye
* bye bye.
%purge% %target%
wait 5 sec
* end the if statement
* End the if statement.
end
* Target to the temp target you created above
* Target to the temp target you created above.
set target %tmp_target%
* Loop back to the next target.
done
* Remove the bunny, I don't want people leaving him lying in waiting.
%purge% %self%

View File

@@ -59,9 +59,77 @@ if %cmd.mudcommand% == cast && fireshield /= %arg%
end
~
#203
free~
2 bg 100
Phoenix Rising - 211~
0 f 100
~
* No Script
* You can't use waits in a mob death trig.
* Phoenix turns into ashes when it dies and is reborn 3 times.
* O219 is !TAKE and must always be in the room to count the deaths.
emote shrieks in pain and bursts into flames.
* Phoenix triggers 212 to count the deaths. Make it a unique command.
phoenix2
* Damage everyone in the room from the fire.
set room_var %self.room%
%echo% The phoenix is completely enveloped in flames and explodes, burning everyone in the room.
* Target the first char
set target_char %room_var.people%
* Loop through everyone in the room.
while %target_char%
* Set the next target before this one perhaps dies.
set tmp_target %target_char.next_in_room%
* Dish out the damage.
if %target_char.is_pc%
%send% %target_char% The fire burns you.
%damage% %target_char% 10
end
* Find next target
set target_char %tmp_target%
* Loop back
done
* Can't purge it (yet it is on the todo list) so teleport it to 0.
%teleport% %self% 0
* This prevents a death cry.
return 0
~
#204
Pirate Parott Pepeats - M212~
0 d 100
*~
* Parrot randomly repeats something said in the room.
* Pick the next number in the array and global it to be read next firing.
eval n %n%+1
global n
* Pick a random number from the array and global what was said to the mob.
eval r %%random.%n%%%
set speech[%n%] %speech%
global speech[%n%]
* Wait a little bit and then speak.
wait 1 sec
eval say %%speech[%r%]%%
eval say %say%
say %say%
~
#212
Phoenix Rising - 219~
1 c 4
phoenix2~
* Numeric Arg: 4 means obj has to be in the room.
* Does not work for level 32 and above.
* Add 1 to the total deaths
eval phoenix_deaths %phoenix_deaths% + 1
wait 3 sec
* Rebirth for only the first 3 times.
if %phoenix_deaths% <= 2
* It comes back!
%load% mob 211
%echo% A baby phoenix pokes its head out of the pile of ashes.
else
* Reward on the last kill!
%load% obj 184
eval phoenix_deaths 0
%echo% Something in the pile of ashes glimmers brightly.
end
* Remember the count for the next time this trig fires
global phoenix_deaths
~
$~

View File

@@ -1,46 +1,47 @@
#2200
Not Used~
0 h 100
~
if (%direction% == east)
wait 1
emote snaps to attention as you approach.
wait 1
say admittance to Eldorado is 1000000 coins
end
~
#2201
Not Used~
0 m 0
~
wait 1
unlock gate
open gate
wait 20 s
close gate
lock gate
~
#2202
fire damage~
2 g 100
~
%send% %actor% The hot flame and smoke burns you.
%echoaround% %actor% %actor.name% is burnt from the intense heat.
%damage% %actor% 10
~
#2203
moaning~
2 g 25
~
if %actor.is_pc%
%echo% The moaning and wailing of the undead unnerves you to the bone.
end
~
#2204
princess shout~
0 b 1
~
eval inroom %self.room%
%zoneecho% %inroom.vnum% %self.name% shouts, 'HELP!! Someone please rescue me!!'
~
$~
#2200
Not Used~
0 h 100
~
if (%direction% == east)
wait 1
emote snaps to attention as you approach.
wait 1
say admittance to Eldorado is 1000000 coins
end
~
#2201
Flame Damage - R2228~
2 b 50
~
%echo% The pungent fumes burn your lungs!
set target_char %self.people%
while %target_char%
set tmp_target %target_char.next_in_room%
%damage% %target_char% 3
set target_char %tmp_target%
done
~
#2202
Fire Damage - R2218-20~
2 g 100
~
%send% %actor% The hot flame and smoke burns you.
%echoaround% %actor% %actor.name% is burnt from the intense heat.
%damage% %actor% 10
~
#2203
Moaining - R2200-2~
2 g 25
~
if %actor.is_pc%
%echo% The moaning and wailing of the undead unnerves you to the bone.
end
~
#2204
Princess Shout for Help - M2229~
0 b 1
~
eval inroom %self.room%
%zoneecho% %inroom.vnum% %self.name% shouts, 'HELP!! Someone please rescue me!!'
~
$~

File diff suppressed because it is too large Load Diff

View File

@@ -1,97 +1,117 @@
#6300
Near Death Trap Mahatma - 6318~
0 g 100
~
* Near Death Trap stuns actor and takes all of their equipment.
wait 3 sec
say Here, have a quick trip to the Temple of Midgaard.
wait 2 sec
%send% %actor% Mahatma plunges a black dagger into your back and takes all your equipment.
%echoaround% %actor% Mahatma plunges a black dagger into %actor.name%'s back and takes all of %actor.hisher% equipment.
* damage the actor to 0 hitpoints so they lay there stunned, unable to move.
* they will recover.
eval stunned %actor.hitp%
%damage% %actor% %stunned%
* steal all their inventory.
while %actor.inventory%
eval item %actor.inventory%
eval item_to_purge %%actor.inventory(%item.vnum%)%%
eval stolen %item.vnum%
%purge% %item_to_purge%
%load% obj %stolen%
done
eval i 0
* steal all their equipped items.
while %i% < 18
eval item %%actor.eq(%i%)%%
if %item%
eval stolen %item.vnum%
eval item_to_purge %%actor.eq(%i%)%%
%purge% %item_to_purge%
%load% obj %stolen%
end
eval i %i%+1
done
~
#6301
Magic User - 6302, 6309, 6312, 6314, 6315~
0 k 10
~
switch %actor.level%
case 1
case 2
case 3
break
case 4
dg_cast 'magic missile' %actor%
break
case 5
dg_cast 'chill touch' %actor%
break
case 6
dg_cast 'burning hands' %actor%
break
case 7
case 8
dg_cast 'shocking grasp' %actor%
break
case 9
case 10
case 11
dg_cast 'lightning bolt' %actor%
break
case 12
dg_cast 'color spray' %actor%
break
case 13
dg_cast 'energy drain' %actor%
break
case 14
dg_cast 'curse' %actor%
break
case 15
dg_cast 'poison' %actor%
break
case 16
if %actor.align% > 0
dg_cast 'dispel good' %actor%
else
dg_cast 'dispel evil' %actor%
end
break
case 17
case 18
dg_cast 'call lightning' %actor%
break
case 19
case 20
case 21
case 22
dg_cast 'harm' %actor%
break
default
dg_cast 'fireball' %actor%
break
done
~
$~
#6300
Near Death Trap Mahatma - 6318~
0 g 100
~
* By Rumble of The Builder Academy builderacademy.net 9091
* Near Death Trap - Mahatma stuns actor and then takes all of their equipment.
wait 3 sec
say Here, have a quick trip to the Temple of Midgaard.
wait 2 sec
%send% %actor% Mahatma plunges a black dagger into your back and takes all your equipment.
%echoaround% %actor% Mahatma plunges a black dagger into %actor.name%'s back and takes all of %actor.hisher% equipment.
* Damage the actor to 0 hitpoints so they lay there stunned, unable to move.
* They will recover.
eval stunned %actor.hitp%
%damage% %actor% %stunned%
* steal all their inventory.
set i %actor.inventory%
while %i%
set pge 1
if %i.type% == container
if %i.contents%
set i %container.contents%
* Don't purge containers inside containers or mudmail.
if %i.type% == container || %i.vnum% <= 1
set pge 0
end
end
end
eval stolen %i.vnum%
set next %i.next_in_list%
if %pge%
%purge% %i%
end
* Don't steal mail.
if %stolen% > 1
%load% obj %stolen%
end
if !%next%
set i %actor.inventory%
else
set i %next%
end
done
eval i 0
* steal all their equipped items.
while %i% < 18
eval item %actor.eq(%i%)%
if %item%
eval stolen %item.vnum%
%purge% %item%
%load% obj %stolen%
end
eval i %i%+1
done
~
#6301
Magic User - 6302, 6309, 6312, 6314, 6315~
0 k 10
~
switch %actor.level%
case 1
case 2
case 3
break
case 4
dg_cast 'magic missile' %actor%
break
case 5
dg_cast 'chill touch' %actor%
break
case 6
dg_cast 'burning hands' %actor%
break
case 7
case 8
dg_cast 'shocking grasp' %actor%
break
case 9
case 10
case 11
dg_cast 'lightning bolt' %actor%
break
case 12
dg_cast 'color spray' %actor%
break
case 13
dg_cast 'energy drain' %actor%
break
case 14
dg_cast 'curse' %actor%
break
case 15
dg_cast 'poison' %actor%
break
case 16
if %actor.align% > 0
dg_cast 'dispel good' %actor%
else
dg_cast 'dispel evil' %actor%
end
break
case 17
case 18
dg_cast 'call lightning' %actor%
break
case 19
case 20
case 21
case 22
dg_cast 'harm' %actor%
break
default
dg_cast 'fireball' %actor%
break
done
~
$~

File diff suppressed because it is too large Load Diff