mirror of
https://github.com/tbamud/tbamud.git
synced 2026-03-01 23:11:45 +01:00
Updated World and files for 3.52 release --Rumble
This commit is contained in:
@@ -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~
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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%
|
||||
|
||||
@@ -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
|
||||
~
|
||||
$~
|
||||
|
||||
@@ -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
@@ -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
|
||||
~
|
||||
$~
|
||||
|
||||
1216
lib/world/trg/83.trg
1216
lib/world/trg/83.trg
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user